diff --git a/src-electron/zcl/zcl-loader-dotdot.js b/src-electron/zcl/zcl-loader-dotdot.js index ba92f645ec47741b02bfa90b942b4da805e0dd23..7e1d2b051515f52aa7e6f40e002234adec64e117 100644 --- a/src-electron/zcl/zcl-loader-dotdot.js +++ b/src-electron/zcl/zcl-loader-dotdot.js @@ -767,8 +767,13 @@ async function processDataType(db, filePath, packageId, data, dataType) { env.logError( 'Could not find the discriminator for the data type: ' + dataType ) - queryNotification.setNotification(db, "ERROR", - 'Could not find the discriminator for the data type: ' + dataType, packageId, 1) + queryNotification.setNotification( + db, + 'ERROR', + 'Could not find the discriminator for the data type: ' + dataType, + packageId, + 1 + ) } } @@ -1255,7 +1260,7 @@ async function loadIndividualDotDotFile(db, filePath) { * @param {*} ctx Context of loading. * @returns a Promise that resolves with the db. */ -async function loadDotdotZcl(db, metafile) { +async function loadToplevelXmlFile(db, metafile) { let ctx = { metadataFile: metafile, db: db, @@ -1287,7 +1292,7 @@ async function loadDotdotZcl(db, metafile) { await zclLoader.processZclPostLoading(db, ctx.packageId) } catch (err) { env.logError(err) - queryNotification.setNotification(db, "ERROR", err, ctx.packageId, 1) + queryNotification.setNotification(db, 'ERROR', err, ctx.packageId, 1) throw err } finally { await dbApi.dbCommit(db) @@ -1295,5 +1300,5 @@ async function loadDotdotZcl(db, metafile) { return ctx } -exports.loadDotdotZcl = loadDotdotZcl +exports.loadToplevelXmlFile = loadToplevelXmlFile exports.loadIndividualDotDotFile = loadIndividualDotDotFile diff --git a/src-electron/zcl/zcl-loader-new-data-model.js b/src-electron/zcl/zcl-loader-new-data-model.js new file mode 100644 index 0000000000000000000000000000000000000000..3409183a02742a4c8104af014f39fe40262bfcf6 --- /dev/null +++ b/src-electron/zcl/zcl-loader-new-data-model.js @@ -0,0 +1,129 @@ +/** + * + * Copyright (c) 2023 Silicon Labs + * + * 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. + */ +const util = require('../util/util') +const fs = require('fs') +const fsp = fs.promises +const types = require('../util/types') +const env = require('../util/env') +const queryLoader = require('../db/query-loader') + +/** + * Parses the new XML files. Returns an object containing + * loaded data: + * clusterIdsLoaded: array of cluster ids that were loaded + * + * @param {*} db + * @param {*} packageId + * @param {*} files + * @param {*} context + * @returns Promise that resolves when all the new XML data is loaded. + */ +async function parseNewXmlFiles(db, packageId, files, context) { + let ret = { + clusterIdsLoaded: [], + } + if (files == null || files.length == 0) { + return ret + } + let clusters = [] + for (let f of files) { + // First parse the XML file into a normalized object. + let cluster = await parseSingleNewXmlFile(f) + if (cluster == null) { + env.logWarning( + `Invalid XML file: ${f}, missing toplevel 'cluster' element.` + ) + } else { + clusters.push(cluster) + } + } + + // We collected the data back. Now we have to write it into the database. + await queryLoader.insertClusters(db, packageId, clusters) + + ret.clusterIdsLoaded.push(...clusters.map((cluster) => cluster.code)) + return ret +} + +function prepXmlFeature(f) { + let feature = {} + feature.bit = parseInt(f.$.bit) + feature.code = f.$.code + feature.name = f.$.name + feature.summary = f.$.summary + return feature +} +function prepXmlAttribute(a) { + let attribute = {} + attribute.id = types.hexStringToInt(a.$.id) + attribute.name = a.$.name + attribute.type = a.$.type + attribute.default = a.$.default + return attribute +} +function prepXmlCommand(c) { + let command = {} + command.id = types.hexStringToInt(c.$.id) + command.name = c.$.name + return command +} +function prepXmlEvent(e) { + let event = {} + event.id = types.hexStringToInt(e.$.id) + event.name = e.$.name + return event +} + +async function parseSingleNewXmlFile(f) { + let content = await fsp.readFile(f) + let xmlObject = await util.parseXml(content) + if (xmlObject.cluster == null) { + return null + } + + // Ok, now we need to parse the thing properly.... + let data = { features: [], attributes: [], commands: [], events: [] } + + data.code = types.hexStringToInt(xmlObject.cluster.$.id) + data.name = xmlObject.cluster.$.name + data.revision = xmlObject.cluster.$.revision + + if (xmlObject.cluster.features) { + for (let feature of xmlObject.cluster.features[0].feature) { + data.features.push(prepXmlFeature(feature)) + } + } + if (xmlObject.cluster.attributes) { + for (let attribute of xmlObject.cluster.attributes[0].attribute) { + data.attributes.push(prepXmlAttribute(attribute)) + } + } + if (xmlObject.cluster.commands) { + for (let command of xmlObject.cluster.commands[0].command) { + data.commands.push(prepXmlCommand(command)) + } + } + if (xmlObject.cluster.events) { + for (let event of xmlObject.cluster.events[0].event) { + data.events.push(prepXmlEvent(event)) + } + } + + return data +} + +exports.parseNewXmlFiles = parseNewXmlFiles diff --git a/src-electron/zcl/zcl-loader-silabs.js b/src-electron/zcl/zcl-loader-silabs.js index 08a6d148ea8b7b75a0f34251eb7a9030f39dc611..ec7bfdd05396c6d9e4dfed6e7a29c1dd0b474b82 100644 --- a/src-electron/zcl/zcl-loader-silabs.js +++ b/src-electron/zcl/zcl-loader-silabs.js @@ -32,6 +32,7 @@ const zclLoader = require('./zcl-loader') const _ = require('lodash') const querySessionNotification = require('../db/query-session-notification') const queryPackageNotification = require('../db/query-package-notification') +const newDataModel = require('./zcl-loader-new-data-model') /** * Promises to read the JSON file and resolve all the data. @@ -158,6 +159,15 @@ async function collectDataFromJsonFile(metadataFile, data) { automaticallyCreateFields: false, } } + + if ('newXmlFile' in obj) { + returnObject.newXmlFile = obj.newXmlFile.map((f) => + path.join(path.dirname(metadataFile), f) + ) + } else { + returnObject.newXmlFile = [] + } + env.logDebug( `Resolving: ${returnObject.zclFiles}, version: ${returnObject.version}` ) @@ -665,11 +675,26 @@ function prepareCluster(cluster, context, isExtension = false) { */ async function processClusters(db, filePath, packageId, data, context) { env.logDebug(`${filePath}, ${packageId}: ${data.length} clusters.`) - return queryLoader.insertClusters( - db, - packageId, - data.map((x) => prepareCluster(x, context)) - ) + + // We prepare clusters, but we ignore the ones that have already been loaded. + let preparedClusters = data + .map((x) => prepareCluster(x, context)) + .filter((cluster) => { + if ( + context.clustersLoadedFromNewFiles && + context.clustersLoadedFromNewFiles.includes(cluster.code) + ) { + env.logDebug( + `Bypassing loading of cluster ${cluster.code} from old files.` + ) + return false + } else { + return true + } + }) + + // and then run the DB process. + return queryLoader.insertClusters(db, packageId, preparedClusters) } /** @@ -1867,7 +1892,7 @@ async function parseZclFiles(db, packageId, zclFiles, context) { await processDataTypeDiscriminator(db, packageId, context.ZCLDataTypes) // Load the Types File first such the atomic types are loaded and can be - //referenced by other types + // referenced by other types let typesFiles = zclFiles.filter((file) => file.includes('types.xml')) let typeFilePromise = typesFiles.map((file) => parseSingleZclFile(db, packageId, file, context) @@ -2231,6 +2256,14 @@ async function processCustomZclDeviceType(db, packageId) { await queryLoader.insertDeviceTypes(db, packageId, customDeviceTypes) } +async function loadZclJson(db, metafile) { + return loadZclJsonOrProperties(db, metafile, true) +} + +async function loadZclProperties(db, metafile) { + return loadZclJsonOrProperties(db, metafile, false) +} + /** * Toplevel function that loads the toplevel metafile * and orchestrates the promise chain. @@ -2240,7 +2273,7 @@ async function processCustomZclDeviceType(db, packageId) { * @param {*} ctx The context of loading. * @returns a Promise that resolves with the db. */ -async function loadSilabsZcl(db, metafile, isJson = false) { +async function loadZclJsonOrProperties(db, metafile, isJson = false) { let ctx = { metadataFile: metafile, db: db, @@ -2280,6 +2313,15 @@ async function loadSilabsZcl(db, metafile, isJson = false) { ctx.description ) } + + // Load the new XML files and collect which clusters were already loaded, + // so that they can be ommited while loading the old files. + let newFileResult = await newDataModel.parseNewXmlFiles( + db, + ctx.packageId, + ctx.newXmlFile + ) + ctx.clustersLoadedFromNewFiles = newFileResult.clusterIdsLoaded await parseZclFiles(db, ctx.packageId, ctx.zclFiles, ctx) // Validate that our attributeAccessInterfaceAttributes, if present, is // sane. @@ -2349,5 +2391,6 @@ async function loadSilabsZcl(db, metafile, isJson = false) { return ctx } -exports.loadSilabsZcl = loadSilabsZcl exports.loadIndividualSilabsFile = loadIndividualSilabsFile +exports.loadZclJson = loadZclJson +exports.loadZclProperties = loadZclProperties diff --git a/src-electron/zcl/zcl-loader.js b/src-electron/zcl/zcl-loader.js index 62ab0379d1d0fbd92cce1f74500d1f98818b4d1e..2f8016d86467ce80964165485394943c3e75ba3e 100644 --- a/src-electron/zcl/zcl-loader.js +++ b/src-electron/zcl/zcl-loader.js @@ -109,11 +109,11 @@ async function loadZcl(db, metadataFile) { let resolvedMetafile = path.resolve(metadataFile) if (ext == '.xml') { - return dLoad.loadDotdotZcl(db, resolvedMetafile) + return dLoad.loadToplevelXmlFile(db, resolvedMetafile) } else if (ext == '.properties') { - return sLoad.loadSilabsZcl(db, resolvedMetafile, false) + return sLoad.loadZclProperties(db, resolvedMetafile) } else if (ext == '.json') { - return sLoad.loadSilabsZcl(db, resolvedMetafile, true) + return sLoad.loadZclJson(db, resolvedMetafile) } else { throw new Error(`Unknown zcl metafile type: ${metadataFile}`) } @@ -135,7 +135,7 @@ async function loadIndividualFile(db, filePath, sessionId) { `Unable to read file: ${filePath}. Expecting an XML file with ZCL clusters.` ) env.logWarning(err) - queryNotification.setNotification(db, "WARNING", err, sessionId, 2, 0) + queryNotification.setNotification(db, 'WARNING', err, sessionId, 2, 0) return { succeeded: false, err } } } diff --git a/zcl-builtin/matter/new-data-model/ACL-Cluster.xml b/zcl-builtin/matter/new-data-model/ACL-Cluster.xml new file mode 100644 index 0000000000000000000000000000000000000000..906427022afaec22d3088b2aeab3dcf4b5897622 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/ACL-Cluster.xml @@ -0,0 +1,224 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x001f" name="AccessControl" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="ACL" scope="Node"/> + <dataTypes> + <enum name="AccessControlEntryAuthModeEnum"> + <item value="1" name="PASE" summary="Passcode authenticated session"> + <mandatoryConform/> + </item> + <item value="2" name="CASE" summary="Certificate authenticated session"> + <mandatoryConform/> + </item> + <item value="3" name="Group" summary="Group authenticated session"> + <mandatoryConform/> + </item> + </enum> + <enum name="AccessControlEntryPrivilegeEnum"> + <item value="1" name="View" summary="Can read and observe all (except Access Control Cluster and as seen by a non-Proxy)"> + <mandatoryConform/> + </item> + <item value="2" name="Proxy View" summary="Can read and observe all (as seen by a Proxy)"> + <otherwiseConform> + <provisionalConform/> + <mandatoryConform/> + </otherwiseConform> + </item> + <item value="3" name="Operate" summary="View privileges, and can perform the primary function of this Node (except Access Control Cluster)"> + <mandatoryConform/> + </item> + <item value="4" name="Manage" summary="Operate privileges, and can modify persistent configuration of this Node (except Access Control Cluster)"> + <mandatoryConform/> + </item> + <item value="5" name="Administer" summary="Manage privileges, and can observe and modify the Access Control Cluster"> + <mandatoryConform/> + </item> + </enum> + <enum name="ChangeTypeEnum"> + <item value="0" name="Changed" summary="Entry or extension was changed"> + <mandatoryConform/> + </item> + <item value="1" name="Added" summary="Entry or extension was added"> + <mandatoryConform/> + </item> + <item value="2" name="Removed" summary="Entry or extension was removed"> + <mandatoryConform/> + </item> + </enum> + <struct name="AccessControlEntryStruct"> + <field id="1" name="Privilege" type="AccessControlEntryPrivilegeEnum"> + <access fabricSensitive="true"/> + <mandatoryConform/> + </field> + <field id="2" name="AuthMode" type="AccessControlEntryAuthModeEnum"> + <access fabricSensitive="true"/> + <mandatoryConform/> + </field> + <field id="3" name="Subjects" type="<<ref_DataTypeList>>[<<ref_SubjectId>>]"> + <access fabricSensitive="true"/> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="max" value="SubjectsPerAccessControlEntry"/> + </field> + <field id="4" name="Targets" type="<<ref_DataTypeList>>[AccessControlTargetStruct Type]"> + <access fabricSensitive="true"/> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="max" value="TargetsPerAccessControlEntry"/> + </field> + </struct> + <struct name="AccessControlExtensionStruct"> + <field id="1" name="Data" type="<<ref_DataTypeOctstr>>"> + <access fabricSensitive="true"/> + <mandatoryConform/> + <constraint type="max" value="128"/> + </field> + </struct> + <struct name="AccessControlTargetStruct"> + <field id="0" name="Cluster" type="cluster-id"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="1" name="Endpoint" type="endpoint-no"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="2" name="DeviceType" type="devtype-id"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="ACL" type="<<ref_DataTypeList>>[AccessControlEntryStruct Type]" default="desc"> + <access read="true" write="true" readPrivilege="admin" writePrivilege="operate"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0001" name="Extension" type="<<ref_DataTypeList>>[AccessControlExtensionStruct Type]" default="desc"> + <access read="true" write="true" readPrivilege="admin" writePrivilege="operate"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0002" name="SubjectsPerAccessControlEntry" type="uint16" default="4"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="min" value="4"/> + </attribute> + <attribute id="0x0003" name="TargetsPerAccessControlEntry" type="uint16" default="3"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="min" value="3"/> + </attribute> + <attribute id="0x0004" name="AccessControlEntriesPerFabric" type="uint16" default="4"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="min" value="4"/> + </attribute> + </attributes> + <events> + <event id="0x00" name="AccessControlEntryChanged" priority="info"> + <access readPrivilege="admin" fabricSensitive="true"/> + <mandatoryConform/> + <field id="1" name="AdminNodeID" type="node-id"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="2" name="AdminPasscodeID" type="uint16"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="3" name="ChangeType" type="ChangeTypeEnum"> + <mandatoryConform/> + </field> + <field id="4" name="LatestValue" type="AccessControlEntryStruct"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </event> + <event id="0x01" name="AccessControlExtensionChanged" priority="info"> + <access readPrivilege="admin" fabricSensitive="true"/> + <mandatoryConform/> + <field id="1" name="AdminNodeID" type="node-id"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="2" name="AdminPasscodeID" type="uint16"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="3" name="ChangeType" type="ChangeTypeEnum"> + <mandatoryConform/> + </field> + <field id="4" name="LatestValue" type="AccessControlExtensionStruct"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/AccountLogin.xml b/zcl-builtin/matter/new-data-model/AccountLogin.xml new file mode 100644 index 0000000000000000000000000000000000000000..046af9b3f38d8cde6f287fb756c21280c22fc7a9 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/AccountLogin.xml @@ -0,0 +1,97 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x050e" name="Account Login" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="ALOGIN" scope="Endpoint"/> + <commands> + <command id="0x00" name="GetSetupPIN" response="GetSetupPINResponse"> + <access invokePrivilege="admin" fabricScoped="true" timed="true"/> + <mandatoryConform/> + <field id="0" name="TempAccountIdentifier" type="string"> + <mandatoryConform/> + <constraint type="lengthBetween" from="16" to="100"/> + </field> + </command> + <command id="0x01" name="GetSetupPINResponse" direction="responseFromServer"> + <access invokePrivilege="operate" fabricScoped="true"/> + <mandatoryConform/> + <field id="0" name="SetupPIN" type="string"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x02" name="Login" response="Y"> + <access invokePrivilege="admin" fabricScoped="true" timed="true"/> + <mandatoryConform/> + <field id="0" name="TempAccountIdentifier" type="string"> + <mandatoryConform/> + <constraint type="lengthBetween" from="16" to="100"/> + </field> + <field id="1" name="SetupPIN" type="string"> + <mandatoryConform/> + <constraint type="minLength" value="11"/> + </field> + </command> + <command id="0x03" name="Logout" response="Y"> + <access invokePrivilege="operate" fabricScoped="true" timed="true"/> + <mandatoryConform/> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/AdminCommissioningCluster.xml b/zcl-builtin/matter/new-data-model/AdminCommissioningCluster.xml new file mode 100644 index 0000000000000000000000000000000000000000..ad7a0016524ed57203aac28dde66ddf89a56ff25 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/AdminCommissioningCluster.xml @@ -0,0 +1,140 @@ +<?xml version="1.0"?> +<!-- +link:../matter-defines.adoc[] + +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x003c" name="Administrator Commissioning" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="CADMIN" scope="Node"/> + <features> + <feature bit="0" code="BC" name="Basic" summary="Node supports Basic Commissioning Method."> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="CommissioningWindowStatusEnum"> + <item value="0" name="WindowNotOpen" summary="Commissioning window not open"> + <mandatoryConform/> + </item> + <item value="1" name="EnhancedWindowOpen" summary="An Enhanced Commissioning Method window is open"> + <mandatoryConform/> + </item> + <item value="2" name="BasicWindowOpen" summary="A Basic Commissioning Method window is open"> + <mandatoryConform> + <feature name="BC"/> + </mandatoryConform> + </item> + </enum> + </dataTypes> + <attributes> + <attribute id="0x0000" name="WindowStatus" type="CommissioningWindowStatusEnum"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="AdminFabricIndex" type="fabric-idx"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0002" name="AdminVendorId" type="<<ref_DataTypeVendorId>>"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="OpenCommissioningWindow" response="Y"> + <access invokePrivilege="admin" timed="true"/> + <mandatoryConform/> + <field id="0" name="CommissioningTimeout" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="PAKEPasscodeVerifier" type="<<ref_DataTypeOctstr>>"> + <mandatoryConform/> + </field> + <field id="2" name="Discriminator" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="4095"/> + </field> + <field id="3" name="Iterations" type="uint32"> + <mandatoryConform/> + <constraint type="between" from="1000" to="100000"/> + </field> + <field id="4" name="Salt" type="<<ref_DataTypeOctstr>>"> + <mandatoryConform/> + <constraint type="between" from="16" to="32"/> + </field> + </command> + <command id="0x01" name="OpenBasicCommissioningWindow" response="Y"> + <access invokePrivilege="admin" timed="true"/> + <mandatoryConform> + <feature name="BC"/> + </mandatoryConform> + <field id="0" name="CommissioningTimeout" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x02" name="RevokeCommissioning" response="Y"> + <access invokePrivilege="admin" timed="true"/> + <mandatoryConform/> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/AirQuality.xml b/zcl-builtin/matter/new-data-model/AirQuality.xml new file mode 100644 index 0000000000000000000000000000000000000000..a873ab3280783bb17429f5cb5c0203bc254d7fce --- /dev/null +++ b/zcl-builtin/matter/new-data-model/AirQuality.xml @@ -0,0 +1,117 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x005b" name="Air Quality" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial version of the Air Quality cluster"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="AIRQUAL" scope="Endpoint"/> + <features> + <feature bit="0" code="FAIR" name="Fair" summary="Cluster supports the Fair air quality level"> + <optionalConform/> + </feature> + <feature bit="1" code="MOD" name="Moderate" summary="Cluster supports the Moderate air quality level"> + <optionalConform/> + </feature> + <feature bit="2" code="VPOOR" name="VeryPoor" summary="Cluster supports the Very poor air quality level"> + <optionalConform/> + </feature> + <feature bit="3" code="XPOOR" name="ExtremelyPoor" summary="Cluster supports the Extremely poor air quality level"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="AirQualityEnum"> + <item value="0" name="Unknown" summary="The air quality is unknown."> + <mandatoryConform/> + </item> + <item value="1" name="Good" summary="The air quality is good."> + <mandatoryConform/> + </item> + <item value="2" name="Fair" summary="The air quality is fair."> + <mandatoryConform> + <feature name="FAIR"/> + </mandatoryConform> + </item> + <item value="3" name="Moderate" summary="The air quality is moderate."> + <mandatoryConform> + <feature name="MOD"/> + </mandatoryConform> + </item> + <item value="4" name="Poor" summary="The air quality is poor."> + <mandatoryConform/> + </item> + <item value="5" name="VeryPoor" summary="The air quality is very poor."> + <mandatoryConform> + <feature name="VPOOR"/> + </mandatoryConform> + </item> + <item value="6" name="ExtremelyPoor" summary="The air quality is extremely poor."> + <mandatoryConform> + <feature name="XPOOR"/> + </mandatoryConform> + </item> + </enum> + </dataTypes> + <attributes> + <attribute id="0x0000" name="AirQuality" type="AirQualityEnum" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/AlarmBase.xml b/zcl-builtin/matter/new-data-model/AlarmBase.xml new file mode 100644 index 0000000000000000000000000000000000000000..f909ff49dcf47e19d85561a1e183e0e17c9857c5 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/AlarmBase.xml @@ -0,0 +1,129 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Alarm Base" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial revision"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="ALARM" scope="Endpoint"/> + <features> + <feature bit="0" code="RESET" name="Reset" summary="Supports the ability to reset alarms"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <number name="AlarmMap" type=""/> + </dataTypes> + <attributes> + <attribute id="0x0000" name="Mask" type="AlarmMap" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="Latch" type="AlarmMap" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="RESET"/> + </mandatoryConform> + </attribute> + <attribute id="0x0002" name="State" type="AlarmMap" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0003" name="Supported" type="AlarmMap" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="Reset" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="RESET"/> + </mandatoryConform> + <field id="0" name="Alarms" type="AlarmMap" default="0"> + <mandatoryConform/> + </field> + </command> + <command id="0x01" name="ModifyEnabledAlarms" response="Y"> + <access invokePrivilege="operate"/> + <optionalConform/> + <field id="0" name="Mask" type="AlarmMap" default="0"> + <mandatoryConform/> + </field> + </command> + </commands> + <events> + <event id="0x00" name="Notify" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform/> + <field id="1" name="Active" type="AlarmMap" default="0"> + <mandatoryConform/> + </field> + <field id="2" name="Inactive" type="AlarmMap" default="0"> + <mandatoryConform/> + </field> + <field id="3" name="State" type="AlarmMap" default="0"> + <mandatoryConform/> + </field> + <field id="4" name="Mask" type="AlarmMap" default="0"> + <mandatoryConform/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/ApplicationBasic.xml b/zcl-builtin/matter/new-data-model/ApplicationBasic.xml new file mode 100644 index 0000000000000000000000000000000000000000..1bf0d87a401566a7f70714bed6c76f61aca03ca3 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/ApplicationBasic.xml @@ -0,0 +1,134 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x050d" name="Application Basic" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="APBSC" scope="Endpoint"/> + <dataTypes> + <enum name="ApplicationStatusEnum"> + <item value="0" name="Stopped" summary="Application is not running."> + <mandatoryConform/> + </item> + <item value="1" name="ActiveVisibleFocus" summary="Application is running, is visible to the user, and is the active target for input."> + <mandatoryConform/> + </item> + <item value="2" name="ActiveHidden" summary="Application is running but not visible to the user."> + <mandatoryConform/> + </item> + <item value="3" name="ActiveVisibleNotFocus" summary="Application is running and visible, but is not the active target for input."> + <mandatoryConform/> + </item> + </enum> + <struct name="ApplicationStruct"> + <field id="0" name="CatalogVendorID" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="ApplicationID" type="string"> + <mandatoryConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="VendorName" type="string" default="empty"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform/> + <constraint type="maxLength" value="32"/> + </attribute> + <attribute id="0x0001" name="VendorID" type="vendor-id"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0002" name="ApplicationName" type="string"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0003" name="ProductID" type="uint16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0004" name="Application" type="ApplicationStruct"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0005" name="Status" type="ApplicationStatusEnum" default="MS"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0006" name="ApplicationVersion" type="string"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="maxLength" value="32"/> + </attribute> + <attribute id="0x0007" name="AllowedVendorList" type="list"> + <entry type="vendor-id"/> + <access read="true" readPrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/ApplicationLauncher.xml b/zcl-builtin/matter/new-data-model/ApplicationLauncher.xml new file mode 100644 index 0000000000000000000000000000000000000000..411db7b87f752a9193a5f2235d4cb9d4123f4c47 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/ApplicationLauncher.xml @@ -0,0 +1,158 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x050c" name="Application Launcher" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="APPLAUNCHER" scope="Endpoint"/> + <features> + <feature bit="0" code="AP" name="ApplicationPlatform" summary="Support for attributes and commands required for endpoint to support launching any application within the supported application catalogs"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="StatusEnum"> + <item value="0" name="Success" summary="Command succeeded"> + <mandatoryConform/> + </item> + <item value="1" name="AppNotAvailable" summary="Requested app is not available."> + <mandatoryConform/> + </item> + <item value="2" name="SystemBusy" summary="Video platform unable to honor command."> + <mandatoryConform/> + </item> + </enum> + <struct name="ApplicationEPStruct"> + <field id="0" name="Application" type="ApplicationStruct"> + <mandatoryConform/> + </field> + <field id="1" name="Endpoint" type="endpoint-no" default="MS"> + <optionalConform/> + </field> + </struct> + <struct name="ApplicationStruct"> + <field id="0" name="CatalogVendorID" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="ApplicationID" type="string"> + <mandatoryConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="CatalogList" type="list"> + <entry type="uint16"/> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="AP"/> + </mandatoryConform> + </attribute> + <attribute id="0x0001" name="CurrentApp" type="ApplicationEPStruct" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="LaunchApp" response="LauncherResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Application" type="ApplicationStruct"> + <mandatoryConform> + <feature name="AP"/> + </mandatoryConform> + <constraint type="desc"/> + </field> + <field id="1" name="Data" type="octets" default="MS"> + <optionalConform/> + </field> + </command> + <command id="0x01" name="StopApp" response="LauncherResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Application" type="ApplicationStruct" default="MS"> + <mandatoryConform> + <feature name="AP"/> + </mandatoryConform> + <constraint type="desc"/> + </field> + </command> + <command id="0x02" name="HideApp" response="LauncherResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Application" type="ApplicationStruct" default="MS"> + <mandatoryConform> + <feature name="AP"/> + </mandatoryConform> + <constraint type="desc"/> + </field> + </command> + <command id="0x03" name="LauncherResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Status" type="StatusEnum"> + <mandatoryConform/> + </field> + <field id="1" name="Data" type="octets" default="MS"> + <optionalConform/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/AudioOutput.xml b/zcl-builtin/matter/new-data-model/AudioOutput.xml new file mode 100644 index 0000000000000000000000000000000000000000..053ccb330f4702ac6c1c262efa40026a836074ad --- /dev/null +++ b/zcl-builtin/matter/new-data-model/AudioOutput.xml @@ -0,0 +1,136 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x050b" name="Audio Output" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="AUDIOOUTPUT" scope="Endpoint"/> + <features> + <feature bit="0" code="NU" name="NameUpdates" summary="Supports updates to output names"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="OutputTypeEnum"> + <item value="0" name="HDMI" summary="HDMI"> + <mandatoryConform/> + </item> + <item value="1" name="BT"> + <mandatoryConform/> + </item> + <item value="2" name="Optical"> + <mandatoryConform/> + </item> + <item value="3" name="Headphone"> + <mandatoryConform/> + </item> + <item value="4" name="Internal"> + <mandatoryConform/> + </item> + <item value="5" name="Other"> + <mandatoryConform/> + </item> + </enum> + <struct name="OutputInfoStruct"> + <field id="0" name="Index" type="uint8"> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + <field id="1" name="OutputType" type="OutputTypeEnum"> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="2" name="Name" type="string"> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="OutputList" type="list[OutputInfoStruct Type]"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="CurrentOutput" type="uint8"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="SelectOutput" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Index" type="uint8"> + <mandatoryConform/> + </field> + </command> + <command id="0x01" name="RenameOutput" response="Y"> + <access invokePrivilege="manage"/> + <mandatoryConform> + <feature name="NU"/> + </mandatoryConform> + <field id="0" name="Index" type="uint8"> + <mandatoryConform/> + </field> + <field id="1" name="Name" type="string"> + <mandatoryConform/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/BallastConfiguration.xml b/zcl-builtin/matter/new-data-model/BallastConfiguration.xml new file mode 100644 index 0000000000000000000000000000000000000000..fda39e71b1ac3952d44e208deb147276a9d07a56 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/BallastConfiguration.xml @@ -0,0 +1,157 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0301" name="Ballast Configuration" revision="4"> + <revisionHistory> + <revision revision="1" summary="Mandatory global ClusterRevision attribute added"/> + <revision revision="2" summary="CCB 2104 2193 2230 2393 Deprecated some attributes"/> + <revision revision="3" summary="CCB 2881"/> + <revision revision="4" summary="New data model format and notation"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="BC" scope="Endpoint"/> + <dataTypes> + <bitmap name="BallastStatusBitmap"> + <bitfield name="BallastNonOperational" bit="0" summary="Operational state of the ballast."> + <mandatoryConform/> + </bitfield> + <bitfield name="LampFailure" bit="1" summary="Operational state of the lamps."> + <mandatoryConform/> + </bitfield> + </bitmap> + <bitmap name="LampAlarmModeBitmap"> + <bitfield name="LampBurnHours" bit="0" summary="State of LampBurnHours alarm generation"> + <mandatoryConform/> + </bitfield> + </bitmap> + </dataTypes> + <attributes> + <attribute id="0x0000" name="PhysicalMinLevel" type="uint8" default="1"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="between" from="1" to="254"/> + </attribute> + <attribute id="0x0001" name="PhysicalMaxLevel" type="uint8" default="254"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="between" from="1" to="254"/> + </attribute> + <attribute id="0x0002" name="BallastStatus" type="BallastStatusBitmap" default="0"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + </attribute> + <attribute id="0x0010" name="MinLevel" type="uint8" default="PhysicalMinLevel"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <mandatoryConform/> + <constraint type="between" from="PhysicalMinLevel" to="MaxLevel"/> + </attribute> + <attribute id="0x0011" name="MaxLevel" type="uint8" default="PhysicalMaxLevel"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <mandatoryConform/> + <constraint type="between" from="MinLevel" to="PhysicalMaxLevel"/> + </attribute> + <attribute id="0x0012" name="PowerOnLevel"> + <deprecateConform/> + </attribute> + <attribute id="0x0013" name="PowerOnFadeTime"> + <deprecateConform/> + </attribute> + <attribute id="0x0014" name="IntrinsicBallastFactor" type="uint8"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0015" name="BallastFactorAdjustment" type="uint8" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + <constraint type="between" from="100" to="MS"/> + </attribute> + <attribute id="0x0020" name="LampQuantity" type="uint8"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0030" name="LampType" type="string" default="""> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform/> + <constraint type="maxLength" value="16"/> + </attribute> + <attribute id="0x0031" name="LampManufacturer" type="string" default="""> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform/> + <constraint type="maxLength" value="16"/> + </attribute> + <attribute id="0x0032" name="LampRatedHours" type="uint24" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0033" name="LampBurnHours" type="uint24" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0034" name="LampAlarmMode" type="LampAlarmModeBitmap" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform/> + </attribute> + <attribute id="0x0035" name="LampBurnHoursTripPoint" type="uint24" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/BasicInformationCluster.xml b/zcl-builtin/matter/new-data-model/BasicInformationCluster.xml new file mode 100644 index 0000000000000000000000000000000000000000..ecd2127a5edfc1ac2a6e93bcd3057faa52d3b1b1 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/BasicInformationCluster.xml @@ -0,0 +1,331 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0028" name="Basic Information" revision="3"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + <revision revision="2" summary="Added ProductAppearance attribute"/> + <revision revision="3" summary="Added SpecificationVersion and MaxPathsPerInvoke attributes"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="BINFO" scope="Node"/> + <dataTypes> + <enum name="ColorEnum"> + <item value="0" name="Black" summary="Approximately RGB #000000."> + <mandatoryConform/> + </item> + <item value="1" name="Navy" summary="Approximately RGB #000080."> + <mandatoryConform/> + </item> + <item value="2" name="Green" summary="Approximately RGB #008000."> + <mandatoryConform/> + </item> + <item value="3" name="Teal" summary="Approximately RGB #008080."> + <mandatoryConform/> + </item> + <item value="4" name="Maroon" summary="Approximately RGB #800080."> + <mandatoryConform/> + </item> + <item value="5" name="Purple" summary="Approximately RGB #800080."> + <mandatoryConform/> + </item> + <item value="6" name="Olive" summary="Approximately RGB #808000."> + <mandatoryConform/> + </item> + <item value="7" name="Gray" summary="Approximately RGB #808080."> + <mandatoryConform/> + </item> + <item value="8" name="Blue" summary="Approximately RGB #0000FF."> + <mandatoryConform/> + </item> + <item value="9" name="Lime" summary="Approximately RGB #00FF00."> + <mandatoryConform/> + </item> + <item value="10" name="Aqua" summary="Approximately RGB #00FFFF."> + <mandatoryConform/> + </item> + <item value="11" name="Red" summary="Approximately RGB #FF0000."> + <mandatoryConform/> + </item> + <item value="12" name="Fuchsia" summary="Approximately RGB #FF00FF."> + <mandatoryConform/> + </item> + <item value="13" name="Yellow" summary="Approximately RGB #FFFF00."> + <mandatoryConform/> + </item> + <item value="14" name="White" summary="Approximately RGB #FFFFFF."> + <mandatoryConform/> + </item> + <item value="15" name="Nickel" summary="Typical hardware "Nickel" color."> + <mandatoryConform/> + </item> + <item value="16" name="Chrome" summary="Typical hardware "Chrome" color."> + <mandatoryConform/> + </item> + <item value="17" name="Brass" summary="Typical hardware "Brass" color."> + <mandatoryConform/> + </item> + <item value="18" name="Copper" summary="Typical hardware "Copper" color."> + <mandatoryConform/> + </item> + <item value="19" name="Silver" summary="Typical hardware "Silver" color."> + <mandatoryConform/> + </item> + <item value="20" name="Gold" summary="Typical hardware "Gold" color."> + <mandatoryConform/> + </item> + </enum> + <enum name="ProductFinishEnum"> + <item value="0" name="Other" summary="Product has some other finish not listed below."> + <mandatoryConform/> + </item> + <item value="1" name="Matte" summary="Product has a matte finish."> + <mandatoryConform/> + </item> + <item value="2" name="Satin" summary="Product has a satin finish."> + <mandatoryConform/> + </item> + <item value="3" name="Polished" summary="Product has a polished or shiny finish."> + <mandatoryConform/> + </item> + <item value="4" name="Rugged" summary="Product has a rugged finish."> + <mandatoryConform/> + </item> + <item value="5" name="Fabric" summary="Product has a fabric finish."> + <mandatoryConform/> + </item> + </enum> + <struct name="CapabilityMinimaStruct"> + <field id="0" name="CaseSessionsPerFabric" type="uint16" default="3"> + <mandatoryConform/> + <constraint type="min" value="3"/> + </field> + <field id="1" name="SubscriptionsPerFabric" type="uint16" default="3"> + <mandatoryConform/> + <constraint type="min" value="3"/> + </field> + </struct> + <struct name="ProductAppearanceStruct"> + <field id="0" name="Finish" type="ProductFinishEnum"> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + <field id="1" name="PrimaryColor" type="ColorEnum"> + <access read="true" write="true"/> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="DataModelRevision" type="uint16" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="VendorName" type="<<ref_DataTypeString>>" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="max" value="32"/> + </attribute> + <attribute id="0x0002" name="VendorID" type="<<ref_DataTypeVendorId>>" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0003" name="ProductName" type="<<ref_DataTypeString>>" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="max" value="32"/> + </attribute> + <attribute id="0x0004" name="ProductID" type="uint16" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0005" name="NodeLabel" type="<<ref_DataTypeString>>" default="""> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="max" value="32"/> + </attribute> + <attribute id="0x0006" name="Location" type="<<ref_DataTypeString>>" default=""XX""> + <access read="true" write="true" readPrivilege="view" writePrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="allowed" value="2"/> + </attribute> + <attribute id="0x0007" name="HardwareVersion" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0008" name="HardwareVersionString" type="<<ref_DataTypeString>>" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="1" to="64"/> + </attribute> + <attribute id="0x0009" name="SoftwareVersion" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x000a" name="SoftwareVersionString" type="<<ref_DataTypeString>>" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="1" to="64"/> + </attribute> + <attribute id="0x000b" name="ManufacturingDate" type="<<ref_DataTypeString>>" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform/> + <constraint type="between" from="8" to="16"/> + </attribute> + <attribute id="0x000c" name="PartNumber" type="<<ref_DataTypeString>>" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform/> + <constraint type="max" value="32"/> + </attribute> + <attribute id="0x000d" name="ProductURL" type="<<ref_DataTypeString>>" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform/> + <constraint type="max" value="256"/> + </attribute> + <attribute id="0x000e" name="ProductLabel" type="<<ref_DataTypeString>>" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform/> + <constraint type="max" value="64"/> + </attribute> + <attribute id="0x000f" name="SerialNumber" type="<<ref_DataTypeString>>" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform/> + <constraint type="max" value="32"/> + </attribute> + <attribute id="0x0010" name="LocalConfigDisabled" type="bool" default="False"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0011" name="Reachable" type="bool" default="True"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + </attribute> + <attribute id="0x0012" name="UniqueID" type="<<ref_DataTypeString>>" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform/> + <constraint type="max" value="32"/> + </attribute> + <attribute id="0x0013" name="CapabilityMinima" type="CapabilityMinimaStruct" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0014" name="ProductAppearance" type="ProductAppearanceStruct" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0015" name="SpecificationVersion" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0016" name="MaxPathsPerInvoke" type="uint16" default="1"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="min" value="1"/> + </attribute> + </attributes> + <events> + <event id="0x00" name="StartUp" priority="critical"> + <access readPrivilege="view"/> + <mandatoryConform/> + <field id="0" name="SoftwareVersion" type="uint32"> + <mandatoryConform/> + </field> + </event> + <event id="0x01" name="ShutDown" priority="critical"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x02" name="Leave" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + <field id="0" name="FabricIndex" type="fabric-idx"> + <mandatoryConform/> + <constraint type="between" from="1" to="254"/> + </field> + </event> + <event id="0x03" name="ReachableChanged" priority="info"> + <access readPrivilege="view"/> + <field id="0" name="ReachableNewValue" type="bool"> + <mandatoryConform/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Binding-Cluster.xml b/zcl-builtin/matter/new-data-model/Binding-Cluster.xml new file mode 100644 index 0000000000000000000000000000000000000000..443c864a2db27531edad4890f614ffc6c204b2a1 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Binding-Cluster.xml @@ -0,0 +1,97 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x001e" name="Binding" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="BIND" scope="Endpoint"/> + <dataTypes> + <struct name="TargetStruct"> + <field id="1" name="Node" type="node-id"> + <mandatoryConform> + <attribute name="Endpoint"/> + </mandatoryConform> + </field> + <field id="2" name="Group" type="group-id"> + <mandatoryConform> + <notTerm> + <attribute name="Endpoint"/> + </notTerm> + </mandatoryConform> + </field> + <field id="3" name="Endpoint" type="endpoint-no"> + <mandatoryConform> + <notTerm> + <attribute name="Group"/> + </notTerm> + </mandatoryConform> + </field> + <field id="4" name="Cluster" type="cluster-id"> + <optionalConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="Binding" type="list[TargetStruct Type]" default="[]"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/BooleanSensorConfiguration.xml b/zcl-builtin/matter/new-data-model/BooleanSensorConfiguration.xml new file mode 100644 index 0000000000000000000000000000000000000000..1119b4029e26f218997dcb16aa103f320f0b50b3 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/BooleanSensorConfiguration.xml @@ -0,0 +1,184 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0080" name="Boolean Sensor Configuration" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="BSENCFG" scope="Endpoint"/> + <features> + <feature bit="0" code="VIS" name="Visual" summary="Supports visual alarms"> + <optionalConform/> + </feature> + <feature bit="1" code="AUD" name="Audible" summary="Supports audible alarms"> + <optionalConform/> + </feature> + <feature bit="2" code="SPRS" name="AlarmSuppress" summary="Supports ability to suppress or acknowledge alarms"> + <optionalConform/> + </feature> + <feature bit="3" code="SENSLVL" name="SensitivityLevel" summary="Supports ability to set level of threshold detection sensitivity"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="SensitivityEnum"> + <item value="0" name="High" summary="High sensitivity"> + <mandatoryConform> + <feature name="SENSLVL"/> + </mandatoryConform> + </item> + <item value="1" name="Standard" summary="Standard Sensitivity"> + <mandatoryConform> + <feature name="SENSLVL"/> + </mandatoryConform> + </item> + <item value="2" name="Low" summary="Low sensitivity"> + <mandatoryConform> + <feature name="SENSLVL"/> + </mandatoryConform> + </item> + </enum> + <bitmap name="AlarmModeBitmap"> + <bitfield name="Visual" bit="0" summary="Visual alarming"> + <mandatoryConform> + <feature name="VIS"/> + </mandatoryConform> + </bitfield> + <bitfield name="Audible" bit="1" summary="Audible alarming"> + <mandatoryConform> + <feature name="AUD"/> + </mandatoryConform> + </bitfield> + </bitmap> + </dataTypes> + <attributes> + <attribute id="0x0000" name="SensitivityLevel" type="SensitivityEnum" default="Standard"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="SENSLVL"/> + </mandatoryConform> + </attribute> + <attribute id="0x0001" name="AlarmsActive" type="AlarmModeBitmap"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <orTerm> + <feature name="VIS"/> + <feature name="AUD"/> + </orTerm> + </mandatoryConform> + </attribute> + <attribute id="0x0002" name="AlarmsSuppressed" type="AlarmModeBitmap"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <orTerm> + <feature name="VIS"/> + <feature name="AUD"/> + </orTerm> + <feature name="SPRS"/> + </andTerm> + </mandatoryConform> + </attribute> + <attribute id="0x0003" name="AlarmsEnabled" type="AlarmModeBitmap"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <orTerm> + <feature name="VIS"/> + <feature name="AUD"/> + </orTerm> + </mandatoryConform> + </attribute> + </attributes> + <commands> + <command id="0x00" name="SuppressRequest" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="SPRS"/> + </mandatoryConform> + <field id="0" name="AlarmsToSuppress" type="AlarmModeBitmap"> + <mandatoryConform/> + </field> + </command> + </commands> + <events> + <event id="0x00" name="AlarmsStateChanged" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform> + <orTerm> + <feature name="VIS"/> + <feature name="AUD"/> + </orTerm> + </mandatoryConform> + <field id="0" name="AlarmsActive" type="AlarmModeBitmap"> + <mandatoryConform/> + </field> + <field id="1" name="AlarmsSuppressed" type="AlarmModeBitmap"> + <mandatoryConform> + <feature name="SPRS"/> + </mandatoryConform> + </field> + </event> + <event id="0x01" name="SensorFault" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/BooleanState.xml b/zcl-builtin/matter/new-data-model/BooleanState.xml new file mode 100644 index 0000000000000000000000000000000000000000..830f1ea5e30a95311d7d5355c1f5d53884e0d5c9 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/BooleanState.xml @@ -0,0 +1,79 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0045" name="Boolean State" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="BOOL" scope="Endpoint"/> + <attributes> + <attribute id="0x0000" name="StateValue" type="bool"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform/> + </attribute> + </attributes> + <events> + <event id="0x00" name="StateChange" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + <field id="0" name="StateValue" type="bool"> + <mandatoryConform/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Channel.xml b/zcl-builtin/matter/new-data-model/Channel.xml new file mode 100644 index 0000000000000000000000000000000000000000..0c5962e8cc1f9c28cf3f77a281a81b85b8c4d8dc --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Channel.xml @@ -0,0 +1,194 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0504" name="Channel" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="CHANNEL" scope="Endpoint"/> + <features> + <feature bit="0" code="CL" name="ChannelList" summary="Provides list of available channels."> + <optionalConform/> + </feature> + <feature bit="1" code="LI" name="LineupInfo" summary="Provides lineup info, which is a reference to an external source of lineup information."> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="LineupInfoTypeEnum"> + <item value="0" name="MSO" summary="Multi System Operator"> + <mandatoryConform/> + </item> + </enum> + <enum name="StatusEnum"> + <item value="0" name="Success" summary="Command succeeded"> + <mandatoryConform/> + </item> + <item value="1" name="MultipleMatches" summary="More than one equal match for the ChannelInfoStruct passed in."> + <mandatoryConform/> + </item> + <item value="2" name="NoMatches" summary="No matches for the ChannelInfoStruct passed in."> + <mandatoryConform/> + </item> + </enum> + <struct name="ChannelInfoStruct"> + <field id="0" name="MajorNumber" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="MinorNumber" type="uint16"> + <mandatoryConform/> + </field> + <field id="2" name="Name" type="string" default="empty"> + <optionalConform/> + </field> + <field id="3" name="CallSign" type="string" default="empty"> + <optionalConform/> + </field> + <field id="4" name="AffiliateCallSign" type="string" default="empty"> + <optionalConform/> + </field> + </struct> + <struct name="LineupInfoStruct"> + <field id="0" name="OperatorName" type="string"> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + <field id="1" name="LineupName" type="string" default="empty"> + <access read="true" write="true"/> + <optionalConform/> + </field> + <field id="2" name="PostalCode" type="string" default="empty"> + <access read="true" write="true"/> + <optionalConform/> + </field> + <field id="3" name="LineupInfoType" type="LineupInfoTypeEnum"> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="ChannelList" type="list[ChannelInfoStruct Type]" default="empty"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="CL"/> + </mandatoryConform> + </attribute> + <attribute id="0x0001" name="Lineup" type="LineupInfoStruct" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="LI"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0002" name="CurrentChannel" type="ChannelInfoStruct" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="ChangeChannel" response="ChangeChannelResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <orTerm> + <feature name="CL"/> + <feature name="LI"/> + </orTerm> + </mandatoryConform> + <field id="0" name="Match" type="string"> + <mandatoryConform/> + </field> + </command> + <command id="0x01" name="ChangeChannelResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <orTerm> + <feature name="CL"/> + <feature name="LI"/> + </orTerm> + </mandatoryConform> + <field id="0" name="Status" type="StatusEnum"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="Data" type="string"> + <optionalConform/> + </field> + </command> + <command id="0x02" name="ChangeChannelByNumber" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="MajorNumber" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="MinorNumber" type="uint16"> + <mandatoryConform/> + </field> + </command> + <command id="0x03" name="SkipChannel" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Count" type="int16"> + <mandatoryConform/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/ColorControl.xml b/zcl-builtin/matter/new-data-model/ColorControl.xml new file mode 100644 index 0000000000000000000000000000000000000000..84b8bfd5b15aefa404c4ca54093d8a12675b8ce9 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/ColorControl.xml @@ -0,0 +1,1023 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0300" name="Color Control" revision="6"> + <revisionHistory> + <revision revision="1" summary="mandatory global ClusterRevision attribute added; CCB 2028"/> + <revision revision="2" summary="added Options attribute, CCB 2085 2104 2124 2230; ZLO 1.0"/> + <revision revision="3" summary="CCB 2501 2814 2839 2840 2843 2861"/> + <revision revision="4" summary="All Hubs changes"/> + <revision revision="5" summary="new data model format and notation, FeatureMap support"/> + <revision revision="6" summary="Added clarifications to Scenes support for Matter"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="CC" primaryTransaction="1"/> + <features> + <feature bit="0" code="HS" name="Hue/Saturation" summary="Supports color specification via hue/saturation."> + <optionalConform/> + </feature> + <feature bit="1" code="EHUE" name="Enhanced Hue" summary="Enhanced hue is supported."> + <optionalConform/> + </feature> + <feature bit="2" code="CL" name="Color loop" summary="Color loop is supported."> + <optionalConform/> + </feature> + <feature bit="3" code="XY" name="XY" summary="Supports color specification via XY."> + <optionalConform/> + </feature> + <feature bit="4" code="CT" name="Color temperature" summary="Supports specification of color temperature."> + <optionalConform/> + </feature> + </features> + <dataTypes/> + <attributes> + <attribute id="0x0000" name="CurrentHue" type="uint8" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="true"/> + <mandatoryConform> + <feature name="HS"/> + </mandatoryConform> + <constraint type="between" from="0" to="254"/> + </attribute> + <attribute id="0x0001" name="CurrentSaturation" type="uint8" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="true" persistence="nonVolatile" reportable="true"/> + <mandatoryConform> + <feature name="HS"/> + </mandatoryConform> + <constraint type="between" from="0" to="254"/> + </attribute> + <attribute id="0x0002" name="RemainingTime" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + <constraint type="between" from="0" to="65534"/> + </attribute> + <attribute id="0x0003" name="CurrentX" type="uint16" default="0x616B (0.381)"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="true" persistence="nonVolatile" reportable="true"/> + <mandatoryConform> + <feature name="XY"/> + </mandatoryConform> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x0004" name="CurrentY" type="uint16" default="0x607D (0.377)"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="true" persistence="nonVolatile" reportable="true"/> + <mandatoryConform> + <feature name="XY"/> + </mandatoryConform> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x0005" name="DriftCompensation" type="enum8" default="-"> + <enum> + <item value="0" name="None"> + <mandatoryConform/> + </item> + <item value="1" name="Other / Unknown"> + <mandatoryConform/> + </item> + <item value="2" name="Temperature monitoring"> + <mandatoryConform/> + </item> + <item value="3" name="Optical luminance monitoring and feedback"> + <mandatoryConform/> + </item> + <item value="4" name="Optical color monitoring and feedback"> + <mandatoryConform/> + </item> + </enum> + <access read="true" readPrivilege="view"/> + <optionalConform/> + <constraint type="between" from="0" to="4"/> + </attribute> + <attribute id="0x0006" name="CompensationText" type="string" default="-"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + <constraint type="maxLength" value="254"/> + </attribute> + <attribute id="0x0007" name="ColorTemperatureMireds" type="uint16" default="0x00FA (4000K)"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="true" persistence="nonVolatile" reportable="true"/> + <mandatoryConform> + <feature name="CT"/> + </mandatoryConform> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x0008" name="ColorMode" type="enum8" default="1"> + <enum> + <item value="0"> + <mandatoryConform/> + </item> + <item value="1"> + <mandatoryConform/> + </item> + <item value="2"> + <mandatoryConform/> + </item> + </enum> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="2"/> + </attribute> + <attribute id="0x000f" name="Options" type="map8" default="0"> + <bitmap> + <bitfield name="ExecuteIfOff" bit="0" summary="0 – Do not execute command if the On/Off cluster, OnOff attribute is FALSE. + + 1 – Execute command if the On/Off cluster, OnOff attribute is FALSE."> + <mandatoryConform/> + </bitfield> + </bitmap> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0010" name="NumberOfPrimaries" type="uint8" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="6"/> + </attribute> + <attribute id="0x0011" name="Primary1X" type="uint16" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x0012" name="Primary1Y" type="uint16" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x0013" name="Primary1Intensity" type="uint8" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0015" name="Primary2X" type="uint16" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x0016" name="Primary2Y" type="uint16" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x0017" name="Primary2Intensity" type="uint8" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0019" name="Primary3X" type="uint16" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x001a" name="Primary3Y" type="uint16" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x001b" name="Primary3Intensity" type="uint8" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0020" name="Primary4X" type="uint16" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x0021" name="Primary4Y" type="uint16" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x0022" name="Primary4Intensity" type="uint8" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0024" name="Primary5X" type="uint16" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x0025" name="Primary5Y" type="uint16" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x0026" name="Primary5Intensity" type="uint8" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0028" name="Primary6X" type="uint16" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x0029" name="Primary6Y" type="uint16" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x002a" name="Primary6Intensity" type="uint8" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0030" name="WhitePointX" type="uint16" default="-"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x0031" name="WhitePointY" type="uint16" default="-"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x0032" name="ColorPointRX" type="uint16" default="-"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x0033" name="ColorPointRY" type="uint16" default="-"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x0034" name="ColorPointRIntensity" type="uint8" default="-"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0036" name="ColorPointGX" type="uint16" default="-"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x0037" name="ColorPointGY" type="uint16" default="-"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x0038" name="ColorPointGIntensity" type="uint8" default="-"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x003a" name="ColorPointBX" type="uint16" default="-"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x003b" name="ColorPointBY" type="uint16" default="-"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x003c" name="ColorPointBIntensity" type="uint8" default="-"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x4000" name="EnhancedCurrentHue" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="true" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="EHUE"/> + </mandatoryConform> + </attribute> + <attribute id="0x4001" name="EnhancedColorMode" type="enum8" default="1"> + <enum> + <item value="0"> + <mandatoryConform/> + </item> + <item value="1"> + <mandatoryConform/> + </item> + <item value="2"> + <mandatoryConform/> + </item> + <item value="3"> + <mandatoryConform/> + </item> + </enum> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="true" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="3"/> + </attribute> + <attribute id="0x4002" name="ColorLoopActive" type="uint8" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="true" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="CL"/> + </mandatoryConform> + </attribute> + <attribute id="0x4003" name="ColorLoopDirection" type="uint8" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="true" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="CL"/> + </mandatoryConform> + </attribute> + <attribute id="0x4004" name="ColorLoopTime" type="uint16" default="0x0019"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="true" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="CL"/> + </mandatoryConform> + </attribute> + <attribute id="0x4005" name="ColorLoopStartEnhancedHue" type="uint16" default="0x2300"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="CL"/> + </mandatoryConform> + </attribute> + <attribute id="0x4006" name="ColorLoopStoredEnhancedHue" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="CL"/> + </mandatoryConform> + </attribute> + <attribute id="0x400a" name="ColorCapabilities" type="map16" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="between" from="0" to="0x001F"/> + </attribute> + <attribute id="0x400b" name="ColorTempPhysicalMinMireds" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="CT"/> + </mandatoryConform> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x400c" name="ColorTempPhysicalMaxMireds" type="uint16" default="0xFEFF"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="CT"/> + </mandatoryConform> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + <attribute id="0x400d" name="CoupleColorTempToLevelMinMireds" type="uint16" default="MS"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <orTerm> + <feature name="CT"/> + <attribute name="ColorTemperatureMireds"/> + </orTerm> + </mandatoryConform> + <constraint type="between" from="ColorTempPhysicalMinMireds" to="ColorTemperatureMireds"/> + </attribute> + <attribute id="0x4010" name="StartUpColorTemperatureMireds" type="uint16" default="MS"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <orTerm> + <feature name="CT"/> + <attribute name="ColorTemperatureMireds"/> + </orTerm> + </mandatoryConform> + <constraint type="between" from="0" to="0xFEFF"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="MoveToHue" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="HS"/> + </mandatoryConform> + <field id="0" name="Hue" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="0" to="254"/> + </field> + <field id="1" name="Direction" type="enum8"> + <enum> + <item value="0" name="Shortest distance"> + <mandatoryConform/> + </item> + <item value="1" name="Longest distance"> + <mandatoryConform/> + </item> + <item value="2" name="Up"> + <mandatoryConform/> + </item> + <item value="3" name="Down"> + <mandatoryConform/> + </item> + </enum> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="2" name="TransitionTime" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="65534"/> + </field> + <field id="3" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="4" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x01" name="MoveHue" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="HS"/> + </mandatoryConform> + <field id="0" name="MoveMode" type="enum8"> + <enum> + <item value="0" name="Stop"> + <mandatoryConform/> + </item> + <item value="1" name="Up"> + <mandatoryConform/> + </item> + <item value="2" name="Reserved"> + <mandatoryConform/> + </item> + <item value="3" name="Down"> + <mandatoryConform/> + </item> + </enum> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="Rate" type="uint8"> + <mandatoryConform/> + </field> + <field id="2" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="3" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x02" name="StepHue" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="HS"/> + </mandatoryConform> + <field id="0" name="StepMode" type="enum8"> + <enum> + <item value="0" name="Reserved"> + <mandatoryConform/> + </item> + <item value="1" name="Up"> + <mandatoryConform/> + </item> + <item value="2" name="Reserved"> + <mandatoryConform/> + </item> + <item value="3" name="Down"> + <mandatoryConform/> + </item> + </enum> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="StepSize" type="uint8"> + <mandatoryConform/> + </field> + <field id="2" name="TransitionTime" type="uint8"> + <mandatoryConform/> + </field> + <field id="3" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="4" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x03" name="MoveToSaturation" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="HS"/> + </mandatoryConform> + <field id="0" name="Saturation" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="0" to="254"/> + </field> + <field id="1" name="TransitionTime" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="65534"/> + </field> + <field id="2" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="3" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x04" name="MoveSaturation" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="HS"/> + </mandatoryConform> + <field id="0" name="MoveMode" type="enum8"> + <enum> + <item value="0" name="Stop"> + <mandatoryConform/> + </item> + <item value="1" name="Up"> + <mandatoryConform/> + </item> + <item value="2" name="Reserved"> + <mandatoryConform/> + </item> + <item value="3" name="Down"> + <mandatoryConform/> + </item> + </enum> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="Rate" type="uint8"> + <mandatoryConform/> + </field> + <field id="2" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="3" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x05" name="StepSaturation" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="HS"/> + </mandatoryConform> + <field id="0" name="StepMode" type="enum8"> + <enum> + <item value="0" name="Reserved"> + <mandatoryConform/> + </item> + <item value="1" name="Up"> + <mandatoryConform/> + </item> + <item value="2" name="Reserved"> + <mandatoryConform/> + </item> + <item value="3" name="Down"> + <mandatoryConform/> + </item> + </enum> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="StepSize" type="uint8"> + <mandatoryConform/> + </field> + <field id="2" name="TransitionTime" type="uint8"> + <mandatoryConform/> + </field> + <field id="3" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="4" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x06" name="MoveToHueAndSaturation" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="HS"/> + </mandatoryConform> + <field id="0" name="Hue" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="0" to="254"/> + </field> + <field id="1" name="Saturation" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="0" to="254"/> + </field> + <field id="2" name="TransitionTime" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="65534"/> + </field> + <field id="3" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="4" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x07" name="MoveToColor" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="XY"/> + </mandatoryConform> + <field id="0" name="ColorX" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </field> + <field id="1" name="ColorY" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </field> + <field id="2" name="TransitionTime" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="65534"/> + </field> + <field id="3" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="4" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x08" name="MoveColor" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="XY"/> + </mandatoryConform> + <field id="0" name="RateX" type="int16"> + <mandatoryConform/> + </field> + <field id="1" name="RateY" type="int16"> + <mandatoryConform/> + </field> + <field id="2" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="3" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x09" name="StepColor" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="XY"/> + </mandatoryConform> + <field id="0" name="StepX" type="int16"> + <mandatoryConform/> + </field> + <field id="1" name="StepY" type="int16"> + <mandatoryConform/> + </field> + <field id="2" name="TransitionTime" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="65534"/> + </field> + <field id="3" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="4" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x0a" name="MoveToColorTemperature" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="CT"/> + </mandatoryConform> + <field id="0" name="ColorTemperatureMireds" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </field> + <field id="1" name="TransitionTime" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="65534"/> + </field> + <field id="2" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="3" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x40" name="EnhancedMoveToHue" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="EHUE"/> + </mandatoryConform> + <field id="0" name="EnhancedHue" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="Direction" type="enum8"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="2" name="TransitionTime" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="65534"/> + </field> + <field id="3" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="4" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x41" name="EnhancedMoveHue" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="EHUE"/> + </mandatoryConform> + <field id="0" name="MoveMode" type="enum8"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="Rate" type="uint16"> + <mandatoryConform/> + </field> + <field id="2" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="3" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x42" name="EnhancedStepHue" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="EHUE"/> + </mandatoryConform> + <field id="0" name="StepMode" type="enum8"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="StepSize" type="uint16"> + <mandatoryConform/> + </field> + <field id="2" name="TransitionTime" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="65534"/> + </field> + <field id="3" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="4" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x43" name="EnhancedMoveToHueAndSaturation" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="EHUE"/> + </mandatoryConform> + <field id="0" name="EnhancedHue" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="Saturation" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="0" to="254"/> + </field> + <field id="2" name="TransitionTime" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="65534"/> + </field> + <field id="3" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="4" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x44" name="ColorLoopSet" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="CL"/> + </mandatoryConform> + <field id="0" name="UpdateFlags" type="map8"> + <bitmap> + <bitfield name="(Reserved)"> + <mandatoryConform/> + </bitfield> + <bitfield name="UpdateAction" bit="0"> + <mandatoryConform/> + </bitfield> + <bitfield name="UpdateDirection" bit="1"> + <mandatoryConform/> + </bitfield> + <bitfield name="UpdateTime" bit="2"> + <mandatoryConform/> + </bitfield> + <bitfield name="UpdateStartHue" bit="3"> + <mandatoryConform/> + </bitfield> + </bitmap> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="Action" type="enum8"> + <enum> + <item value="0" name="De-activate the color loop."> + <mandatoryConform/> + </item> + <item value="1" name="Activate the color loop from the value in the ColorLoopStartEnhancedHue field."> + <mandatoryConform/> + </item> + <item value="2" name="Activate the color loop from the value of the EnhancedCurrentHue attribute."> + <mandatoryConform/> + </item> + </enum> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="2" name="Direction" type="enum8"> + <enum> + <item value="0" name="Decrement the hue in the color loop."> + <mandatoryConform/> + </item> + <item value="1" name="Increment the hue in the color loop."> + <mandatoryConform/> + </item> + </enum> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="3" name="Time" type="uint16"> + <mandatoryConform/> + </field> + <field id="4" name="StartHue" type="uint16"> + <mandatoryConform/> + </field> + <field id="5" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="6" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x47" name="StopMoveStep" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <orTerm> + <feature name="HS"/> + <feature name="XY"/> + <feature name="CT"/> + </orTerm> + </mandatoryConform> + <field id="0" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x4b" name="MoveColorTemperature" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="CT"/> + </mandatoryConform> + <field id="0" name="MoveMode" type="map8"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="Rate" type="uint16"> + <mandatoryConform/> + </field> + <field id="2" name="ColorTemperatureMinimumMireds" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </field> + <field id="3" name="ColorTemperatureMaximumMireds" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </field> + <field id="4" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="5" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x4c" name="StepColorTemperature" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="CT"/> + </mandatoryConform> + <field id="0" name="StepMode" type="map8"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="StepSize" type="uint16"> + <mandatoryConform/> + </field> + <field id="2" name="TransitionTime" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="65534"/> + </field> + <field id="3" name="ColorTemperatureMinimumMireds" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </field> + <field id="4" name="ColorTemperatureMaximumMireds" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="0xFEFF"/> + </field> + <field id="5" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="6" name="OptionsOverride" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/ConcentrationMeasurement.xml b/zcl-builtin/matter/new-data-model/ConcentrationMeasurement.xml new file mode 100644 index 0000000000000000000000000000000000000000..0230fd4d618cedebe1931d9cb05462e2a7113808 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/ConcentrationMeasurement.xml @@ -0,0 +1,252 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Concentration Measurement Clusters" revision="3"> + <revisionHistory> + <revision revision="1" summary="Mandatory global ClusterRevision attribute added"/> + <revision revision="2" summary="CCB 2882"/> + <revision revision="3" summary="Cluster redesigned to add support for Level Indication, Peak/Average Measurement, Medium/Unit of Measurement and Uncertainty."/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="CONC" scope="Endpoint"/> + <features> + <feature bit="0" code="MEA" name="NumericMeasurement" summary="Cluster supports numeric measurement of substance"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="1" code="LEV" name="LevelIndication" summary="Cluster supports basic level indication for substance using the ConcentrationLevel enum"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="2" code="MED" name="MediumLevel" summary="Cluster supports the Medium Concentration Level"> + <optionalConform> + <feature name="LEV"/> + </optionalConform> + </feature> + <feature bit="3" code="CRI" name="CriticalLevel" summary="Cluster supports the Critical Concentration Level"> + <optionalConform> + <feature name="LEV"/> + </optionalConform> + </feature> + <feature bit="4" code="PEA" name="PeakMeasurement" summary="Cluster supports peak numeric measurement of substance"> + <optionalConform> + <feature name="MEA"/> + </optionalConform> + </feature> + <feature bit="5" code="AVG" name="AverageMeasurement" summary="Cluster supports average numeric measurement of substance"> + <optionalConform> + <feature name="MEA"/> + </optionalConform> + </feature> + </features> + <dataTypes> + <enum name="LevelValueEnum"> + <item value="0" name="Unknown" summary="The level is Unknown"> + <mandatoryConform/> + </item> + <item value="1" name="Low" summary="The level is considered Low"> + <mandatoryConform/> + </item> + <item value="2" name="Medium" summary="The level is considered Medium"> + <mandatoryConform> + <feature name="MED"/> + </mandatoryConform> + </item> + <item value="3" name="High" summary="The level is considered High"> + <mandatoryConform/> + </item> + <item value="4" name="Critical" summary="The level is considered Critical"> + <mandatoryConform> + <feature name="CRI"/> + </mandatoryConform> + </item> + </enum> + <enum name="MeasurementMediumEnum"> + <item value="0" name="Air" summary="The measurement is being made in Air"> + <mandatoryConform/> + </item> + <item value="1" name="Water" summary="The measurement is being made in Water"> + <mandatoryConform/> + </item> + <item value="2" name="Soil" summary="The measurement is being made in Soil"> + <mandatoryConform/> + </item> + </enum> + <enum name="MeasurementUnitEnum"> + <item value="0" name="PPM" summary="Parts per Million (10)"> + <mandatoryConform> + <feature name="MEA"/> + </mandatoryConform> + </item> + <item value="1" name="PPB" summary="Parts per Billion (10)"> + <mandatoryConform> + <feature name="MEA"/> + </mandatoryConform> + </item> + <item value="2" name="PPT" summary="Parts per Trillion (10)"> + <mandatoryConform> + <feature name="MEA"/> + </mandatoryConform> + </item> + <item value="3" name="MGM3" summary="Milligram per m"> + <mandatoryConform> + <feature name="MEA"/> + </mandatoryConform> + </item> + <item value="4" name="UGM3" summary="Microgram per m"> + <mandatoryConform> + <feature name="MEA"/> + </mandatoryConform> + </item> + <item value="5" name="NGM3" summary="Nanogram per m"> + <mandatoryConform> + <feature name="MEA"/> + </mandatoryConform> + </item> + <item value="6" name="PM3" summary="Particles per m"> + <mandatoryConform> + <feature name="MEA"/> + </mandatoryConform> + </item> + <item value="7" name="BQM3" summary="Becquerel per m"> + <mandatoryConform> + <feature name="MEA"/> + </mandatoryConform> + </item> + </enum> + </dataTypes> + <attributes> + <attribute id="0x0000" name="MeasuredValue" type="single" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform> + <feature name="MEA"/> + </mandatoryConform> + <constraint type="between" from="MinMeasuredValue" to="MaxMeasuredValue"/> + </attribute> + <attribute id="0x0001" name="MinMeasuredValue" type="single" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="MEA"/> + </mandatoryConform> + <constraint type="max" value="MaxMeasuredValue"/> + </attribute> + <attribute id="0x0002" name="MaxMeasuredValue" type="single" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="MEA"/> + </mandatoryConform> + <constraint type="min" value="MinMeasuredValue"/> + </attribute> + <attribute id="0x0003" name="PeakMeasuredValue" type="single" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform> + <feature name="PEA"/> + </mandatoryConform> + <constraint type="between" from="MinMeasuredValue" to="MaxMeasuredValue"/> + </attribute> + <attribute id="0x0004" name="PeakMeasuredValueWindow" type="elapsed-s" default="1"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform> + <feature name="PEA"/> + </mandatoryConform> + <constraint type="max" value="604800"/> + </attribute> + <attribute id="0x0005" name="AverageMeasuredValue" type="single" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform> + <feature name="AVG"/> + </mandatoryConform> + <constraint type="between" from="MinMeasuredValue" to="MaxMeasuredValue"/> + </attribute> + <attribute id="0x0006" name="AverageMeasuredValueWindow" type="elapsed-s" default="1"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform> + <feature name="AVG"/> + </mandatoryConform> + <constraint type="max" value="604800"/> + </attribute> + <attribute id="0x0007" name="Uncertainty" type="single" default="MS"> + <access read="true" readPrivilege="view"/> + <optionalConform> + <feature name="MEA"/> + </optionalConform> + <constraint type="allowed" value="MS"/> + </attribute> + <attribute id="0x0008" name="MeasurementUnit" type="MeasurementUnitEnum" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="MEA"/> + </mandatoryConform> + </attribute> + <attribute id="0x0009" name="MeasurementMedium" type="MeasurementMediumEnum" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x000a" name="LevelValue" type="LevelValueEnum" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="LEV"/> + </mandatoryConform> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/ContentAppObserver.xml b/zcl-builtin/matter/new-data-model/ContentAppObserver.xml new file mode 100644 index 0000000000000000000000000000000000000000..563917ece5638fffaa52405d84d87e5386152f71 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/ContentAppObserver.xml @@ -0,0 +1,98 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0510" name="Content App Observer" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="CONTENTAPPOBSERVER" scope="Endpoint"/> + <dataTypes> + <enum name="StatusEnum"> + <item value="0" name="Success" summary="Command succeeded"> + <mandatoryConform/> + </item> + <item value="1" name="UnexpectedData" summary="Data field in command was not understood by the Observer"> + <mandatoryConform/> + </item> + </enum> + </dataTypes> + <commands> + <command id="0x00" name="ContentAppMessage" response="ContentAppMessageResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Data" type="string"> + <mandatoryConform/> + </field> + <field id="1" name="EncodingHint" type="string"> + <optionalConform/> + </field> + </command> + <command id="0x01" name="ContentAppMessageResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Status" type="StatusEnum"> + <mandatoryConform/> + </field> + <field id="1" name="Data" type="string"> + <optionalConform/> + </field> + <field id="2" name="EncodingHint" type="string"> + <optionalConform/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/ContentControl.xml b/zcl-builtin/matter/new-data-model/ContentControl.xml new file mode 100644 index 0000000000000000000000000000000000000000..5dbf273e60164717154c7af6c40c9709ffa3c2ae --- /dev/null +++ b/zcl-builtin/matter/new-data-model/ContentControl.xml @@ -0,0 +1,246 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x050f" name="Content Control" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="CONCON" scope="Endpoint"/> + <features> + <feature bit="0" code="ST" name="ScreenTime" summary="Supports managing screen time limits."> + <optionalConform/> + </feature> + <feature bit="1" code="PM" name="PINManagement" summary="Supports managing a PIN code which is used for restricting access to configuration of this feature."> + <optionalConform/> + </feature> + <feature bit="2" code="BU" name="BlockUnrated" summary="Supports managing content controls for unrated content."> + <optionalConform/> + </feature> + <feature bit="3" code="OCR" name="OnDemandContentRating" summary="Supports managing content controls based upon rating threshold for on demand content."> + <optionalConform/> + </feature> + <feature bit="4" code="SCR" name="ScheduledContentRating" summary="Supports managing content controls based upon rating threshold for scheduled content."> + <optionalConform/> + </feature> + </features> + <dataTypes> + <struct name="RatingNameStruct"> + <field id="1" name="RatingName" type="string"> + <access read="true"/> + <mandatoryConform/> + <constraint type="maxLength" value="8"/> + </field> + <field id="2" name="RatingNameDesc" type="string"> + <access read="true"/> + <optionalConform/> + <constraint type="maxLength" value="64"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0001" name="Enabled" type="bool"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0002" name="OnDemandRatings" type="list[RatingNameStruct Type]"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="OCR"/> + </mandatoryConform> + </attribute> + <attribute id="0x0003" name="OnDemandRatingThreshold" type="string"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <mandatoryConform> + <feature name="OCR"/> + </mandatoryConform> + <constraint type="maxLength" value="8"/> + </attribute> + <attribute id="0x0004" name="ScheduledContentRatings" type="list[RatingNameStruct Type]"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="SCR"/> + </mandatoryConform> + </attribute> + <attribute id="0x0005" name="ScheduledContentRatingThreshold" type="string"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <mandatoryConform> + <feature name="SCR"/> + </mandatoryConform> + <constraint type="maxLength" value="8"/> + </attribute> + <attribute id="0x0006" name="ScreenDailyTime" type="elapsed-s"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="ST"/> + </mandatoryConform> + </attribute> + <attribute id="0x0007" name="RemainingScreenTime" type="elapsed-s"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="ST"/> + </mandatoryConform> + </attribute> + <attribute id="0x0008" name="BlockUnrated" type="bool"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="BU"/> + </mandatoryConform> + </attribute> + </attributes> + <commands> + <command id="0x00" name="UpdatePIN" response="Y"> + <access invokePrivilege="operate" timed="true"/> + <mandatoryConform> + <feature name="PIN"/> + </mandatoryConform> + <field id="0" name="OldPIN" type="string"> + <mandatoryConform/> + <constraint type="maxLength" value="6"/> + </field> + <field id="1" name="NewPIN" type="string"> + <mandatoryConform/> + <constraint type="maxLength" value="6"/> + </field> + </command> + <command id="0x01" name="ResetPIN" response="ResetPINResponse"> + <access invokePrivilege="admin" timed="true"/> + <mandatoryConform> + <feature name="PIN"/> + </mandatoryConform> + </command> + <command id="0x02" name="ResetPINResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="PIN"/> + </mandatoryConform> + <field id="0" name="PINCode" type="string"> + <mandatoryConform/> + <constraint type="maxLength" value="6"/> + </field> + </command> + <command id="0x03" name="Enable" response="Y"> + <access invokePrivilege="operate" timed="true"/> + <mandatoryConform/> + <field id="0" name="PINCode" type="string"> + <mandatoryConform/> + <constraint type="maxLength" value="6"/> + </field> + </command> + <command id="0x04" name="Disable" response="Y"> + <access invokePrivilege="operate" timed="true"/> + <mandatoryConform/> + <field id="0" name="PINCode" type="string"> + <mandatoryConform/> + <constraint type="maxLength" value="6"/> + </field> + </command> + <command id="0x05" name="AddBonusTime" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="ST"/> + </mandatoryConform> + <field id="0" name="PINCode" type="string"> + <mandatoryConform/> + <constraint type="maxLength" value="6"/> + </field> + <field id="1" name="BonusTime" type="elapsed-s" default="300s"> + <optionalConform/> + </field> + </command> + <command id="0x06" name="SetScreenDailyTime" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="ST"/> + </mandatoryConform> + <field id="0" name="PINCode" type="string"> + <mandatoryConform/> + <constraint type="maxLength" value="6"/> + </field> + <field id="1" name="ScreenTime" type="elapsed-s"> + <mandatoryConform/> + </field> + </command> + <command id="0x07" name="BlockUnratedContent" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="BU"/> + </mandatoryConform> + <field id="0" name="PINCode" type="string"> + <mandatoryConform/> + <constraint type="maxLength" value="6"/> + </field> + </command> + <command id="0x08" name="UnblockUnratedContent" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="BU"/> + </mandatoryConform> + <field id="0" name="PINCode" type="string"> + <mandatoryConform/> + <constraint type="maxLength" value="6"/> + </field> + </command> + </commands> + <events> + <event id="0x00" name="RemainingScreenTimeExpired" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform> + <feature name="ST"/> + </mandatoryConform> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/ContentLauncher.xml b/zcl-builtin/matter/new-data-model/ContentLauncher.xml new file mode 100644 index 0000000000000000000000000000000000000000..e36de856acdb0cd34d2876736a6f18c897a94c94 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/ContentLauncher.xml @@ -0,0 +1,297 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x050a" name="Content Launcher" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="CONTENTLAUNCHER" scope="Endpoint"/> + <features> + <feature bit="0" code="CS" name="ContentSearch" summary="Device supports content search (non-app specific)"> + <optionalConform/> + </feature> + <feature bit="1" code="UP" name="URLPlayback" summary="Device supports basic URL-based file playback"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="MetricTypeEnum"> + <item value="0" name="Pixels" summary="Dimensions defined in a number of Pixels"> + <mandatoryConform/> + </item> + <item value="1" name="Percentage" summary="Dimensions defined as a percentage"> + <mandatoryConform/> + </item> + </enum> + <enum name="ParameterEnum"> + <item value="0" name="Actor" summary="Actor represents an actor credited in video media content; for example, “Gaby Hoffmanâ€"> + <mandatoryConform/> + </item> + <item value="1" name="Channel" summary="Channel represents the identifying data for a television channel; for example, "PBS""> + <mandatoryConform/> + </item> + <item value="2" name="Character" summary="A character represented in video media content; for example, “Snow Whiteâ€"> + <mandatoryConform/> + </item> + <item value="3" name="Director" summary="A director of the video media content; for example, “Spike Leeâ€"> + <mandatoryConform/> + </item> + <item value="4" name="Event" summary="An event is a reference to a type of event; examples would include sports, music, or other types of events. + For example, searching for "Football games" would search for a 'game' event entity and a 'football' sport entity."> + <mandatoryConform/> + </item> + <item value="5" name="Franchise" summary="A franchise is a video entity which can represent a number of video entities, like movies or TV shows. + For example, take the fictional franchise "Intergalactic Wars" which represents a collection of movie trilogies, + as well as animated and live action TV shows. This entity type was introduced to account for requests by customers + such as "Find Intergalactic Wars movies", which would search for all 'Intergalactic Wars' programs of the MOVIE MediaType, + rather than attempting to match to a single title."> + <mandatoryConform/> + </item> + <item value="6" name="Genre" summary="Genre represents the genre of video media content such as action, drama or comedy."> + <mandatoryConform/> + </item> + <item value="7" name="League" summary="League represents the categorical information for a sporting league; for example, "NCAA""> + <mandatoryConform/> + </item> + <item value="8" name="Popularity" summary="Popularity indicates whether the user asks for popular content."> + <mandatoryConform/> + </item> + <item value="9" name="Provider" summary="The provider (MSP) the user wants this media to be played on; for example, "Netflix"."> + <mandatoryConform/> + </item> + <item value="10" name="Sport" summary="Sport represents the categorical information of a sport; for example, football"> + <mandatoryConform/> + </item> + <item value="11" name="SportsTeam" summary="SportsTeam represents the categorical information of a professional sports team; for example, "University of Washington Huskies""> + <mandatoryConform/> + </item> + <item value="12" name="Type" summary="The type of content requested. Supported types are "Movie", "MovieSeries", "TVSeries", "TVSeason", "TVEpisode", "SportsEvent", and "Video""> + <mandatoryConform/> + </item> + <item value="13" name="Video" summary="Video represents the identifying data for a specific piece of video content; for example, "Manchester by the Sea"."> + <mandatoryConform/> + </item> + </enum> + <enum name="StatusEnum"> + <item value="0" name="Success" summary="Command succeeded"> + <mandatoryConform/> + </item> + <item value="1" name="URLNotAvailable" summary="Requested URL could not be reached by device."> + <mandatoryConform/> + </item> + <item value="2" name="AuthFailed" summary="Requested URL returned 401 error code."> + <mandatoryConform/> + </item> + </enum> + <bitmap name="SupportedProtocolsBitmap"> + <bitfield name="DASH" bit="0" summary="Device supports Dynamic Adaptive Streaming over HTTP (DASH)"> + <mandatoryConform/> + </bitfield> + <bitfield name="HLS" bit="1" summary="Device supports HTTP Live Streaming (HLS)"> + <mandatoryConform/> + </bitfield> + </bitmap> + <struct name="AdditionalInfoStruct"> + <field id="0" name="Name" type="string"> + <mandatoryConform/> + <constraint type="maxLength" value="256"/> + </field> + <field id="1" name="Value" type="string"> + <mandatoryConform/> + <constraint type="maxLength" value="8192"/> + </field> + </struct> + <struct name="BrandingInformationStruct"> + <field id="0" name="ProviderName" type="string"> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="maxLength" value="256"/> + </field> + <field id="1" name="Background" type="StyleInformationStruct" default="MS"> + <access read="true" write="true"/> + <optionalConform/> + </field> + <field id="2" name="Logo" type="StyleInformationStruct" default="MS"> + <access read="true" write="true"/> + <optionalConform/> + </field> + <field id="3" name="ProgressBar" type="StyleInformationStruct" default="MS"> + <access read="true" write="true"/> + <optionalConform/> + </field> + <field id="4" name="Splash" type="StyleInformationStruct" default="MS"> + <access read="true" write="true"/> + <optionalConform/> + </field> + <field id="5" name="WaterMark" type="StyleInformationStruct" default="MS"> + <access read="true" write="true"/> + <optionalConform/> + </field> + </struct> + <struct name="ContentSearchStruct"> + <field id="0" name="ParameterList" type="list[ParameterStruct Type]" default="0"> + <mandatoryConform/> + </field> + </struct> + <struct name="DimensionStruct"> + <field id="0" name="Width" type="double" default="MS"> + <mandatoryConform/> + </field> + <field id="1" name="Height" type="double" default="MS"> + <mandatoryConform/> + </field> + <field id="2" name="Metric" type="MetricTypeEnum"> + <mandatoryConform/> + </field> + </struct> + <struct name="ParameterStruct"> + <field id="0" name="Type" type="ParameterEnum"> + <mandatoryConform/> + </field> + <field id="1" name="Value" type="string"> + <mandatoryConform/> + <constraint type="maxLength" value="1024"/> + </field> + <field id="2" name="ExternalIDList" type="list[AdditionalInfoStruct Type]" default="empty"> + <optionalConform/> + </field> + </struct> + <struct name="StyleInformationStruct"> + <field id="0" name="ImageURL" type="string" default="MS"> + <optionalConform/> + <constraint type="maxLength" value="8192"/> + </field> + <field id="1" name="Color" type="string" default="MS"> + <optionalConform/> + <constraint type="maxLength" value="7"/> + <constraint type="maxLength" value="9"/> + </field> + <field id="2" name="Size" type="DimensionStruct" default="MS"> + <optionalConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="AcceptHeader" type="list" default="empty"> + <entry type="string"> + <constraint type="maxLength" value="1024"/> + </entry> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="UP"/> + </mandatoryConform> + <constraint type="maxCount" value="100"/> + </attribute> + <attribute id="0x0001" name="SupportedStreamingProtocols" type="SupportedProtocolsBitmap" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="UP"/> + </mandatoryConform> + </attribute> + </attributes> + <commands> + <command id="0x00" name="LaunchContent" response="LauncherResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="CS"/> + </mandatoryConform> + <field id="0" name="Search" type="ContentSearchStruct"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="AutoPlay" type="bool"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="2" name="Data" type="string" default="MS"> + <optionalConform/> + </field> + </command> + <command id="0x01" name="LaunchURL" response="LauncherResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="UP"/> + </mandatoryConform> + <field id="0" name="ContentURL" type="string"> + <mandatoryConform/> + </field> + <field id="1" name="DisplayString" type="string" default="MS"> + <optionalConform/> + </field> + <field id="2" name="BrandingInformation" type="BrandingInformationStruct" default="MS"> + <optionalConform/> + </field> + </command> + <command id="0x02" name="LauncherResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <orTerm> + <feature name="CS"/> + <feature name="UP"/> + </orTerm> + </mandatoryConform> + <field id="0" name="Status" type="StatusEnum"> + <mandatoryConform/> + </field> + <field id="1" name="Data" type="string" default="MS"> + <optionalConform/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/DemandResponseLoadControl.xml b/zcl-builtin/matter/new-data-model/DemandResponseLoadControl.xml new file mode 100644 index 0000000000000000000000000000000000000000..87e2e54792b739def5eb4a2c93bc578c692265d3 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/DemandResponseLoadControl.xml @@ -0,0 +1,479 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0096" name="Demand Response and Load Control" revision="4"> + <revisionHistory> + <revision revision="1" summary="mandatory global ClusterRevision attribute added"/> + <revision revision="2" summary="Updated from SE1.4 version; CCB 1291 1297 1447 1513 1880 2287 2964 2965"/> + <revision revision="3" summary="CCB 2966 3396"/> + <revision revision="4" summary="Matter Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="DRLC" scope="Endpoint"/> + <features> + <feature bit="0" code="ENRLG" name="Enrollment Groups" summary="Supports enrollment groups"> + <optionalConform/> + </feature> + <feature bit="1" code="TEMPO" name="TemperatureOffset" summary="Supports temperature offsets"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="2" code="TEMPS" name="TemperatureSetpoint" summary="Supports temperature setpoints"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="3" code="LOADA" name="LoadAdjustment" summary="Supports average load adjustment percentage"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="4" code="DUTYC" name="DutyCycle" summary="Supports duty cycle adjustment"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="5" code="PWRSV" name="PowerSavings" summary="Supports power savings"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="6" code="HEATS" name="HeatingSource" summary="Supports selecting heating source"> + <optionalConform choice="a" more="true"/> + </feature> + </features> + <dataTypes> + <enum name="CriticalityLevelEnum"> + <item value="0" name="Invalid"> + <mandatoryConform/> + </item> + <item value="1" name="Green" summary="Voluntary"> + <mandatoryConform/> + </item> + <item value="2" name="Level1" summary="Voluntary"> + <mandatoryConform/> + </item> + <item value="3" name="Level2" summary="Voluntary"> + <mandatoryConform/> + </item> + <item value="4" name="Level3" summary="Voluntary"> + <mandatoryConform/> + </item> + <item value="5" name="Level4" summary="Voluntary"> + <mandatoryConform/> + </item> + <item value="6" name="Level5" summary="Voluntary"> + <mandatoryConform/> + </item> + <item value="7" name="Emergency" summary="Mandatory"> + <mandatoryConform/> + </item> + <item value="8" name="PlannedOutage" summary="Mandatory"> + <mandatoryConform/> + </item> + <item value="9" name="ServiceDisconnect" summary="Mandatory"> + <mandatoryConform/> + </item> + </enum> + <enum name="HeatingSourceEnum"> + <item value="0" name="Any" summary="Any heating source"> + <mandatoryConform/> + </item> + <item value="1" name="Electric" summary="Electric heating"> + <mandatoryConform/> + </item> + <item value="2" name="NaturalGas" summary="Gas heating"> + <mandatoryConform/> + </item> + </enum> + <enum name="LoadControlEventChangeSourceEnum"> + <item value="0" name="Automatic" summary="This event change was automatic"> + <mandatoryConform/> + </item> + <item value="1" name="UserAction" summary="This event change was due to a user action"> + <mandatoryConform/> + </item> + </enum> + <enum name="LoadControlEventStatusEnum"> + <item value="1" name="Received" summary="Load Control Event command received"> + <mandatoryConform/> + </item> + <item value="2" name="InProgress" summary="Event in progress"> + <mandatoryConform/> + </item> + <item value="3" name="Completed" summary="Event completed"> + <mandatoryConform/> + </item> + <item value="4" name="OptedOut" summary="User opted-out"> + <mandatoryConform/> + </item> + <item value="5" name="OptedIn" summary="User opted-in"> + <mandatoryConform/> + </item> + <item value="6" name="Canceled" summary="Event canceled"> + <mandatoryConform/> + </item> + <item value="7" name="Superseded" summary="Event superseded"> + <mandatoryConform/> + </item> + <item value="8" name="PartialOptedOut" summary="Event partially completed due to opt-out"> + <mandatoryConform/> + </item> + <item value="9" name="PartialOptedIn" summary="Event partially completed due to opt-in"> + <mandatoryConform/> + </item> + <item value="10" name="NoParticipation" summary="Event complete with no participation"> + <mandatoryConform/> + </item> + <item value="11" name="Unavailable" summary="Device not available to participate"> + <mandatoryConform/> + </item> + <item value="12" name="Failed" summary="Device failed to process the event"> + <mandatoryConform/> + </item> + </enum> + <enum name="PowerSavingsEnum"> + <item value="0" name="Low" summary="40% savings"> + <mandatoryConform/> + </item> + <item value="1" name="Medium" summary="70% savings"> + <mandatoryConform/> + </item> + <item value="2" name="High" summary="100% savings; device off"> + <mandatoryConform/> + </item> + </enum> + <bitmap name="CancelControlBitmap"> + <bitfield name="RandomEnd" bit="0" summary="Randomize end time"> + <mandatoryConform/> + </bitfield> + </bitmap> + <bitmap name="EventControlBitmap"> + <bitfield name="RandomStart" bit="0" summary="Randomize start time"> + <mandatoryConform/> + </bitfield> + </bitmap> + <bitmap name="EventTransitionControlBitmap"> + <bitfield name="RandomDuration" bit="0" summary="Randomize duration"> + <mandatoryConform/> + </bitfield> + <bitfield name="IgnoreOptOut" bit="1" summary="Ignore opt-out"> + <mandatoryConform/> + </bitfield> + </bitmap> + <struct name="AverageLoadControlStruct"> + <field id="1" name="LoadAdjustment" type="int8"> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="between" from="0" to="100"/> + </field> + </struct> + <struct name="DutyCycleControlStruct"> + <field id="1" name="DutyCycle" type="uint8"> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="between" from="0" to="100"/> + </field> + </struct> + <struct name="HeatingSourceControlStruct"> + <field id="1" name="HeatingSource" type="HeatingSourceEnum"> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + </struct> + <struct name="LoadControlEventTransitionStruct"> + <field id="1" name="Duration" type="uint16" default="0"> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="max" value="1440"/> + </field> + <field id="2" name="Control" type="EventTransitionControlBitmap" default="0"> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + <field id="3" name="TemperatureControl" type="TemperatureControlStruct" default="null"> + <access read="true" write="true"/> + <quality nullable="true"/> + </field> + <field id="4" name="AverageLoadControl" type="AverageLoadControlStruct" default="null"> + <access read="true" write="true"/> + <quality nullable="true"/> + </field> + <field id="5" name="DutyCycleControl" type="DutyCycleControlStruct" default="null"> + <access read="true" write="true"/> + <quality nullable="true"/> + </field> + <field id="6" name="PowerSavingsControl" type="PowerSavingsControlStruct" default="null"> + <access read="true" write="true"/> + <quality nullable="true"/> + </field> + <field id="7" name="HeatingSourceControl" type="HeatingSourceControlStruct" default="null"> + <access read="true" write="true"/> + <quality nullable="true"/> + </field> + </struct> + <struct name="LoadControlProgramStruct"> + <field id="0" name="ProgramID" type="octets" default="0"> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="maxLength" value="16"/> + </field> + <field id="1" name="Name" type="string"> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="maxLength" value="32"/> + </field> + <field id="2" name="EnrollmentGroup" type="uint8" default="null"> + <access read="true" write="true"/> + <quality nullable="true"/> + <mandatoryConform> + <feature name="ENRLG"/> + </mandatoryConform> + <constraint type="between" from="0x01" to="0xFF"/> + </field> + <field id="3" name="RandomStartMinutes" type="uint8" default="null"> + <access read="true" write="true"/> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="between" from="0x00" to="0x3C"/> + </field> + <field id="4" name="RandomDurationMinutes" type="uint8" default="null"> + <access read="true" write="true"/> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="between" from="0x00" to="0x3C"/> + </field> + </struct> + <struct name="PowerSavingsControlStruct"> + <field id="1" name="PowerSavings" type="PowerSavingsEnum"> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + </struct> + <struct name="TemperatureControlStruct"> + <field id="0" name="CoolingTempOffset" type="<<ref_TempDiff>>" default="null"> + <access read="true" write="true"/> + <quality nullable="true"/> + <mandatoryConform> + <feature name="TEMPO"/> + </mandatoryConform> + <constraint type="between" from="0x00" to="0x0FE"/> + </field> + <field id="1" name="HeatingTempOffset" type="<<ref_TempDiff>>" default="null"> + <access read="true" write="true"/> + <quality nullable="true"/> + <mandatoryConform> + <feature name="TEMPO"/> + </mandatoryConform> + <constraint type="between" from="0x00" to="0x0FE"/> + </field> + <field id="2" name="CoolingTempSetpoint" type="temperature" default="null"> + <access read="true" write="true"/> + <quality nullable="true"/> + <mandatoryConform> + <feature name="TEMPS"/> + </mandatoryConform> + <constraint type="between" from="0x954D" to="0x7FFF"/> + </field> + <field id="3" name="HeatingTempSetpoint" type="temperature" default="null"> + <access read="true" write="true"/> + <quality nullable="true"/> + <mandatoryConform> + <feature name="TEMPS"/> + </mandatoryConform> + <constraint type="between" from="0x954D" to="0x7FFF"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="DeviceClass" type="DeviceClassBitmap" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="LoadControlPrograms" type="list[LoadControlProgramStruct Type]" default="empty"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0002" name="NumberOfLoadControlPrograms" type="uint8" default="5"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="min" value="5"/> + </attribute> + <attribute id="0x0003" name="Events" type="list[LoadControlEventStruct Type]" default="empty"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0004" name="NumberOfEventsPerProgram" type="uint8" default="10"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="min" value="10"/> + </attribute> + <attribute id="0x0005" name="NumberOfTransitions" type="uint8" default="3"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="min" value="3"/> + </attribute> + <attribute id="0x0006" name="DefaultRandomStart" type="uint8" default="0x1E"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0x00" to="0x3C"/> + </attribute> + <attribute id="0x0007" name="DefaultRandomDuration" type="uint8" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0x00" to="0x3C"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="RegisterLoadControlProgramRequest" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="LoadControlProgram" type="LoadControlProgramStruct"> + <mandatoryConform/> + </field> + </command> + <command id="0x01" name="UnregisterLoadControlProgramRequest" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="LoadControlProgramID" type="octets"> + <mandatoryConform/> + <constraint type="maxLength" value="16"/> + </field> + </command> + <command id="0x02" name="AddLoadControlEventRequest" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Event" type="LoadControlEventStruct"> + <mandatoryConform/> + </field> + </command> + <command id="0x03" name="RemoveLoadControlEventRequest" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="EventID" type="octets"> + <mandatoryConform/> + <constraint type="maxLength" value="16"/> + </field> + <field id="1" name="CancelControl" type="CancelControlBitmap" default="0"> + <mandatoryConform/> + </field> + </command> + <command id="0x04" name="ClearLoadControlEventsRequest" response="Y"> + <access invokePrivilege="operate"/> + <optionalConform/> + </command> + </commands> + <events> + <event id="0x00" name="LoadControlEventStatusChange" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform/> + <field id="0" name="EventID" type="octets"> + <mandatoryConform/> + <constraint type="maxLength" value="16"/> + </field> + <field id="1" name="TransitionIndex" type="uint8" default="null"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="2" name="Status" type="LoadControlEventStatusEnum"> + <mandatoryConform/> + </field> + <field id="3" name="Criticality" type="CriticalityLevelEnum"> + <mandatoryConform/> + </field> + <field id="4" name="Control" type="EventControlBitmap" default="0"> + <mandatoryConform/> + </field> + <field id="5" name="TemperatureControl" type="TemperatureControlStruct" default="null"> + <quality nullable="true"/> + <mandatoryConform> + <orTerm> + <feature name="TEMPO"/> + <feature name="TEMPS"/> + </orTerm> + </mandatoryConform> + </field> + <field id="6" name="AverageLoadControl" type="AverageLoadControlStruct" default="null"> + <quality nullable="true"/> + <mandatoryConform> + <feature name="LOADA"/> + </mandatoryConform> + </field> + <field id="7" name="DutyCycleControl" type="DutyCycleControlStruct" default="null"> + <quality nullable="true"/> + <mandatoryConform> + <feature name="DUTYC"/> + </mandatoryConform> + </field> + <field id="8" name="PowerSavingsControl" type="PowerSavingsControlStruct" default="null"> + <quality nullable="true"/> + <mandatoryConform> + <feature name="PWRSV"/> + </mandatoryConform> + </field> + <field id="9" name="HeatingSourceControl" type="HeatingSourceControlStruct" default="null"> + <quality nullable="true"/> + <mandatoryConform> + <feature name="HEATS"/> + </mandatoryConform> + </field> + <field id="255" name="Signature" type="octets" default="null"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="maxLength" value="48"/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Descriptor-Cluster.xml b/zcl-builtin/matter/new-data-model/Descriptor-Cluster.xml new file mode 100644 index 0000000000000000000000000000000000000000..47fa27497c63e47f17db6f989826a64f7d56b7a3 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Descriptor-Cluster.xml @@ -0,0 +1,111 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x001d" name="Descriptor" revision="2"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + <revision revision="2" summary="Semantic tag list; TagList feature"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="DESC" scope="Endpoint"/> + <features> + <feature bit="0" code="TAGLIST" name="TagList" summary="The TagList attribute is present"/> + </features> + <dataTypes> + <struct name="DeviceTypeStruct"> + <field id="0" name="DeviceType" type="devtype-id"> + <mandatoryConform/> + </field> + <field id="1" name="Revision" type="uint16"> + <mandatoryConform/> + <constraint type="min" value="1"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="DeviceTypeList" type="list[DeviceTypeStruct Type]" default="desc"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="min" value="1"/> + </attribute> + <attribute id="0x0001" name="ServerList" type="list" default="empty"> + <entry type="cluster-id"/> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0002" name="ClientList" type="list" default="empty"> + <entry type="cluster-id"/> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0003" name="PartsList" type="list" default="empty"> + <entry type="endpoint-no"/> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0004" name="TagList" type="list[<<ref_SemTag>>]" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="TAGLIST"/> + </mandatoryConform> + <constraint type="between" from="1" to="6"/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/DeviceEnergyManagement.xml b/zcl-builtin/matter/new-data-model/DeviceEnergyManagement.xml new file mode 100644 index 0000000000000000000000000000000000000000..74540890dcba7dd65a676e4da2ca8929b2006bf7 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/DeviceEnergyManagement.xml @@ -0,0 +1,507 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0098" name="Device Energy Management" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="DENM" scope="Endpoint"/> + <features> + <feature bit="0" code="PA" name="PowerAdjustment" summary="Allows an EMS a temporary power + adjustment (within the limits offered by the ESA)."> + <mandatoryConform/> + </feature> + <feature bit="1" code="PFR" name="PowerForecastReporting" summary="Allows an EMS to request the indicative + future power consumption vs time of an ESA."> + <otherwiseConform> + <mandatoryConform> + <feature name="PFA"/> + </mandatoryConform> + <optionalConform/> + </otherwiseConform> + </feature> + <feature bit="2" code="PFA" name="PowerForecastAdjustment" summary="Allows an EMS to adjust the indicative + future power consumption vs time of an ESA."> + <optionalConform/> + </feature> + </features> + <dataTypes> + <number name="Energy" type=""/> + <number name="Power" type=""/> + <enum name="CostTypeEnum"> + <item value="0" name="Financial" summary="Financial cost"> + <mandatoryConform/> + </item> + <item value="1" name="GHGEmissions" summary="Grid CO2e grams cost"> + <mandatoryConform/> + </item> + <item value="2" name="Comfort" summary="Consumer comfort impact cost"> + <mandatoryConform/> + </item> + <item value="3" name="Temperature" summary="Temperature impact cost"> + <mandatoryConform/> + </item> + </enum> + <enum name="EsaStateEnum"> + <item value="0" name="Offline" summary="The ESA is not available to the EMS (e.g. start-up, maintenance mode)"> + <mandatoryConform/> + </item> + <item value="1" name="Online" summary="The ESA is working normally and can be controlled by the EMS"> + <mandatoryConform/> + </item> + <item value="2" name="Fault" summary="The ESA has developed a fault and cannot provide service"> + <mandatoryConform/> + </item> + <item value="3" name="UserOptOut" summary="The user has disabled the ESA's flexibility capability for a period of time"> + <mandatoryConform/> + </item> + <item value="4" name="PowerAdjustActive" summary="The ESA is in the middle of a power adjustment event"> + <optionalConform> + <feature name="PA"/> + </optionalConform> + </item> + <item value="5" name="Paused" summary="The ESA is currently paused in its Power Forecast"> + <optionalConform> + <feature name="PFA"/> + </optionalConform> + </item> + </enum> + <enum name="EsaTypeEnum"> + <item value="0" name="EVSE" summary="EV Supply Equipment"> + <optionalConform/> + </item> + <item value="1" name="SpaceHeating" summary="Space heating appliance"> + <optionalConform/> + </item> + <item value="2" name="WaterHeating" summary="Water heating appliance"> + <optionalConform/> + </item> + <item value="3" name="SpaceCooling" summary="Space cooling appliance"> + <optionalConform/> + </item> + <item value="4" name="SpaceHeatingCooling" summary="Space heating and cooling appliance"> + <optionalConform/> + </item> + <item value="5" name="BatteryStorage" summary="Battery Electric Storage System"> + <optionalConform/> + </item> + <item value="6" name="SolarPV" summary="Solar PV inverter"> + <optionalConform/> + </item> + <item value="7" name="FridgeFreezer" summary="Fridge / Freezer"> + <optionalConform/> + </item> + <item value="8" name="WashingMachine" summary="Washing Machine"> + <optionalConform/> + </item> + <item value="9" name="Dishwasher" summary="Dishwasher"> + <optionalConform/> + </item> + <item value="10" name="Cooking" summary="Cooking appliance"> + <optionalConform/> + </item> + <item value="255" name="Other" summary="Other appliance type"> + <optionalConform/> + </item> + </enum> + <struct name="CostStruct"> + <field id="0" name="CostType" type="CostTypeEnum" default="0"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="1" name="Value" type="int32" default="0"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="2" name="DecimalPoints" type="uint8" default="0"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="3" name="Currency" type="uint16" default="0"> + <access read="true"/> + <optionalConform/> + <constraint type="max" value="999"/> + </field> + </struct> + <struct name="PowerAdjustStruct"> + <field id="0" name="MinPower" type="Power" default="0"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="1" name="MaxPower" type="Power" default="0"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="2" name="MinDuration" type="elapsed-s" default="0"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="3" name="MaxDuration" type="elapsed-s"> + <access read="true"/> + <mandatoryConform/> + </field> + </struct> + <struct name="PowerForecastStruct"> + <field id="0" name="ForecastId" type="uint16" default="0"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="1" name="ActiveSlotNumber" type="uint16" default="0"> + <access read="true"/> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="2" name="StartTime" type="epoch-s"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="3" name="EndTime" type="epoch-s"> + <access read="true"/> + <optionalConform/> + </field> + <field id="4" name="EarliestStartTime" type="epoch-s"> + <access read="true"/> + <quality nullable="true"/> + <mandatoryConform> + <feature name="PFA"/> + </mandatoryConform> + </field> + <field id="5" name="LatestEndTime" type="epoch-s"> + <access read="true"/> + <mandatoryConform> + <feature name="PFA"/> + </mandatoryConform> + </field> + <field id="6" name="IsPausable" type="bool"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="7" name="Slots" type="list"> + <entry type="SlotStruct"/> + <access read="true"/> + <mandatoryConform/> + <constraint type="maxCount" value="16"/> + </field> + </struct> + <struct name="PowerLimitsStruct structure"> + <field id="0" name="StartTime" type="epoch-s"> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="Duration" type="elapsed-s"> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="2" name="NominalPower" type="Power"> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="3" name="MaximumEnergy" type="Energy"> + <access read="true" write="true"/> + <optionalConform/> + </field> + </struct> + <struct name="SlotAdjustmentStruct"> + <field id="0" name="SlotIndex" type="uint16"> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="NominalPower" type="Power"> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="2" name="Duration" type="elapsed-s"> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </struct> + <struct name="SlotStruct"> + <field id="0" name="MinDuration" type="elapsed-s"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="1" name="MaxDuration" type="elapsed-s"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="2" name="DefaultDuration" type="elapsed-s"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="3" name="ElapsedSlotTime" type="elapsed-s"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="4" name="RemainingSlotTime" type="elapsed-s"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="5" name="SlotIsPauseable" type="bool"> + <access read="true"/> + <optionalConform/> + </field> + <field id="6" name="NominalPower" type="Power"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="7" name="MinPower" type="Power"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="8" name="MaxPower" type="Power"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="9" name="NominalEnergy" type="Energy"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="10" name="Costs" type="list[CostStruct Type]"> + <access read="true"/> + <optionalConform/> + <constraint type="max" value="5"/> + </field> + <field id="11" name="MinPowerAdjustment" type="Power"> + <access read="true"/> + <mandatoryConform> + <feature name="PFA"/> + </mandatoryConform> + </field> + <field id="12" name="MaxPowerAdjustment" type="Power"> + <access read="true"/> + <mandatoryConform> + <feature name="PFA"/> + </mandatoryConform> + </field> + <field id="13" name="MinDurationAdjustment" type="elapsed-s"> + <access read="true"/> + <mandatoryConform> + <feature name="PFA"/> + </mandatoryConform> + </field> + <field id="14" name="MaxDurationAdjustment" type="elapsed-s"> + <access read="true"/> + <mandatoryConform> + <feature name="PFA"/> + </mandatoryConform> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="EsaType" type="EsaTypeEnum" default="Other"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="EsaIsGenerator" type="bool" default="false"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0002" name="EsaState" type="EsaStateEnum" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0003" name="AbsMinPower" type="Power" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0004" name="AbsMaxPower" type="Power" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0005" name="PowerAdjustmentCapability" type="list[PowerAdjustStruct Type]" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="PA"/> + </mandatoryConform> + <constraint type="max" value="16"/> + </attribute> + <attribute id="0x0006" name="PowerForecast" type="PowerForecastStruct" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="PFR"/> + </mandatoryConform> + </attribute> + </attributes> + <commands> + <command id="0x00" name="PowerAdjustRequest" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Power" type="Power"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="Duration" type="elapsed-s"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x01" name="CancelPowerAdjustRequest" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + </command> + <command id="0x02" name="StartTimeAdjustRequest" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="PFA"/> + </mandatoryConform> + <field id="0" name="RequestedStartTime" type="epoch-s"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x03" name="PauseRequest" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="PFA"/> + </mandatoryConform> + </command> + <command id="0x04" name="ResumeRequest" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="PFA"/> + </mandatoryConform> + </command> + <command id="0x05" name="ModifyPowerForecastRequest" response="Y"> + <access invokePrivilege="operate"/> + <optionalConform> + <feature name="PFA"/> + </optionalConform> + <field id="0" name="ForecastId" type="uint32"> + <mandatoryConform/> + </field> + <field id="1" name="SlotAdjustments" type="list[SlotAdjustmentStruct Type]"> + <mandatoryConform/> + </field> + </command> + <command id="0x06" name="RequestLimitBasedPowerForecast" response="Y"> + <access invokePrivilege="operate"/> + <optionalConform> + <feature name="PFA"/> + </optionalConform> + <field id="1" name="PowerLimits" type="list[PowerLimitsStruct structure]"> + <mandatoryConform/> + <constraint type="max" value="10"/> + </field> + </command> + </commands> + <events> + <event id="0x00" name="PowerAdjustStart" priority="info"> + <access readPrivilege="view"/> + <optionalConform> + <feature name="PA"/> + </optionalConform> + </event> + <event id="0x01" name="PowerAdjustEnd" priority="info"> + <access readPrivilege="view"/> + <optionalConform> + <feature name="PA"/> + </optionalConform> + <field id="0" name="Cause" type="enum8" default="NormalCompletion"> + <enum> + <item value="0" name="NormalCompletion" summary="The ESA completed the session as requested"> + <optionalConform/> + </item> + <item value="1" name="Offline" summary="The ESA was set to offline"> + <optionalConform/> + </item> + <item value="2" name="Fault" summary="The ESA has developed a fault could not complete the service"> + <optionalConform/> + </item> + <item value="3" name="UserOptOut" summary="The user has disabled the ESA's flexibility capability"> + <optionalConform/> + </item> + </enum> + <mandatoryConform> + <feature name="PA"/> + </mandatoryConform> + </field> + <field id="1" name="Duration" type="elapsed-s"> + <mandatoryConform> + <feature name="PA"/> + </mandatoryConform> + </field> + <field id="1" name="EnergyUse" type="Energy"> + <mandatoryConform> + <feature name="PA"/> + </mandatoryConform> + </field> + </event> + <event id="0x02" name="Paused" priority="info"> + <access readPrivilege="view"/> + <optionalConform> + <feature name="PFA"/> + </optionalConform> + </event> + <event id="0x03" name="Resumed" priority="info"> + <access readPrivilege="view"/> + <optionalConform> + <feature name="PFA"/> + </optionalConform> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/DiagnosticLogsCluster.xml b/zcl-builtin/matter/new-data-model/DiagnosticLogsCluster.xml new file mode 100644 index 0000000000000000000000000000000000000000..89cf8d607b6be4901da74b4c9ac3c79edb6a0f22 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/DiagnosticLogsCluster.xml @@ -0,0 +1,136 @@ +<?xml version="1.0"?> +<!-- +link:../matter-defines.adoc[] + +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0032" name="Diagnostic Logs" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="DLOG" scope="Node"/> + <dataTypes> + <enum name="IntentEnum"> + <item value="0" name="EndUserSupport" summary="Logs to be used for end-user support"> + <mandatoryConform/> + </item> + <item value="1" name="NetworkDiag" summary="Logs to be used for network diagnostics"> + <mandatoryConform/> + </item> + <item value="2" name="CrashLogs" summary="Obtain crash logs from the Node"> + <mandatoryConform/> + </item> + </enum> + <enum name="StatusEnum"> + <item value="0" name="Success" summary="Successful transfer of logs"> + <mandatoryConform/> + </item> + <item value="1" name="Exhausted" summary="All logs has been transferred"> + <mandatoryConform/> + </item> + <item value="2" name="NoLogs" summary="No logs of the requested type available"> + <mandatoryConform/> + </item> + <item value="3" name="Busy" summary="Unable to handle request, retry later"> + <mandatoryConform/> + </item> + <item value="4" name="Denied" summary="The request is denied, no logs being transferred"> + <mandatoryConform/> + </item> + </enum> + <enum name="TransferProtocolEnum"> + <item value="0" name="ResponsePayload" summary="Logs to be returned as a response"> + <mandatoryConform/> + </item> + <item value="1" name="BDX" summary="Logs to be returned using BDX"> + <mandatoryConform/> + </item> + </enum> + </dataTypes> + <commands> + <command id="0x00" name="RetrieveLogsRequest" response="RetrieveLogsResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Intent" type="IntentEnum"> + <mandatoryConform/> + </field> + <field id="1" name="RequestedProtocol" type="TransferProtocolEnum"> + <mandatoryConform/> + </field> + <field id="2" name="TransferFileDesignator" type="<<ref_DataTypeString>>"> + <optionalConform/> + <constraint type="max" value="32"/> + </field> + </command> + <command id="0x01" name="RetrieveLogsResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Status" type="StatusEnum"> + <mandatoryConform/> + </field> + <field id="1" name="LogContent" type="<<ref_DataTypeOctstr>>"> + <mandatoryConform/> + <constraint type="max" value="1024"/> + </field> + <field id="2" name="UTCTimeStamp" type="<<ref_DataTypeEpochUs>>"> + <optionalConform/> + </field> + <field id="3" name="TimeSinceBoot" type="<<ref_DataTypeSystemTimeUs>>"> + <optionalConform/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/DiagnosticsEthernet.xml b/zcl-builtin/matter/new-data-model/DiagnosticsEthernet.xml new file mode 100644 index 0000000000000000000000000000000000000000..9dee6834251b45d8fa7fc44806af7e81a179f682 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/DiagnosticsEthernet.xml @@ -0,0 +1,173 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0037" name="Ethernet Network Diagnostics" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="DGETH" scope="Node"/> + <features> + <feature bit="0" code="PKTCNT" name="PacketCounts" summary="Node makes available the counts for the number of received and transmitted packets on the ethernet interface."> + <optionalConform/> + </feature> + <feature bit="1" code="ERRCNT" name="ErrorCounts" summary="Node makes available the counts for the number of errors that have occurred during the reception and transmission of packets on the ethernet interface."> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="PHYRateEnum"> + <item value="0" name="Rate10M" summary="PHY rate is 10Mbps"> + <mandatoryConform/> + </item> + <item value="1" name="Rate100M" summary="PHY rate is 100Mbps"> + <mandatoryConform/> + </item> + <item value="2" name="Rate1G" summary="PHY rate is 1Gbps"> + <mandatoryConform/> + </item> + <item value="3" name="Rate2_5G" summary="PHY rate is 2.5Gbps"> + <mandatoryConform/> + </item> + <item value="4" name="Rate5G" summary="PHY rate is 5Gbps"> + <mandatoryConform/> + </item> + <item value="5" name="Rate10G" summary="PHY rate is 10Gbps"> + <mandatoryConform/> + </item> + <item value="6" name="Rate40G" summary="PHY rate is 40Gbps"> + <mandatoryConform/> + </item> + <item value="7" name="Rate100G" summary="PHY rate is 100Gbps"> + <mandatoryConform/> + </item> + <item value="8" name="Rate200G" summary="PHY rate is 200Gbps"> + <mandatoryConform/> + </item> + <item value="9" name="Rate400G" summary="PHY rate is 400Gbps"> + <mandatoryConform/> + </item> + </enum> + </dataTypes> + <attributes> + <attribute id="0x0000" name="PHYRate" type="PHYRateEnum" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0001" name="FullDuplex" type="bool" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0002" name="PacketRxCount" type="uint64" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="PKTCNT"/> + </mandatoryConform> + </attribute> + <attribute id="0x0003" name="PacketTxCount" type="uint64" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="PKTCNT"/> + </mandatoryConform> + </attribute> + <attribute id="0x0004" name="TxErrCount" type="uint64" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="ERRCNT"/> + </mandatoryConform> + </attribute> + <attribute id="0x0005" name="CollisionCount" type="uint64" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="ERRCNT"/> + </mandatoryConform> + </attribute> + <attribute id="0x0006" name="OverrunCount" type="uint64" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="ERRCNT"/> + </mandatoryConform> + </attribute> + <attribute id="0x0007" name="CarrierDetect" type="bool" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0008" name="TimeSinceReset" type="uint64" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="ResetCounts" response="Y"> + <access invokePrivilege="manage"/> + <mandatoryConform> + <orTerm> + <feature name="PKTCNT"/> + <feature name="ERRCNT"/> + </orTerm> + </mandatoryConform> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/DiagnosticsGeneral.xml b/zcl-builtin/matter/new-data-model/DiagnosticsGeneral.xml new file mode 100644 index 0000000000000000000000000000000000000000..fdf114dd35f54d2ef03517182ce4ac4a776a9722 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/DiagnosticsGeneral.xml @@ -0,0 +1,335 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0033" name="General Diagnostics" revision="2"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + <revision revision="2" summary="UpTime attribute now mandatory, and added TimeSnapshot command"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="DGGEN" scope="Node"/> + <dataTypes> + <enum name="BootReasonEnum"> + <item value="0" name="Unspecified" summary="The Node is unable to identify the Power-On reason as one of the other provided enumeration values."> + <mandatoryConform/> + </item> + <item value="1" name="PowerOnReboot" summary="The Node has booted as the result of physical interaction with the device resulting in a reboot."> + <mandatoryConform/> + </item> + <item value="2" name="BrownOutReset" summary="The Node has rebooted as the result of a brown-out of the Node's power supply."> + <mandatoryConform/> + </item> + <item value="3" name="SoftwareWatchdogReset" summary="The Node has rebooted as the result of a software watchdog timer."> + <mandatoryConform/> + </item> + <item value="4" name="HardwareWatchdogReset" summary="The Node has rebooted as the result of a hardware watchdog timer."> + <mandatoryConform/> + </item> + <item value="5" name="SoftwareUpdateCompleted" summary="The Node has rebooted as the result of a completed software update."> + <mandatoryConform/> + </item> + <item value="6" name="SoftwareReset" summary="The Node has rebooted as the result of a software initiated reboot."> + <mandatoryConform/> + </item> + </enum> + <enum name="HardwareFaultEnum"> + <item value="0" name="Unspecified" summary="The Node has encountered an unspecified fault."> + <mandatoryConform/> + </item> + <item value="1" name="Radio" summary="The Node has encountered a fault with at least one of its radios."> + <optionalConform/> + </item> + <item value="2" name="Sensor" summary="The Node has encountered a fault with at least one of its sensors."> + <optionalConform/> + </item> + <item value="3" name="ResettableOverTemp" summary="The Node has encountered an over-temperature fault that is resettable."> + <optionalConform/> + </item> + <item value="4" name="NonResettableOverTemp" summary="The Node has encountered an over-temperature fault that is not resettable."> + <optionalConform/> + </item> + <item value="5" name="PowerSource" summary="The Node has encountered a fault with at least one of its power sources."> + <optionalConform/> + </item> + <item value="6" name="VisualDisplayFault" summary="The Node has encountered a fault with at least one of its visual displays."> + <optionalConform/> + </item> + <item value="7" name="AudioOutputFault" summary="The Node has encountered a fault with at least one of its audio outputs."> + <optionalConform/> + </item> + <item value="8" name="UserInterfaceFault" summary="The Node has encountered a fault with at least one of its user interfaces."> + <optionalConform/> + </item> + <item value="9" name="NonVolatileMemoryError" summary="The Node has encountered a fault with its non-volatile memory."> + <optionalConform/> + </item> + <item value="10" name="TamperDetected" summary="The Node has encountered disallowed physical tampering."> + <optionalConform/> + </item> + </enum> + <enum name="InterfaceTypeEnum"> + <item value="0" name="Unspecified" summary="Indicates an interface of an unspecified type."> + <mandatoryConform/> + </item> + <item value="1" name="WiFi" summary="Indicates a Wi-Fi interface."> + <optionalConform/> + </item> + <item value="2" name="Ethernet" summary="Indicates a Ethernet interface."> + <optionalConform/> + </item> + <item value="3" name="Cellular" summary="Indicates a Cellular interface."> + <optionalConform/> + </item> + <item value="4" name="Thread" summary="Indicates a Thread interface."> + <optionalConform/> + </item> + </enum> + <enum name="NetworkFaultEnum"> + <item value="0" name="Unspecified" summary="The Node has encountered an unspecified fault."> + <mandatoryConform/> + </item> + <item value="1" name="HardwareFailure" summary="The Node has encountered a network fault as a result of a hardware failure."> + <optionalConform/> + </item> + <item value="2" name="NetworkJammed" summary="The Node has encountered a network fault as a result of a jammed network."> + <optionalConform/> + </item> + <item value="3" name="ConnectionFailed" summary="The Node has encountered a network fault as a result of a failure to establish a connection."> + <optionalConform/> + </item> + </enum> + <enum name="RadioFaultEnum"> + <item value="0" name="Unspecified" summary="The Node has encountered an unspecified radio fault."> + <mandatoryConform/> + </item> + <item value="1" name="WiFiFault" summary="The Node has encountered a fault with its Wi-Fi radio."> + <optionalConform/> + </item> + <item value="2" name="CellularFault" summary="The Node has encountered a fault with its cellular radio."> + <optionalConform/> + </item> + <item value="3" name="ThreadFault" summary="The Node has encountered a fault with its 802.15.4 radio."> + <optionalConform/> + </item> + <item value="4" name="NFCFault" summary="The Node has encountered a fault with its NFC radio."> + <optionalConform/> + </item> + <item value="5" name="BLEFault" summary="The Node has encountered a fault with its BLE radio."> + <optionalConform/> + </item> + <item value="6" name="EthernetFault" summary="The Node has encountered a fault with its Ethernet controller."> + <optionalConform/> + </item> + </enum> + <struct name="NetworkInterface"> + <field id="0" name="Name" type="<<ref_DataTypeString>>"> + <access read="true"/> + <mandatoryConform/> + <constraint type="max" value="32"/> + </field> + <field id="1" name="IsOperational" type="bool"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="2" name="OffPremiseServicesReachableIPv4" type="bool" default="null"> + <access read="true"/> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="3" name="OffPremiseServicesReachableIPv6" type="bool" default="null"> + <access read="true"/> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="4" name="HardwareAddress" type="Hardware Address"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="5" name="IPv4Addresses" type="<<ref_DataTypeList>>[<<ref_Ipv4Adr>>]"> + <access read="true"/> + <mandatoryConform/> + <constraint type="max" value="4"/> + </field> + <field id="6" name="IPv6Addresses" type="<<ref_DataTypeList>>[<<ref_Ipv6Adr>>]"> + <access read="true"/> + <mandatoryConform/> + <constraint type="max" value="8"/> + </field> + <field id="7" name="Type" type="InterfaceTypeEnum"> + <access read="true"/> + <mandatoryConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="NetworkInterfaces" type="<<ref_DataTypeList>>[NetworkInterface Type]"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="max" value="8"/> + </attribute> + <attribute id="0x0001" name="RebootCount" type="uint16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0002" name="UpTime" type="uint64"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0003" name="TotalOperationalHours" type="uint32"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0004" name="BootReason" type="BootReasonEnum"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + </attribute> + <attribute id="0x0005" name="ActiveHardwareFaults" type="<<ref_DataTypeList>>[HardwareFaultEnum Type]"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + <constraint type="max" value="11"/> + </attribute> + <attribute id="0x0006" name="ActiveRadioFaults" type="<<ref_DataTypeList>>[RadioFaultEnum Type]"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + <constraint type="max" value="7"/> + </attribute> + <attribute id="0x0007" name="ActiveNetworkFaults" type="<<ref_DataTypeList>>[NetworkFaultEnum Type]"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + <constraint type="max" value="4"/> + </attribute> + <attribute id="0x0008" name="TestEventTriggersEnabled" type="bool"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="TestEventTrigger" response="Y"> + <access invokePrivilege="manage"/> + <mandatoryConform/> + <field id="0" name="EnableKey" type="octets"> + <mandatoryConform/> + <constraint type="maxLength" value="16"/> + </field> + <field id="1" name="EventTrigger" type="uint64"> + <mandatoryConform/> + </field> + </command> + <command id="0x01" name="TimeSnapshot" response="TimeSnapshotResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + </command> + <command id="0x02" name="TimeSnapshotResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="SystemTimeUs" type="<<ref_DataTypeSystemTimeUs>>" default="MS"> + <mandatoryConform/> + </field> + <field id="1" name="UTCTimeUs" type="<<ref_DataTypeEpochUs>>" default="null"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </command> + </commands> + <events> + <event id="0x00" name="HardwareFaultChange" priority="critical"> + <access readPrivilege="view"/> + <optionalConform/> + <field id="0" name="Current" type="<<ref_DataTypeList>>[HardwareFaultEnum Type]"> + <mandatoryConform/> + <constraint type="max" value="11"/> + </field> + <field id="1" name="Previous" type="<<ref_DataTypeList>>[HardwareFaultEnum Type]"> + <mandatoryConform/> + <constraint type="max" value="11"/> + </field> + </event> + <event id="0x01" name="RadioFaultChange" priority="critical"> + <access readPrivilege="view"/> + <optionalConform/> + <field id="0" name="Current" type="<<ref_DataTypeList>>[RadioFaultEnum Type]"> + <mandatoryConform/> + <constraint type="max" value="7"/> + </field> + <field id="1" name="Previous" type="<<ref_DataTypeList>>[RadioFaultEnum Type]"> + <mandatoryConform/> + <constraint type="max" value="7"/> + </field> + </event> + <event id="0x02" name="NetworkFaultChange" priority="critical"> + <access readPrivilege="view"/> + <optionalConform/> + <field id="0" name="Current" type="<<ref_DataTypeList>>[NetworkFaultEnum Type]"> + <mandatoryConform/> + <constraint type="max" value="4"/> + </field> + <field id="1" name="Previous" type="<<ref_DataTypeList>>[NetworkFaultEnum Type]"> + <mandatoryConform/> + <constraint type="max" value="4"/> + </field> + </event> + <event id="0x03" name="BootReason" priority="critical"> + <access readPrivilege="view"/> + <mandatoryConform/> + <field id="0" name="BootReason" type="BootReasonEnum"> + <mandatoryConform/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/DiagnosticsSoftware.xml b/zcl-builtin/matter/new-data-model/DiagnosticsSoftware.xml new file mode 100644 index 0000000000000000000000000000000000000000..c9934a7c1e740a986216fad48a8c240af7745893 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/DiagnosticsSoftware.xml @@ -0,0 +1,136 @@ +<?xml version="1.0"?> +<!-- +link:../matter-defines.adoc[] + +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0034" name="Software Diagnostics" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="DGSW" scope="Node"/> + <features> + <feature bit="0" code="WTRMRK" name="Watermarks" summary="Node makes available the metrics for high watermark related to memory consumption."> + <optionalConform/> + </feature> + </features> + <dataTypes> + <struct name="ThreadMetricsStruct"> + <field id="0" name="ID" type="uint64"> + <mandatoryConform/> + </field> + <field id="1" name="Name" type="<<ref_DataTypeString>>" default="empty"> + <optionalConform/> + <constraint type="max" value="8"/> + </field> + <field id="2" name="StackFreeCurrent" type="uint32" default="MS"> + <optionalConform/> + </field> + <field id="3" name="StackFreeMinimum" type="uint32" default="MS"> + <optionalConform/> + </field> + <field id="4" name="StackSize" type="uint32" default="MS"> + <optionalConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="ThreadMetrics" type="<<ref_DataTypeList>>[ThreadMetricsStruct]"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + <constraint type="max" value="64"/> + </attribute> + <attribute id="0x0001" name="CurrentHeapFree" type="uint64"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + </attribute> + <attribute id="0x0002" name="CurrentHeapUsed" type="uint64"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + </attribute> + <attribute id="0x0003" name="CurrentHeapHighWatermark" type="uint64"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="WTRMRK"/> + </mandatoryConform> + </attribute> + </attributes> + <commands> + <command id="0x00" name="ResetWatermarks" response="Y"> + <access invokePrivilege="manage"/> + <mandatoryConform> + <feature name="WTRMRK"/> + </mandatoryConform> + </command> + </commands> + <events> + <event id="0x00" name="SoftwareFault" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + <field id="0" name="ID" type="uint64" default="0"> + <mandatoryConform/> + </field> + <field id="1" name="Name" type="<<ref_DataTypeString>>" default="empty"> + <optionalConform/> + <constraint type="max" value="8"/> + </field> + <field id="2" name="FaultRecording" type="<<ref_DataTypeOctstr>>" default="empty"> + <optionalConform/> + <constraint type="max" value="1024"/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/DiagnosticsThread.xml b/zcl-builtin/matter/new-data-model/DiagnosticsThread.xml new file mode 100644 index 0000000000000000000000000000000000000000..1772f31618d2c097a2b2dcbda7a3295fcb80c850 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/DiagnosticsThread.xml @@ -0,0 +1,691 @@ +<?xml version="1.0"?> +<!-- +link:../matter-defines.adoc[] + +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0035" name="Thread Network Diagnostics" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="DGTHREAD" scope="Node"/> + <features> + <feature bit="0" code="PKTCNT" name="PacketCounts" summary="Server supports the counts for the number of received and transmitted packets on the Thread interface."> + <optionalConform/> + </feature> + <feature bit="1" code="ERRCNT" name="ErrorCounts" summary="Server supports the counts for the number of errors that have occurred during the reception and transmission of packets on the Thread interface."> + <optionalConform/> + </feature> + <feature bit="2" code="MLECNT" name="MLECounts" summary="Server supports the counts for various MLE layer happenings."> + <optionalConform/> + </feature> + <feature bit="3" code="MACCNT" name="MACCounts" summary="Server supports the counts for various MAC layer happenings."> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="ConnectionStatusEnum"> + <item value="0" name="Connected" summary="Node is connected"> + <mandatoryConform/> + </item> + <item value="1" name="NotConnected" summary="Node is not connected"> + <mandatoryConform/> + </item> + </enum> + <enum name="NetworkFaultEnum"> + <item value="0" name="Unspecified" summary="Indicates an unspecified fault."> + <mandatoryConform/> + </item> + <item value="1" name="LinkDown" summary="Indicates the Thread link is down."> + <mandatoryConform/> + </item> + <item value="2" name="HardwareFailure" summary="Indicates there has been Thread hardware failure."> + <mandatoryConform/> + </item> + <item value="3" name="NetworkJammed" summary="Indicates the Thread network is jammed."> + <mandatoryConform/> + </item> + </enum> + <enum name="RoutingRoleEnum"> + <item value="0" name="Unspecified" summary="Unspecified routing role."> + <mandatoryConform/> + </item> + <item value="1" name="Unassigned" summary="The Node does not currently have a role as a result of the Thread interface not currently being configured or operational."> + <mandatoryConform/> + </item> + <item value="2" name="SleepyEndDevice" summary="The Node acts as a Sleepy End Device with RX-off-when-idle sleepy radio behavior."> + <mandatoryConform/> + </item> + <item value="3" name="EndDevice" summary="The Node acts as an End Device without RX-off-when-idle sleepy radio behavior."> + <mandatoryConform/> + </item> + <item value="4" name="REED" summary="The Node acts as an Router Eligible End Device."> + <mandatoryConform/> + </item> + <item value="5" name="Router" summary="The Node acts as a Router Device."> + <mandatoryConform/> + </item> + <item value="6" name="Leader" summary="The Node acts as a Leader Device."> + <mandatoryConform/> + </item> + </enum> + <struct name="NeighborTableStruct"> + <field id="0" name="ExtAddress" type="uint64"> + <mandatoryConform/> + </field> + <field id="1" name="Age" type="uint32"> + <mandatoryConform/> + </field> + <field id="2" name="Rloc16" type="uint16"> + <mandatoryConform/> + </field> + <field id="3" name="LinkFrameCounter" type="uint32"> + <mandatoryConform/> + </field> + <field id="4" name="MleFrameCounter" type="uint32"> + <mandatoryConform/> + </field> + <field id="5" name="LQI" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="0" to="255"/> + </field> + <field id="6" name="AverageRssi" type="int8" default="null"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="between" from="-128" to="0"/> + </field> + <field id="7" name="LastRssi" type="int8" default="null"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="between" from="-128" to="0"/> + </field> + <field id="8" name="FrameErrorRate" type="uint8" default="0"> + <optionalConform/> + <constraint type="between" from="0" to="100"/> + </field> + <field id="9" name="MessageErrorRate" type="uint8" default="0"> + <optionalConform/> + <constraint type="between" from="0" to="100"/> + </field> + <field id="10" name="RxOnWhenIdle" type="bool"> + <mandatoryConform/> + </field> + <field id="11" name="FullThreadDevice" type="bool"> + <mandatoryConform/> + </field> + <field id="12" name="FullNetworkData" type="bool"> + <mandatoryConform/> + </field> + <field id="13" name="IsChild" type="bool"> + <mandatoryConform/> + </field> + </struct> + <struct name="OperationalDatasetComponents"> + <field id="0" name="ActiveTimestampPresent" type="bool"> + <mandatoryConform/> + </field> + <field id="1" name="PendingTimestampPresent" type="bool"> + <mandatoryConform/> + </field> + <field id="2" name="MasterKeyPresent" type="bool"> + <mandatoryConform/> + </field> + <field id="3" name="NetworkNamePresent" type="bool"> + <mandatoryConform/> + </field> + <field id="4" name="ExtendedPanIdPresent" type="bool"> + <mandatoryConform/> + </field> + <field id="5" name="MeshLocalPrefixPresent" type="bool"> + <mandatoryConform/> + </field> + <field id="6" name="DelayPresent" type="bool"> + <mandatoryConform/> + </field> + <field id="7" name="PanIdPresent" type="bool"> + <mandatoryConform/> + </field> + <field id="8" name="ChannelPresent" type="bool"> + <mandatoryConform/> + </field> + <field id="9" name="PskcPresent" type="bool"> + <mandatoryConform/> + </field> + <field id="10" name="SecurityPolicyPresent" type="bool"> + <mandatoryConform/> + </field> + <field id="11" name="ChannelMaskPresent" type="bool"> + <mandatoryConform/> + </field> + </struct> + <struct name="RouteTableStruct"> + <field id="0" name="ExtAddress" type="uint64"> + <mandatoryConform/> + </field> + <field id="1" name="Rloc16" type="uint16"> + <mandatoryConform/> + </field> + <field id="2" name="RouterId" type="uint8"> + <mandatoryConform/> + </field> + <field id="3" name="NextHop" type="uint8"> + <mandatoryConform/> + </field> + <field id="4" name="PathCost" type="uint8"> + <mandatoryConform/> + </field> + <field id="5" name="LQIIn" type="uint8"> + <mandatoryConform/> + </field> + <field id="6" name="LQIOut" type="uint8"> + <mandatoryConform/> + </field> + <field id="7" name="Age" type="uint8"> + <mandatoryConform/> + </field> + <field id="8" name="Allocated" type="bool"> + <mandatoryConform/> + </field> + <field id="9" name="LinkEstablished" type="bool"> + <mandatoryConform/> + </field> + </struct> + <struct name="SecurityPolicy"> + <field id="0" name="RotationTime" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="Flags" type="uint16"> + <mandatoryConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="Channel" type="uint16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="RoutingRole" type="RoutingRoleEnum"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0002" name="NetworkName" type="String"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="max" value="16"/> + </attribute> + <attribute id="0x0003" name="PanId" type="uint16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0004" name="ExtendedPanId" type="uint64"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0005" name="MeshLocalPrefix" type="ipv6pre"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0006" name="OverrunCount" type="uint64" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="ERRCNT"/> + </mandatoryConform> + </attribute> + <attribute id="0x0007" name="NeighborTable" type="<<ref_DataTypeList>>[NeighborTableStruct Type]" default="[]"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0008" name="RouteTable" type="<<ref_DataTypeList>>[RouteTableStruct Type]" default="[]"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0009" name="PartitionId" type="uint32"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x000a" name="Weighting" type="uint16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="max" value="255"/> + </attribute> + <attribute id="0x000b" name="DataVersion" type="uint16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="max" value="255"/> + </attribute> + <attribute id="0x000c" name="StableDataVersion" type="uint16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="max" value="255"/> + </attribute> + <attribute id="0x000d" name="LeaderRouterId" type="uint8"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="max" value="62"/> + </attribute> + <attribute id="0x000e" name="DetachedRoleCount" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MLECNT"/> + </optionalConform> + </attribute> + <attribute id="0x000f" name="ChildRoleCount" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MLECNT"/> + </optionalConform> + </attribute> + <attribute id="0x0010" name="RouterRoleCount" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MLECNT"/> + </optionalConform> + </attribute> + <attribute id="0x0011" name="LeaderRoleCount" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MLECNT"/> + </optionalConform> + </attribute> + <attribute id="0x0012" name="AttachAttemptCount" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MLECNT"/> + </optionalConform> + </attribute> + <attribute id="0x0013" name="PartitionIdChangeCount" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MLECNT"/> + </optionalConform> + </attribute> + <attribute id="0x0014" name="BetterPartitionAttachAttemptCount" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MLECNT"/> + </optionalConform> + </attribute> + <attribute id="0x0015" name="ParentChangeCount" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MLECNT"/> + </optionalConform> + </attribute> + <attribute id="0x0016" name="TxTotalCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0017" name="TxUnicastCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0018" name="TxBroadcastCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0019" name="TxAckRequestedCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x001a" name="TxAckedCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x001b" name="TxNoAckRequestedCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x001c" name="TxDataCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x001d" name="TxDataPollCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x001e" name="TxBeaconCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x001f" name="TxBeaconRequestCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0020" name="TxOtherCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0021" name="TxRetryCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0022" name="TxDirectMaxRetryExpiryCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0023" name="TxIndirectMaxRetryExpiryCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0024" name="TxErrCcaCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0025" name="TxErrAbortCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0026" name="TxErrBusyChannelCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0027" name="RxTotalCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0028" name="RxUnicastCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0029" name="RxBroadcastCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x002a" name="RxDataCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x002b" name="RxDataPollCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x002c" name="RxBeaconCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x002d" name="RxBeaconRequestCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x002e" name="RxOtherCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x002f" name="RxAddressFilteredCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0030" name="RxDestAddrFilteredCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0031" name="RxDuplicatedCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0032" name="RxErrNoFrameCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0033" name="RxErrUnknownNeighborCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0034" name="RxErrInvalidSrcAddrCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0035" name="RxErrSecCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0036" name="RxErrFcsCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0037" name="RxErrOtherCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="MACCNT"/> + </optionalConform> + </attribute> + <attribute id="0x0038" name="ActiveTimestamp" type="uint64" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0039" name="PendingTimestamp" type="uint64" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x003a" name="Delay" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x003b" name="SecurityPolicy" type="SecurityPolicy"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x003c" name="ChannelPage0Mask" type="octets"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="maxLength" value="4"/> + </attribute> + <attribute id="0x003d" name="OperationalDatasetComponents" type="OperationalDatasetComponents"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x003e" name="ActiveNetworkFaultsList" type="<<ref_DataTypeList>>[NetworkFaultEnum Type]"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="max" value="4"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="ResetCounts" response="Y"> + <access invokePrivilege="manage"/> + <mandatoryConform> + <feature name="ERRCNT"/> + </mandatoryConform> + </command> + </commands> + <events> + <event id="0x00" name="ConnectionStatus" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + <field id="0" name="ConnectionStatus" type="ConnectionStatusEnum"> + <mandatoryConform/> + </field> + </event> + <event id="0x01" name="NetworkFaultChange" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + <field id="0" name="Current" type="<<ref_DataTypeList>>[NetworkFaultEnum Type]"> + <mandatoryConform/> + <constraint type="max" value="4"/> + </field> + <field id="1" name="Previous" type="<<ref_DataTypeList>>[NetworkFaultEnum Type]"> + <mandatoryConform/> + <constraint type="max" value="4"/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/DiagnosticsWiFi.xml b/zcl-builtin/matter/new-data-model/DiagnosticsWiFi.xml new file mode 100644 index 0000000000000000000000000000000000000000..967a1eaceb48fc5675019223731edec28d6e535d --- /dev/null +++ b/zcl-builtin/matter/new-data-model/DiagnosticsWiFi.xml @@ -0,0 +1,257 @@ +<?xml version="1.0"?> +<!-- +link:../matter-defines.adoc[] + +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0036" name="Wi-Fi Network Diagnostics" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="DGWIFI" scope="Node"/> + <features> + <feature bit="0" code="PKTCNT" name="PacketCounts" summary="Node makes available the counts for the number of received and transmitted packets on the Wi-Fi interface."> + <optionalConform/> + </feature> + <feature bit="1" code="ERRCNT" name="ErrorCounts" summary="Node makes available the counts for the number of errors that have occurred during the reception and transmission of packets on the Wi-Fi interface."> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="AssociationFailureCauseEnum"> + <item value="0" name="Unknown" summary="The reason for the failure is unknown."> + <mandatoryConform/> + </item> + <item value="1" name="AssociationFailed" summary="An error occurred during association."> + <mandatoryConform/> + </item> + <item value="2" name="AuthenticationFailed" summary="An error occurred during authentication."> + <mandatoryConform/> + </item> + <item value="3" name="SsidNotFound" summary="The specified SSID could not be found."> + <mandatoryConform/> + </item> + </enum> + <enum name="ConnectionStatusEnum"> + <item value="0" name="Connected" summary="Indicate the node is connected"> + <mandatoryConform/> + </item> + <item value="1" name="NotConnected" summary="Indicate the node is not connected"> + <mandatoryConform/> + </item> + </enum> + <enum name="SecurityTypeEnum"> + <item value="0" name="Unspecified" summary="Indicate the usage of an unspecified Wi-Fi security type"> + <mandatoryConform/> + </item> + <item value="1" name="None" summary="Indicate the usage of no Wi-Fi security"> + <mandatoryConform/> + </item> + <item value="2" name="WEP" summary="Indicate the usage of WEP Wi-Fi security"> + <mandatoryConform/> + </item> + <item value="3" name="WPA" summary="Indicate the usage of WPA Wi-Fi security"> + <mandatoryConform/> + </item> + <item value="4" name="WPA2" summary="Indicate the usage of WPA2 Wi-Fi security"> + <mandatoryConform/> + </item> + <item value="5" name="WPA3" summary="Indicate the usage of WPA3 Wi-Fi security"> + <mandatoryConform/> + </item> + </enum> + <enum name="WiFiVersionEnum"> + <item value="0" name="a" summary="Indicate the network interface is currently using 802.11a against the wireless access point."> + <mandatoryConform/> + </item> + <item value="1" name="b" summary="Indicate the network interface is currently using 802.11b against the wireless access point."> + <mandatoryConform/> + </item> + <item value="2" name="g" summary="Indicate the network interface is currently using 802.11g against the wireless access point."> + <mandatoryConform/> + </item> + <item value="3" name="n" summary="Indicate the network interface is currently using 802.11n against the wireless access point."> + <mandatoryConform/> + </item> + <item value="4" name="ac" summary="Indicate the network interface is currently using 802.11ac against the wireless access point."> + <mandatoryConform/> + </item> + <item value="5" name="ax" summary="Indicate the network interface is currently using 802.11ax against the wireless access point."> + <mandatoryConform/> + </item> + <item value="6" name="ah" summary="Indicate the network interface is currently using 802.11ah against the wireless access point."> + <mandatoryConform/> + </item> + </enum> + </dataTypes> + <attributes> + <attribute id="0x0000" name="BSSID" type="<<ref_DataTypeOctstr>>" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="allowed" value="6"/> + </attribute> + <attribute id="0x0001" name="SecurityType" type="SecurityTypeEnum" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0002" name="WiFiVersion" type="WiFiVersionEnum" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0003" name="ChannelNumber" type="uint16" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0004" name="RSSI" type="int8" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="-120" to="0"/> + </attribute> + <attribute id="0x0005" name="BeaconLostCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="ERRCNT"/> + </mandatoryConform> + </attribute> + <attribute id="0x0006" name="BeaconRxCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="PKTCNT"/> + </mandatoryConform> + </attribute> + <attribute id="0x0007" name="PacketMulticastRxCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="PKTCNT"/> + </mandatoryConform> + </attribute> + <attribute id="0x0008" name="PacketMulticastTxCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="PKTCNT"/> + </mandatoryConform> + </attribute> + <attribute id="0x0009" name="PacketUnicastRxCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="PKTCNT"/> + </mandatoryConform> + </attribute> + <attribute id="0x000a" name="PacketUnicastTxCount" type="uint32" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="PKTCNT"/> + </mandatoryConform> + </attribute> + <attribute id="0x000b" name="CurrentMaxRate" type="uint64" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x000c" name="OverrunCount" type="uint64" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="ERRCNT"/> + </mandatoryConform> + </attribute> + </attributes> + <commands> + <command id="0x00" name="ResetCounts" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="ERRCNT"/> + </mandatoryConform> + </command> + </commands> + <events> + <event id="0x00" name="Disconnection" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + <field id="0" name="ReasonCode" type="uint16"> + <mandatoryConform/> + </field> + </event> + <event id="0x01" name="AssociationFailure" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + <field id="0" name="AssociationFailureCause" type="AssociationFailureCauseEnum"> + <mandatoryConform/> + </field> + <field id="1" name="Status" type="uint16"> + <mandatoryConform/> + </field> + </event> + <event id="0x02" name="ConnectionStatus" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + <field id="0" name="ConnectionStatus" type="ConnectionStatusEnum"> + <mandatoryConform/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/DishwasherAlarm.xml b/zcl-builtin/matter/new-data-model/DishwasherAlarm.xml new file mode 100644 index 0000000000000000000000000000000000000000..b9342d630dbb946993983ed261f43cb7e933896c --- /dev/null +++ b/zcl-builtin/matter/new-data-model/DishwasherAlarm.xml @@ -0,0 +1,100 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance + +508 Second Street, Suite 206 + +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x005d" name="Dishwasher Alarm" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial revision"/> + </revisionHistory> + <classification hierarchy="derived" baseCluster="Alarm Base" role="application" picsCode="DISHALM" scope="Endpoint"/> + <dataTypes> + <bitmap name="AlarmMap"> + <bitfield name="InflowError" bit="0" summary="Water inflow is abnormal"> + <otherwiseConform> + <provisionalConform/> + <optionalConform choice="a" more="true"/> + </otherwiseConform> + </bitfield> + <bitfield name="DrainError" bit="1" summary="Water draining is abnormal"> + <otherwiseConform> + <provisionalConform/> + <optionalConform choice="a" more="true"/> + </otherwiseConform> + </bitfield> + <bitfield name="DoorError" bit="2" summary="Door or door lock is abnormal"> + <optionalConform choice="a" more="true"/> + </bitfield> + <bitfield name="TempTooLow" bit="3" summary="Unable to reach normal temperature"> + <otherwiseConform> + <provisionalConform/> + <optionalConform choice="a" more="true"/> + </otherwiseConform> + </bitfield> + <bitfield name="TempTooHigh" bit="4" summary="Temperature is too high"> + <otherwiseConform> + <provisionalConform/> + <optionalConform choice="a" more="true"/> + </otherwiseConform> + </bitfield> + <bitfield name="WaterLevelError" bit="5" summary="Water level is abnormal"> + <otherwiseConform> + <provisionalConform/> + <optionalConform choice="a" more="true"/> + </otherwiseConform> + </bitfield> + </bitmap> + </dataTypes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/DoorLock.xml b/zcl-builtin/matter/new-data-model/DoorLock.xml new file mode 100644 index 0000000000000000000000000000000000000000..44ad05fca71234ee534c05ae935a02ac13cdd3e1 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/DoorLock.xml @@ -0,0 +1,2296 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0101" name="Door Lock" revision="7"> + <revisionHistory> + <revision revision="1" summary="mandatory global ClusterRevision attribute added; CCB 1811 1812 1821"/> + <revision revision="2" summary="CCB 2430"/> + <revision revision="3" summary="CCB 2629 2630"/> + <revision revision="4" summary="All Hubs changes and added feature map"/> + <revision revision="5"/> + <revision revision="6" summary="New data model format and notation. Added User features. General cleanup of functionality"/> + <revision revision="7" summary="Added support for European door locks (unbolt feature)"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="DRLK" scope="Endpoint"/> + <features> + <feature bit="0" code="PIN" name="PIN Credential" summary="Lock supports PIN credentials (via keypad, or over-the-air)"> + <optionalConform/> + </feature> + <feature bit="1" code="RID" name="RFID Credential" summary="Lock supports RFID credentials"> + <optionalConform/> + </feature> + <feature bit="2" code="FGP" name="Finger Credentials" summary="Lock supports finger related credentials (fingerprint, finger vein)"> + <otherwiseConform> + <provisionalConform/> + <optionalConform/> + </otherwiseConform> + </feature> + <feature bit="3" code="LOG" name="Logging" summary="Lock supports local/on-lock logging when Events are not supported"> + <optionalConform/> + </feature> + <feature bit="4" code="WDSCH" name="Week Day Access Schedules" summary="Lock supports week day user access schedules"> + <optionalConform/> + </feature> + <feature bit="5" code="DPS" name="Door Position Sensor" summary="Lock supports a door position sensor that indicates door's state"> + <optionalConform/> + </feature> + <feature bit="6" code="FACE" name="Face Credentials" summary="Lock supports face related credentials (face, iris, retina)"> + <otherwiseConform> + <provisionalConform/> + <optionalConform/> + </otherwiseConform> + </feature> + <feature bit="7" code="COTA" name="Credential Over-the-Air Access" summary="PIN codes over-the-air supported for lock/unlock operations"> + <optionalConform/> + </feature> + <feature bit="8" code="USR" name="User" summary="Lock supports the user commands and database"> + <optionalConform> + <orTerm> + <feature name="PIN"/> + <feature name="RID"/> + <feature name="FGP"/> + <feature name="FACE"/> + </orTerm> + </optionalConform> + </feature> + <feature bit="9" code="NOT" name="Notification" summary="Operation and Programming Notifications"> + <optionalConform/> + </feature> + <feature bit="10" code="YDSCH" name="Year Day Access Schedules" summary="Lock supports year day user access schedules"> + <optionalConform/> + </feature> + <feature bit="11" code="HDSCH" name="Holiday Schedules" summary="Lock supports holiday schedules"> + <optionalConform/> + </feature> + <feature bit="12" code="UBOLT" name="Unbolting" summary="Lock supports unbolting"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <number name="PIN/RFID Code Format" type=""/> + <enum name="AlarmCodeEnum"> + <item value="0" name="LockJammed" summary="Locking Mechanism Jammed"> + <mandatoryConform/> + </item> + <item value="1" name="LockFactoryReset" summary="Lock Reset to Factory Defaults"> + <optionalConform/> + </item> + <item value="3" name="LockRadioPowerCycled" summary="Lock Radio Power Cycled"> + <optionalConform/> + </item> + <item value="4" name="WrongCodeEntryLimit" summary="Tamper Alarm - wrong code entry limit"> + <optionalConform> + <feature name="USR"/> + </optionalConform> + </item> + <item value="5" name="FrontEsceutcheonRemoved" summary="Tamper Alarm - front escutcheon removed from main"> + <optionalConform/> + </item> + <item value="6" name="DoorForcedOpen" summary="Forced Door Open under Door Locked Condition"> + <optionalConform> + <feature name="DPS"/> + </optionalConform> + </item> + <item value="7" name="DoorAjar" summary="Door ajar"> + <optionalConform> + <feature name="DPS"/> + </optionalConform> + </item> + <item value="8" name="ForcedUser" summary="Force User SOS alarm"> + <optionalConform> + <feature name="USR"/> + </optionalConform> + </item> + </enum> + <enum name="CredentialRuleEnum"> + <item value="0" name="Single" summary="Only one credential is required for lock operation"> + <mandatoryConform> + <feature name="USR"/> + </mandatoryConform> + </item> + <item value="1" name="Dual" summary="Any two credentials are required for lock operation"> + <optionalConform> + <feature name="USR"/> + </optionalConform> + </item> + <item value="2" name="Tri" summary="Any three credentials are required for lock operation"> + <optionalConform> + <feature name="USR"/> + </optionalConform> + </item> + </enum> + <enum name="CredentialTypeEnum"> + <item value="0" name="ProgrammingPIN" summary="Programming PIN code credential type"> + <optionalConform/> + </item> + <item value="1" name="PIN" summary="PIN code credential type"> + <mandatoryConform> + <feature name="PIN"/> + </mandatoryConform> + </item> + <item value="2" name="RFID" summary="RFID identifier credential type"> + <mandatoryConform> + <feature name="RID"/> + </mandatoryConform> + </item> + <item value="3" name="Fingerprint" summary="Fingerprint identifier credential type"> + <mandatoryConform> + <feature name="FGP"/> + </mandatoryConform> + </item> + <item value="4" name="FingerVein" summary="Finger vein identifier credential type"> + <mandatoryConform> + <feature name="FGP"/> + </mandatoryConform> + </item> + <item value="5" name="Face" summary="Face identifier credential type"> + <mandatoryConform> + <feature name="FACE"/> + </mandatoryConform> + </item> + </enum> + <enum name="DataOperationTypeEnum"> + <item value="0" name="Add" summary="Data is being added or was added"> + <mandatoryConform/> + </item> + <item value="1" name="Clear" summary="Data is being cleared or was cleared"> + <mandatoryConform/> + </item> + <item value="2" name="Modify" summary="Data is being modified or was modified"> + <mandatoryConform/> + </item> + </enum> + <enum name="DoorLockStatus"> + <item value="2" summary="Entry would cause a duplicate credential/ID."> + <mandatoryConform/> + </item> + <item value="3" summary="Entry would replace an occupied slot."> + <mandatoryConform/> + </item> + </enum> + <enum name="DoorStateEnum"> + <item value="0" name="DoorOpen" summary="Door state is open"> + <mandatoryConform> + <feature name="DPS"/> + </mandatoryConform> + </item> + <item value="1" name="DoorClosed" summary="Door state is closed"> + <mandatoryConform> + <feature name="DPS"/> + </mandatoryConform> + </item> + <item value="2" name="DoorJammed" summary="Door state is jammed"> + <optionalConform> + <feature name="DPS"/> + </optionalConform> + </item> + <item value="3" name="DoorForcedOpen" summary="Door state is currently forced open"> + <optionalConform> + <feature name="DPS"/> + </optionalConform> + </item> + <item value="4" name="DoorUnspecifiedError" summary="Door state is invalid for unspecified reason"> + <optionalConform> + <feature name="DPS"/> + </optionalConform> + </item> + <item value="5" name="DoorAjar" summary="Door state is ajar"> + <optionalConform> + <feature name="DPS"/> + </optionalConform> + </item> + </enum> + <enum name="LockDataTypeEnum"> + <item value="0" name="Unspecified" summary="Unspecified or manufacturer specific lock user data added, cleared, or modified."> + <optionalConform/> + </item> + <item value="1" name="ProgrammingCode" summary="Lock programming PIN code was added, cleared, or modified."> + <optionalConform/> + </item> + <item value="2" name="UserIndex" summary="Lock user index was added, cleared, or modified."> + <mandatoryConform/> + </item> + <item value="3" name="WeekDaySchedule" summary="Lock user week day schedule was added, cleared, or modified."> + <mandatoryConform> + <feature name="WDSCH"/> + </mandatoryConform> + </item> + <item value="4" name="YearDaySchedule" summary="Lock user year day schedule was added, cleared, or modified."> + <mandatoryConform> + <feature name="YDSCH"/> + </mandatoryConform> + </item> + <item value="5" name="HolidaySchedule" summary="Lock holiday schedule was added, cleared, or modified."> + <mandatoryConform> + <feature name="HDSCH"/> + </mandatoryConform> + </item> + <item value="6" name="PIN" summary="Lock user PIN code was added, cleared, or modified."> + <mandatoryConform> + <feature name="PIN"/> + </mandatoryConform> + </item> + <item value="7" name="RFID" summary="Lock user RFID code was added, cleared, or modified."> + <mandatoryConform> + <feature name="RID"/> + </mandatoryConform> + </item> + <item value="8" name="Fingerprint" summary="Lock user fingerprint was added, cleared, or modified."> + <mandatoryConform> + <feature name="FGP"/> + </mandatoryConform> + </item> + <item value="9" name="FingerVein" summary="Lock user finger-vein information was added, cleared, or modified."> + <mandatoryConform> + <feature name="FGP"/> + </mandatoryConform> + </item> + <item value="10" name="Face" summary="Lock user face information was added, cleared, or modified."> + <mandatoryConform> + <feature name="FACE"/> + </mandatoryConform> + </item> + </enum> + <enum name="LockOperationTypeEnum"> + <item value="0" name="Lock" summary="Lock operation"> + <mandatoryConform/> + </item> + <item value="1" name="Unlock" summary="Unlock operation"> + <mandatoryConform/> + </item> + <item value="2" name="NonAccessUserEvent" summary="Triggered by keypad entry for user with User Type set to Non Access User"> + <optionalConform/> + </item> + <item value="3" name="ForcedUserEvent" summary="Triggered by using a user with UserType set to Forced User"> + <optionalConform/> + </item> + <item value="4" name="Unlatch" summary="Unlatch operation"> + <mandatoryConform/> + </item> + </enum> + <enum name="OperatingModeEnum"> + <item value="0" name="Normal"> + <mandatoryConform/> + </item> + <item value="1" name="Vacation"> + <optionalConform/> + </item> + <item value="2" name="Privacy"> + <optionalConform/> + </item> + <item value="3" name="NoRemoteLockUnlock"> + <mandatoryConform/> + </item> + <item value="4" name="Passage"> + <optionalConform/> + </item> + </enum> + <enum name="OperationErrorEnum"> + <item value="0" name="Unspecified" summary="Lock/unlock error caused by unknown or unspecified source"> + <optionalConform/> + </item> + <item value="1" name="InvalidCredential" summary="Lock/unlock error caused by invalid PIN, RFID, fingerprint or other credential"> + <mandatoryConform> + <feature name="USR"/> + </mandatoryConform> + </item> + <item value="2" name="DisabledUserDenied" summary="Lock/unlock error caused by disabled USER or credential"> + <mandatoryConform/> + </item> + <item value="3" name="Restricted" summary="Lock/unlock error caused by schedule restriction"> + <mandatoryConform> + <orTerm> + <feature name="WDSCH"/> + <feature name="YDSCH"/> + </orTerm> + </mandatoryConform> + </item> + <item value="4" name="InsufficientBattery" summary="Lock/unlock error caused by insufficient battery power left to safely actuate the lock"> + <optionalConform/> + </item> + </enum> + <enum name="OperationSourceEnum"> + <item value="0" name="Unspecified" summary="Lock/unlock operation came from unspecified source"> + <optionalConform/> + </item> + <item value="1" name="Manual" summary="Lock/unlock operation came from manual operation (key, thumbturn, handle, etc)."> + <optionalConform/> + </item> + <item value="2" name="ProprietaryRemote" summary="Lock/unlock operation came from prioretary remote source (e.g. vendor app/cloud)"> + <optionalConform/> + </item> + <item value="3" name="Keypad" summary="Lock/unlock operation came from keypad"> + <optionalConform/> + </item> + <item value="4" name="Auto" summary="Lock/unlock operation came from lock automatically (e.g. relock timer)"> + <optionalConform/> + </item> + <item value="5" name="Button" summary="Lock/unlock operation came from lock button (e.g. one touch or button)"> + <optionalConform/> + </item> + <item value="6" name="Schedule" summary="Lock/unlock operation came from lock due to a schedule"> + <mandatoryConform> + <feature name="HDSCH"/> + </mandatoryConform> + </item> + <item value="7" name="Remote" summary="Lock/unlock operation came from remote node"> + <mandatoryConform/> + </item> + <item value="8" name="RFID" summary="Lock/unlock operation came from RFID card"> + <mandatoryConform> + <feature name="RID"/> + </mandatoryConform> + </item> + <item value="9" name="Biometric" summary="Lock/unlock operation came from biometric source (e.g. face, fingerprint/fingervein)"> + <optionalConform> + <feature name="USR"/> + </optionalConform> + </item> + </enum> + <enum name="UserStatusEnum"> + <item value="0" name="Available"> + <mandatoryConform/> + </item> + <item value="1" name="OccupiedEnabled"> + <mandatoryConform/> + </item> + <item value="3" name="OccupiedDisabled"> + <optionalConform/> + </item> + </enum> + <enum name="UserTypeEnum"> + <item value="0" name="UnrestrictedUser"> + <mandatoryConform/> + </item> + <item value="1" name="YearDayScheduleUser"> + <optionalConform/> + </item> + <item value="2" name="WeekDayScheduleUser"> + <optionalConform/> + </item> + <item value="3" name="ProgrammingUser"> + <optionalConform/> + </item> + <item value="4" name="NonAccessUser"> + <optionalConform/> + </item> + <item value="5" name="ForcedUser"> + <optionalConform> + <feature name="USR"/> + </optionalConform> + </item> + <item value="6" name="DisposableUser"> + <optionalConform> + <feature name="USR"/> + </optionalConform> + </item> + <item value="7" name="ExpiringUser"> + <optionalConform> + <feature name="USR"/> + </optionalConform> + </item> + <item value="8" name="ScheduleRestrictedUser"> + <mandatoryConform> + <orTerm> + <feature name="WDSCH"/> + <feature name="YDSCH"/> + </orTerm> + </mandatoryConform> + </item> + <item value="9" name="RemoteOnlyUser"> + <mandatoryConform> + <andTerm> + <feature name="USR"/> + <feature name="COTA"/> + <feature name="PIN"/> + </andTerm> + </mandatoryConform> + </item> + </enum> + <bitmap name="DaysMaskMap"> + <bitfield name="Sunday" bit="0"> + <mandatoryConform/> + </bitfield> + <bitfield name="Monday" bit="1"> + <mandatoryConform/> + </bitfield> + <bitfield name="Tuesday" bit="2"> + <mandatoryConform/> + </bitfield> + <bitfield name="Wednesday" bit="3"> + <mandatoryConform/> + </bitfield> + <bitfield name="Thursday" bit="4"> + <mandatoryConform/> + </bitfield> + <bitfield name="Friday" bit="5"> + <mandatoryConform/> + </bitfield> + <bitfield name="Saturday" bit="6"> + <mandatoryConform/> + </bitfield> + </bitmap> + <struct name="CredentialStruct"> + <field id="0" name="CredentialType" type="CredentialTypeEnum"> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + <field id="1" name="CredentialIndex" type="uint16" default="0"> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="LockState" type="enum8"> + <enum> + <item value="0" name="Not Fully Locked" summary="Lock state is not fully locked"> + <mandatoryConform/> + </item> + <item value="1" name="Locked" summary="Lock state is fully locked"> + <mandatoryConform/> + </item> + <item value="2" name="Unlocked" summary="Lock state is fully unlocked"> + <mandatoryConform/> + </item> + <item value="3" name="Unlatched" summary="Lock state is fully unlocked and the latch is pulled"> + <optionalConform/> + </item> + </enum> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="true" persistence="volatile" reportable="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0001" name="LockType" type="enum8"> + <enum> + <item value="0" name="Dead bolt" summary="Physical lock type is dead bolt"> + <mandatoryConform/> + </item> + <item value="1" name="Magnetic" summary="Physical lock type is magnetic"> + <mandatoryConform/> + </item> + <item value="2" name="Other" summary="Physical lock type is other"> + <mandatoryConform/> + </item> + <item value="3" name="Mortise" summary="Physical lock type is mortise"> + <mandatoryConform/> + </item> + <item value="4" name="Rim" summary="Physical lock type is rim"> + <mandatoryConform/> + </item> + <item value="5" name="Latch Bolt" summary="Physical lock type is latch bolt"> + <mandatoryConform/> + </item> + <item value="6" name="Cylindrical Lock" summary="Physical lock type is cylindrical lock"> + <mandatoryConform/> + </item> + <item value="7" name="Tubular Lock" summary="Physical lock type is tubular lock"> + <mandatoryConform/> + </item> + <item value="8" name="Interconnected Lock" summary="Physical lock type is interconnected lock"> + <mandatoryConform/> + </item> + <item value="9" name="Dead Latch" summary="Physical lock type is dead latch"> + <mandatoryConform/> + </item> + <item value="10" name="Door Furniture" summary="Physical lock type is door furniture"> + <mandatoryConform/> + </item> + <item value="11" name="Eurocylinder" summary="Physical lock type is eurocylinder"> + <mandatoryConform/> + </item> + </enum> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0002" name="ActuatorEnabled" type="bool"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0003" name="DoorState" type="enum8"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform> + <feature name="DPS"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0004" name="DoorOpenEvents" type="uint32"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform> + <feature name="DPS"/> + </optionalConform> + </attribute> + <attribute id="0x0005" name="DoorClosedEvents" type="uint32"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform> + <feature name="DPS"/> + </optionalConform> + </attribute> + <attribute id="0x0006" name="OpenPeriod" type="uint16"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform> + <feature name="DPS"/> + </optionalConform> + </attribute> + <attribute id="0x0010" name="NumberOfLogRecordsSupported" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="LOG"/> + </mandatoryConform> + </attribute> + <attribute id="0x0011" name="NumberOfTotalUsersSupported" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="USR"/> + </mandatoryConform> + </attribute> + <attribute id="0x0012" name="NumberOfPINUsersSupported" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="PIN"/> + </mandatoryConform> + </attribute> + <attribute id="0x0013" name="NumberOfRFIDUsersSupported" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="RID"/> + </mandatoryConform> + </attribute> + <attribute id="0x0014" name="NumberOfWeekDaySchedulesSupportedPerUser" type="uint8" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="WDSCH"/> + </mandatoryConform> + </attribute> + <attribute id="0x0015" name="NumberOfYearDaySchedulesSupportedPerUser" type="uint8" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="YDSCH"/> + </mandatoryConform> + </attribute> + <attribute id="0x0016" name="NumberOfHolidaySchedulesSupported" type="uint8" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="HDSCH"/> + </mandatoryConform> + </attribute> + <attribute id="0x0017" name="MaxPINCodeLength" type="uint8" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="PIN"/> + </mandatoryConform> + </attribute> + <attribute id="0x0018" name="MinPINCodeLength" type="uint8" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="PIN"/> + </mandatoryConform> + </attribute> + <attribute id="0x0019" name="MaxRFIDCodeLength" type="uint8" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="RID"/> + </mandatoryConform> + </attribute> + <attribute id="0x001a" name="MinRFIDCodeLength" type="uint8" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="RID"/> + </mandatoryConform> + </attribute> + <attribute id="0x001b" name="CredentialRulesSupport" type="map8" default="1"> + <bitmap> + <bitfield name="Single" bit="0" summary="Only one credential is required for lock operation"> + <mandatoryConform/> + </bitfield> + <bitfield name="Dual" bit="1" summary="Any two credentials are required for lock operation"> + <mandatoryConform/> + </bitfield> + <bitfield name="Tri" bit="2" summary="Any three credentials are required for lock operation"> + <mandatoryConform/> + </bitfield> + </bitmap> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="USR"/> + </mandatoryConform> + </attribute> + <attribute id="0x001c" name="NumberOfCredentialsSupportedPerUser" type="uint8" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="USR"/> + </mandatoryConform> + </attribute> + <attribute id="0x0020" name="EnableLogging" type="bool" default="0"> + <access read="true" write="optional" readPrivilege="view" writePrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform> + <feature name="LOG"/> + </mandatoryConform> + </attribute> + <attribute id="0x0021" name="Language" type="string" default="MS"> + <access read="true" write="optional" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform/> + <constraint type="maxLength" value="3"/> + </attribute> + <attribute id="0x0022" name="LEDSettings" type="uint8" default="0"> + <access read="true" write="optional" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0023" name="AutoRelockTime" type="uint32" default="MS"> + <access read="true" write="optional" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform/> + </attribute> + <attribute id="0x0024" name="SoundVolume" type="uint8" default="0"> + <access read="true" write="optional" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0025" name="OperatingMode" type="enum8" default="0"> + <access read="true" write="optional" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0026" name="SupportedOperatingModes" type="map16" default="0xFFF6"> + <bitmap> + <bitfield name="Normal" bit="0"> + <mandatoryConform/> + </bitfield> + <bitfield name="Vacation" bit="1"> + <optionalConform/> + </bitfield> + <bitfield name="Privacy" bit="2"> + <optionalConform/> + </bitfield> + <bitfield name="NoRemoteLockUnlock" bit="3"> + <mandatoryConform/> + </bitfield> + <bitfield name="Passage" bit="4"> + <optionalConform/> + </bitfield> + </bitmap> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0027" name="DefaultConfigurationRegister" type="map16" default="0"> + <bitmap> + <bitfield name="Local Programming" bit="0" summary="0 - Enable Local Programming Attribute default value is 0 (disabled) + +1 - Enable Local Programming Attribute default value is 1 (enabled)"> + <mandatoryConform/> + </bitfield> + <bitfield name="Keypad Interface" bit="1" summary="0 –Keypad Interface default access is disabled + +1 - Keypad Interface default access is enabled"> + <mandatoryConform/> + </bitfield> + <bitfield name="Remote Interface" bit="2" summary="0 - Remote Interface default access is disabled + +1 - Remote Interface default access is enabled"> + <mandatoryConform/> + </bitfield> + <bitfield name="Sound Volume" bit="5" summary="0 – Sound Volume attribute default value is 0 (Silent Mode) + +1 – Sound Volume attribute default value is equal to something other +than 0"> + <mandatoryConform/> + </bitfield> + <bitfield name="Auto Relock" bit="6" summary="0 – Auto Relock Time attribute default value = 0 + +1 – Auto Relock Time attribute default value is equal to something other +than 0"> + <mandatoryConform/> + </bitfield> + <bitfield name="LED Settings" bit="7" summary="0 – LED Settings attribute default value = 0 + +1 – LED Settings attribute default value is equal to something other +than 0"> + <mandatoryConform/> + </bitfield> + </bitmap> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform/> + </attribute> + <attribute id="0x0028" name="EnableLocalProgramming" type="bool" default="1"> + <access read="true" write="optional" readPrivilege="view" writePrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform/> + </attribute> + <attribute id="0x0029" name="EnableOneTouchLocking" type="bool" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform/> + </attribute> + <attribute id="0x002a" name="EnableInsideStatusLED" type="bool" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform/> + </attribute> + <attribute id="0x002b" name="EnablePrivacyModeButton" type="bool" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform/> + </attribute> + <attribute id="0x002c" name="LocalProgrammingFeatures" type="map8" default="0"> + <bitmap> + <bitfield name="Add Locally" bit="0" summary="0 - The ability to add Users/credentials/Schedules locally is disabled + +1 - The ability to add Users/Credentials/Schedules locally is enabled"> + <mandatoryConform/> + </bitfield> + <bitfield name="Modify Locally" bit="1" summary="0 - The ability to modify Users/credentials/Schedules locally is disabled + +1 - The ability to modify Users/Credentials/Schedules locally is enabled"> + <mandatoryConform/> + </bitfield> + <bitfield name="Clear Locally" bit="2" summary="0 - The ability to clear Users/credentials/Schedules locally is disabled + +1 - The ability to clear Users/Credentials/Schedules locally is enabled"> + <mandatoryConform/> + </bitfield> + <bitfield name="Adjust Locally" bit="3" summary="0 - The ability to adjust lock settings locally is disabled + +1 - The ability to adjust lock settings locally is enabled"> + <mandatoryConform/> + </bitfield> + </bitmap> + <access read="true" write="optional" readPrivilege="view" writePrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform/> + </attribute> + <attribute id="0x0030" name="WrongCodeEntryLimit" type="uint8" default="MS"> + <access read="true" write="optional" readPrivilege="view" writePrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform> + <orTerm> + <feature name="PIN"/> + <feature name="RID"/> + </orTerm> + </mandatoryConform> + <constraint type="between" from="1" to="255"/> + </attribute> + <attribute id="0x0031" name="UserCodeTemporaryDisableTime" type="uint8" default="MS"> + <access read="true" write="optional" readPrivilege="view" writePrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform> + <orTerm> + <feature name="PIN"/> + <feature name="RID"/> + </orTerm> + </mandatoryConform> + <constraint type="between" from="1" to="255"/> + </attribute> + <attribute id="0x0032" name="SendPINOverTheAir" type="bool" default="0"> + <access read="true" write="optional" readPrivilege="view" writePrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform> + <andTerm> + <notTerm> + <feature name="USR"/> + </notTerm> + <feature name="PIN"/> + </andTerm> + </optionalConform> + </attribute> + <attribute id="0x0033" name="RequirePINforRemoteOperation" type="bool" default="0"> + <access read="true" write="optional" readPrivilege="view" writePrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform> + <andTerm> + <feature name="COTA"/> + <feature name="PIN"/> + </andTerm> + </mandatoryConform> + </attribute> + <attribute id="0x0034" name="SecurityLevel" default="0"> + <deprecateConform/> + </attribute> + <attribute id="0x0035" name="ExpiringUserTimeout" type="uint16" default="MS"> + <access read="true" write="optional" readPrivilege="view" writePrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform> + <feature name="USR"/> + </optionalConform> + <constraint type="between" from="1" to="2880"/> + </attribute> + <attribute id="0x0040" name="AlarmMask" type="map16" default="0xFFFF"> + <bitmap> + <bitfield name="Alarm Code 0" bit="0" summary="Locking Mechanism Jammed"> + <mandatoryConform/> + </bitfield> + <bitfield name="Alarm Code 1" bit="1" summary="Lock Reset to Factory Defaults"> + <optionalConform/> + </bitfield> + <bitfield name="Alarm Code 2" bit="2" summary="Reserved"> + <optionalConform/> + </bitfield> + <bitfield name="Alarm Code 3" bit="3" summary="RF Module Power Cycled"> + <optionalConform/> + </bitfield> + <bitfield name="Alarm Code 4" bit="4" summary="Tamper Alarm - wrong code entry limit"> + <mandatoryConform> + <orTerm> + <feature name="PIN"/> + <feature name="RID"/> + </orTerm> + </mandatoryConform> + </bitfield> + <bitfield name="Alarm Code 5" bit="5" summary="Tamper Alarm - front escutcheon removed from main"> + <optionalConform/> + </bitfield> + <bitfield name="Alarm Code 6" bit="6" summary="Forced Door Open under Door Locked Condition"> + <optionalConform/> + </bitfield> + </bitmap> + <access read="true" write="true" readPrivilege="view" writePrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform/> + </attribute> + <attribute id="0x0041" name="KeypadOperationEventMask" type="map16" default="0xFFFF"> + <bitmap> + <bitfield name="Operation Event Code 0" bit="0" summary="Unknown or manufacturer-specific keypad operation event"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 1" bit="1" summary="Lock, source: keypad"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 2" bit="2" summary="Unlock, source: keypad"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 3" bit="3" summary="Lock, source: keypad, error: invalid PIN"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 4" bit="4" summary="Lock, source: keypad, error: invalid schedule"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 5" bit="5" summary="Unlock, source: keypad, error: invalid code"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 6" bit="6" summary="Unlock, source: keypad, error: invalid schedule"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 15" bit="7" summary="Non-Access User operation event, source keypad."> + <mandatoryConform/> + </bitfield> + </bitmap> + <access read="true" write="true" readPrivilege="view" writePrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform> + <andTerm> + <feature name="NOT"/> + <feature name="PIN"/> + </andTerm> + </optionalConform> + </attribute> + <attribute id="0x0042" name="RemoteOperationEventMask" type="map16" default="0xFFFF"> + <bitmap> + <bitfield name="Operation Event Code 0" bit="0" summary="Unknown or manufacturer-specific remote operation event"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 1" bit="1" summary="Lock, source: remote"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 2" bit="2" summary="Unlock, source: remote"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 3" bit="3" summary="Lock, source: remote, error: invalid code"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 4" bit="4" summary="Lock, source: remote, error: invalid schedule"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 5" bit="5" summary="Unlock, source: remote, error: invalid code"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 6" bit="6" summary="Unlock, source: remote, error: invalid schedule"> + <mandatoryConform/> + </bitfield> + </bitmap> + <access read="true" write="true" readPrivilege="view" writePrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform> + <feature name="NOT"/> + </optionalConform> + </attribute> + <attribute id="0x0043" name="ManualOperationEventMask" type="map16" default="0xFFFF"> + <bitmap> + <bitfield name="Operation Even Code 0" bit="0" summary="Unknown or manufacturer-specific manual operation event"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Even Code 1" bit="1" summary="Thumbturn Lock"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Even Code 2" bit="2" summary="Thumbturn Unlock"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Even Code 7" bit="3" summary="One touch lock"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Even Code 8" bit="4" summary="Key Lock"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Even Code 9" bit="5" summary="Key Unlock"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Even Code 10" bit="6" summary="Auto lock"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Even Code 11" bit="7" summary="Schedule Lock"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Even Code 12" bit="8" summary="Schedule Unlock"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Even Code 13" bit="9" summary="Manual Lock (Key or Thumbturn)"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Even Code 14" bit="10" summary="Manual Unlock (Key or Thumbturn)"> + <mandatoryConform/> + </bitfield> + </bitmap> + <access read="true" write="true" readPrivilege="view" writePrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform> + <feature name="NOT"/> + </optionalConform> + </attribute> + <attribute id="0x0044" name="RFIDOperationEventMask" type="map16" default="0xFFFF"> + <bitmap> + <bitfield name="Operation Event Code 0" bit="0" summary="Unknown or manufacturer-specific keypad operation event"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 1" bit="1" summary="Lock, source: RFID"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 2" bit="2" summary="Unlock, source: RFID"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 3" bit="3" summary="Lock, source: RFID, error: invalid RFID ID"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 4" bit="4" summary="Lock, source: RFID, error: invalid schedule"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 5" bit="5" summary="Unlock, source: RFID, error: invalid RFID ID"> + <mandatoryConform/> + </bitfield> + <bitfield name="Operation Event Code 6" bit="6" summary="Unlock, source: RFID, error: invalid schedule"> + <mandatoryConform/> + </bitfield> + </bitmap> + <access read="true" write="true" readPrivilege="view" writePrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform> + <andTerm> + <feature name="NOT"/> + <feature name="RID"/> + </andTerm> + </optionalConform> + </attribute> + <attribute id="0x0045" name="KeypadProgrammingEventMask" type="map16" default="0xFFFF"> + <bitmap> + <bitfield name="Program Event Code 0" bit="0" summary="Unknown or manufacturer-specific keypad programming event"> + <mandatoryConform/> + </bitfield> + <bitfield name="Program Event Code 1" bit="1" summary="Programming PIN code changed, source: keypad + +User ID: programming user ID. + +PIN: default or programming PIN code if codes can be sent over the air per attribute. + +User type: default + +User Status: default"> + <mandatoryConform/> + </bitfield> + <bitfield name="Program Event Code 2" bit="2" summary="PIN added, source: keypad + +User ID: user ID that was added. + +PIN: code that was added (if codes can be sent over the air per attribute.) + +User type: default or type added. + +User Status: default or status added."> + <mandatoryConform/> + </bitfield> + <bitfield name="Program Event Code 3" bit="3" summary="PIN cleared, source: keypad + +User ID: user ID that was cleared. + +PIN: code that was cleared (if codes can be sent over the air per attribute.) + +User type: default or type cleared. + +User Status: default or status cleared."> + <mandatoryConform/> + </bitfield> + <bitfield name="Program Event Code 4" bit="4" summary="PIN changed + +Source: keypad + +User ID: user ID that was changed + +PIN: code that was changed (if codes can be sent over the air per attribute.) + +User type: default or type changed. + +User Status: default or status changed."> + <mandatoryConform/> + </bitfield> + </bitmap> + <access read="true" write="true" readPrivilege="view" writePrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform> + <andTerm> + <feature name="NOT"/> + <feature name="PIN"/> + </andTerm> + </optionalConform> + </attribute> + <attribute id="0x0046" name="RemoteProgrammingEventMask" type="map16" default="0xFFFF"> + <bitmap> + <bitfield name="Program Event Code 0" bit="0" summary="Unknown or manufacturer-specific remote programming event."> + <mandatoryConform/> + </bitfield> + <bitfield name="Program Event Code 2" bit="2" summary="PIN added, source remote + +Same as keypad source above"> + <mandatoryConform/> + </bitfield> + <bitfield name="Program Event Code 3" bit="3" summary="PIN cleared, source remote + +Same as keypad source above."> + <mandatoryConform/> + </bitfield> + <bitfield name="Program Event Code 4" bit="4" summary="PIN changed + +Source remote + +Same as keypad source above"> + <mandatoryConform/> + </bitfield> + <bitfield name="Program Event Code 5" bit="5" summary="RFID code added, Source remote"> + <mandatoryConform/> + </bitfield> + <bitfield name="Program Event Code 6" bit="6" summary="RFID code cleared, Source remote"> + <mandatoryConform/> + </bitfield> + </bitmap> + <access read="true" write="true" readPrivilege="view" writePrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform> + <feature name="NOT"/> + </optionalConform> + </attribute> + <attribute id="0x0047" name="RFIDProgrammingEventMask" type="map16" default="0xFFFF"> + <bitmap> + <bitfield name="Program Event Code 0" bit="0" summary="Unknown or manufacturer-specific keypad programming event"> + <mandatoryConform/> + </bitfield> + <bitfield name="Program Event Code 5" bit="5" summary="ID Added, Source: RFID + +User ID: user ID that was added. + +ID: ID that was added (if codes can be sent over the air per attribute.) + +User Type: default or type added. + +User Status: default or status added."> + <mandatoryConform/> + </bitfield> + <bitfield name="Program Event Code 6" bit="6" summary="ID cleared, Source: RFID + +User ID: user ID that was cleared. + +ID: ID that was cleared (if codes can be sent over the air per attribute.) + +User Type: default or type cleared. + +User Status: default or status cleared."> + <mandatoryConform/> + </bitfield> + </bitmap> + <access read="true" write="true" readPrivilege="view" writePrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform> + <andTerm> + <feature name="NOT"/> + <feature name="RID"/> + </andTerm> + </optionalConform> + </attribute> + </attributes> + <commands> + <command id="0x00" name="Lock Door" response="Y"> + <access invokePrivilege="operate" timed="true"/> + <mandatoryConform/> + <field id="0" name="PINCode + + PIN/RFID Code&#8224;" type="octets"> + <optionalConform> + <andTerm> + <feature name="COTA"/> + <feature name="PIN"/> + </andTerm> + </optionalConform> + </field> + </command> + <command id="0x01" name="Unlock Door" response="Y"> + <access invokePrivilege="operate" timed="true"/> + <mandatoryConform/> + <field id="0" name="PINCode + + PIN/RFID Code&#8224;" type="octets"> + <optionalConform> + <andTerm> + <feature name="COTA"/> + <feature name="PIN"/> + </andTerm> + </optionalConform> + </field> + </command> + <command id="0x02" name="Toggle" response="Y"> + <access invokePrivilege="operate" timed="true"/> + <disallowConform/> + </command> + <command id="0x03" name="Unlock with Timeout" response="Y"> + <access invokePrivilege="operate" timed="true"/> + <optionalConform/> + <field id="0" name="Timeout" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="PINCode + + PIN/RFID Code&#8224;" type="octets"> + <optionalConform> + <andTerm> + <feature name="COTA"/> + <feature name="PIN"/> + </andTerm> + </optionalConform> + </field> + </command> + <command id="0x04" name="Get Log Record" response="Get Log Record Response"> + <access invokePrivilege="manage"/> + <mandatoryConform> + <feature name="LOG"/> + </mandatoryConform> + <field id="0" name="Log Index" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x04" name="Get Log Record Response" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="LOG"/> + </mandatoryConform> + <field id="0" name="Log Entry ID" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="Timestamp" type="epoch-s"> + <mandatoryConform/> + </field> + <field id="2" name="Event Type" type="enum8"> + <enum> + <item value="0" name="Operation"> + <mandatoryConform/> + </item> + <item value="1" name="Programming"> + <mandatoryConform/> + </item> + <item value="2" name="Alarm"> + <mandatoryConform/> + </item> + </enum> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="3" name="Source" type="uint8"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="4" name="Event ID/Alarm Code" type="uint8"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="5" name="User ID" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="6" name="PIN" type="octets"> + <mandatoryConform/> + </field> + </command> + <command id="0x05" name="Set PIN Code" response="Y"> + <access invokePrivilege="admin" timed="true"/> + <mandatoryConform> + <andTerm> + <notTerm> + <feature name="USR"/> + </notTerm> + <feature name="PIN"/> + </andTerm> + </mandatoryConform> + <field id="0" name="User ID" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="User Status" type="uint8" default="OccupiedEnabled"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="allowed" value="UserStatusEnum"/> + </field> + <field id="2" name="User Type" type="enum8" default="UnrestrictedUser"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="allowed" value="UserTypeEnum"/> + </field> + <field id="3" name="PIN" type="octets"> + <mandatoryConform/> + </field> + </command> + <command id="0x06" name="Get PIN Code" response="Get PIN Code Response"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <andTerm> + <notTerm> + <feature name="USR"/> + </notTerm> + <feature name="PIN"/> + </andTerm> + </mandatoryConform> + <field id="0" name="User ID" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x06" name="Get PIN Code Response" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <andTerm> + <notTerm> + <feature name="USR"/> + </notTerm> + <feature name="PIN"/> + </andTerm> + </mandatoryConform> + <field id="0" name="User ID" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="User Status" type="uint8" default="Available"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="allowed" value="UserStatusEnum"/> + </field> + <field id="2" name="User Type" type="enum8"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="allowed" value="UserTypeEnum"/> + </field> + <field id="3" name="PIN Code" type="octets" default="empty"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </command> + <command id="0x07" name="Clear PIN Code" response="Y"> + <access invokePrivilege="admin" timed="true"/> + <mandatoryConform> + <andTerm> + <notTerm> + <feature name="USR"/> + </notTerm> + <feature name="PIN"/> + </andTerm> + </mandatoryConform> + <field id="0" name="PINSlotIndex + + User ID&#8224;" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfPINUsersSupported"/> + <constraint type="allowed" value="0xFFFE"/> + </field> + </command> + <command id="0x08" name="Clear All PIN Codes" response="Y"> + <access invokePrivilege="admin" timed="true"/> + <mandatoryConform> + <andTerm> + <notTerm> + <feature name="USR"/> + </notTerm> + <feature name="PIN"/> + </andTerm> + </mandatoryConform> + </command> + <command id="0x09" name="Set User Status" response="Y"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <andTerm> + <notTerm> + <feature name="USR"/> + </notTerm> + <orTerm> + <feature name="PIN"/> + <feature name="RID"/> + <feature name="FGP"/> + </orTerm> + </andTerm> + </mandatoryConform> + <field id="0" name="User ID" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="User Status" type="uint8"> + <mandatoryConform/> + <constraint type="allowed" value="UserStatusEnum"/> + </field> + </command> + <command id="0x0a" name="Get User Status" response="Get User Status Response"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <andTerm> + <notTerm> + <feature name="USR"/> + </notTerm> + <orTerm> + <feature name="PIN"/> + <feature name="RID"/> + <feature name="FGP"/> + </orTerm> + </andTerm> + </mandatoryConform> + <field id="0" name="User ID" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x0a" name="Get User Status Response" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <notTerm> + <feature name="USR"/> + </notTerm> + </mandatoryConform> + <field id="0" name="User ID" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="User Status" type="enum8"> + <mandatoryConform/> + <constraint type="allowed" value="UserStatusEnum"/> + </field> + </command> + <command id="0x0b" name="Set Week Day Schedule" response="Y"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <feature name="WDSCH"/> + </mandatoryConform> + <field id="0" name="WeekDayIndex + + Schedule ID&#8224;" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfWeekDaySchedulesSupportedPerUser"/> + </field> + <field id="1" name="UserIndex + + User ID&#8224;" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfTotalUsersSupported"/> + </field> + <field id="2" name="DaysMask" type="DaysMaskMap"> + <mandatoryConform/> + </field> + <field id="3" name="StartHour" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="0" to="23"/> + </field> + <field id="4" name="StartMinute" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="0" to="59"/> + </field> + <field id="5" name="EndHour" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="0" to="23"/> + </field> + <field id="6" name="EndMinute" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="0" to="59"/> + </field> + </command> + <command id="0x0c" name="Get Week Day Schedule" response="Get Week Day Schedule Response"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <feature name="WDSCH"/> + </mandatoryConform> + <field id="0" name="WeekDayIndex + + Schedule ID&#8224;" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfWeekDaySchedulesSupportedPerUser"/> + </field> + <field id="1" name="UserIndex + + User ID&#8224;" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfTotalUsersSupported"/> + </field> + </command> + <command id="0x0c" name="Get Week Day Schedule Response" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="WDSCH"/> + </mandatoryConform> + <field id="0" name="WeekDayIndex + + Schedule ID&#8224;" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfWeekDaySchedulesSupportedPerUser"/> + </field> + <field id="1" name="UserIndex + + User ID&#8224;" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfTotalUsersSupported"/> + </field> + <field id="2" name="Status" type="enum8" default="SUCCESS"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="3" name="DaysMask" type="DaysMaskMap"> + <optionalConform/> + </field> + <field id="4" name="StartHour" type="uint8"> + <optionalConform/> + <constraint type="between" from="0" to="23"/> + </field> + <field id="5" name="StartMinute" type="uint8"> + <optionalConform/> + <constraint type="between" from="0" to="59"/> + </field> + <field id="6" name="EndHour" type="uint8"> + <optionalConform/> + <constraint type="between" from="0" to="23"/> + </field> + <field id="7" name="EndMinute" type="uint8"> + <optionalConform/> + <constraint type="between" from="0" to="59"/> + </field> + </command> + <command id="0x0d" name="Clear Week Day Schedule" response="Y"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <feature name="WDSCH"/> + </mandatoryConform> + <field id="0" name="WeekDayIndex + + Schedule ID&#8224;" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfWeekDaySchedulesSupportedPerUser"/> + <constraint type="allowed" value="0xFE"/> + </field> + <field id="1" name="UserIndex + + User ID&#8224;" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfTotalUsersSupported"/> + </field> + </command> + <command id="0x0e" name="Set Year Day Schedule" response="Y"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <feature name="YDSCH"/> + </mandatoryConform> + <field id="0" name="YearDayIndex + + Schedule ID&#8224;" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfYearDaySchedulesSupportedPerUser"/> + </field> + <field id="1" name="UserIndex + + User ID&#8224;" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfTotalUsersSupported"/> + </field> + <field id="2" name="LocalStartTime" type="epoch-s"> + <mandatoryConform/> + </field> + <field id="3" name="LocalEndTime" type="epoch-s"> + <mandatoryConform/> + </field> + </command> + <command id="0x0f" name="Get Year Day Schedule" response="Get Year Day Schedule Response"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <feature name="YDSCH"/> + </mandatoryConform> + <field id="0" name="YearDayIndex + + Schedule ID&#8224;" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfYearDaySchedulesSupportedPerUser"/> + </field> + <field id="1" name="UserIndex + + User ID&#8224;" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfTotalUsersSupported"/> + </field> + </command> + <command id="0x0f" name="Get Year Day Schedule Response" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="YDSCH"/> + </mandatoryConform> + <field id="0" name="YearDayIndex + + Schedule ID&#8224;" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfYearDaySchedulesSupportedPerUser"/> + </field> + <field id="1" name="UserIndex + + User ID&#8224;" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfTotalUsersSupported"/> + </field> + <field id="2" name="Status" type="enum8" default="SUCCESS"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="2" name="LocalStartTime" type="epoch-s"> + <optionalConform/> + </field> + <field id="3" name="LocalEndTime" type="epoch-s"> + <optionalConform/> + </field> + </command> + <command id="0x10" name="Clear Year Day Schedule" response="Y"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <feature name="YDSCH"/> + </mandatoryConform> + <field id="0" name="YearDayIndex + + Schedule ID&#8224;" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfYearDaySchedulesSupportedPerUser"/> + <constraint type="allowed" value="0xFE"/> + </field> + <field id="1" name="UserIndex + + User ID&#8224;" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfTotalUsersSupported"/> + </field> + </command> + <command id="0x11" name="Set Holiday Schedule" response="Y"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <feature name="HDSCH"/> + </mandatoryConform> + <field id="0" name="HolidayIndex + + Holiday Schedule ID&#8224;" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfHolidaySchedulesSupported"/> + </field> + <field id="1" name="LocalStartTime" type="epoch-s"> + <mandatoryConform/> + </field> + <field id="2" name="LocalEndTime" type="epoch-s"> + <mandatoryConform/> + </field> + <field id="3" name="OperatingMode" type="OperatingModeEnum"> + <mandatoryConform/> + </field> + </command> + <command id="0x12" name="Get Holiday Schedule" response="Get Holiday Schedule Response"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <feature name="HDSCH"/> + </mandatoryConform> + <field id="0" name="HolidayIndex + + Holiday Schedule ID&#8224;" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfHolidaySchedulesSupported"/> + </field> + </command> + <command id="0x12" name="Get Holiday Schedule Response" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="HDSCH"/> + </mandatoryConform> + <field id="0" name="HolidayIndex + + Holiday Schedule ID&#8224;" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfHolidaySchedulesSupported"/> + </field> + <field id="1" name="Status" type="enum8" default="SUCCESS"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="2" name="LocalStartTime" type="epoch-s"> + <quality nullable="true"/> + <optionalConform/> + </field> + <field id="3" name="Local End Time" type="epoch-s"> + <quality nullable="true"/> + <optionalConform/> + </field> + <field id="4" name="OperatingMode" type="OperatingModeEnum"> + <quality nullable="true"/> + <optionalConform/> + </field> + </command> + <command id="0x13" name="Clear Holiday Schedule" response="Y"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <feature name="HDSCH"/> + </mandatoryConform> + <field id="0" name="HolidayIndex + + Holiday Schedule ID&#8224;" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfHolidaySchedulesSupported"/> + <constraint type="allowed" value="0xFE"/> + </field> + </command> + <command id="0x14" name="Set User Type" response="Y"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <andTerm> + <notTerm> + <feature name="USR"/> + </notTerm> + <orTerm> + <feature name="PIN"/> + <feature name="RID"/> + <feature name="FGP"/> + </orTerm> + </andTerm> + </mandatoryConform> + <field id="0" name="User ID" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="User Type" type="enum8"> + <mandatoryConform/> + <constraint type="allowed" value="UserTypeEnum"/> + </field> + </command> + <command id="0x15" name="Get User Type" response="Get User Type Response"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <andTerm> + <notTerm> + <feature name="USR"/> + </notTerm> + <orTerm> + <feature name="PIN"/> + <feature name="RID"/> + <feature name="FGP"/> + </orTerm> + </andTerm> + </mandatoryConform> + <field id="0" name="User ID" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x15" name="Get User Type Response" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <notTerm> + <feature name="USR"/> + </notTerm> + </mandatoryConform> + <field id="0" name="User ID" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="User Type" type="enum8"> + <mandatoryConform/> + <constraint type="allowed" value="UserTypeEnum"/> + </field> + </command> + <command id="0x16" name="Set RFID Code" response="Y"> + <access invokePrivilege="admin" timed="true"/> + <mandatoryConform> + <andTerm> + <notTerm> + <feature name="USR"/> + </notTerm> + <feature name="RID"/> + </andTerm> + </mandatoryConform> + <field id="0" name="User ID" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="User Status" type="uint8" default="OccupiedEnabled"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="allowed" value="UserStatusEnum"/> + </field> + <field id="2" name="User Type" type="enum8" default="UnrestrictedUser"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="allowed" value="UserTypeEnum"/> + </field> + <field id="3" name="RFID Code" type="octets"> + <mandatoryConform/> + </field> + </command> + <command id="0x17" name="Get RFID Code" response="Get RFID Code Response"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <andTerm> + <notTerm> + <feature name="USR"/> + </notTerm> + <feature name="RID"/> + </andTerm> + </mandatoryConform> + <field id="0" name="User ID" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x17" name="Get RFID Code Response" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <andTerm> + <notTerm> + <feature name="USR"/> + </notTerm> + <feature name="RID"/> + </andTerm> + </mandatoryConform> + <field id="0" name="User ID" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="User Status" type="enum8" default="Available"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="allowed" value="UserStatusEnum"/> + </field> + <field id="2" name="User Type" type="enum8"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="allowed" value="UserTypeEnum"/> + </field> + <field id="3" name="RFID Code" type="octets" default="empty"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </command> + <command id="0x18" name="Clear RFID Code" response="Y"> + <access invokePrivilege="admin" timed="true"/> + <mandatoryConform> + <andTerm> + <notTerm> + <feature name="USR"/> + </notTerm> + <feature name="RID"/> + </andTerm> + </mandatoryConform> + <field id="0" name="RFIDSlotIndex + + User ID&#8224;" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfRFIDUsersSupported"/> + <constraint type="allowed" value="0xFFFE"/> + </field> + </command> + <command id="0x19" name="Clear All RFID Codes" response="Y"> + <access invokePrivilege="admin" timed="true"/> + <mandatoryConform> + <andTerm> + <notTerm> + <feature name="USR"/> + </notTerm> + <feature name="RID"/> + </andTerm> + </mandatoryConform> + </command> + <command id="0x1a" name="Set User" response="Y"> + <access invokePrivilege="admin" timed="true"/> + <mandatoryConform> + <feature name="USR"/> + </mandatoryConform> + <field id="0" name="OperationType" type="DataOperationTypeEnum"> + <mandatoryConform/> + <constraint type="allowed" value="Add"/> + <constraint type="allowed" value="Modify"/> + </field> + <field id="1" name="UserIndex" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfTotalUsersSupported"/> + </field> + <field id="2" name="UserName" type="string" default="empty"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="maxLength" value="10"/> + </field> + <field id="3" name="UserUniqueID" type="uint32" default="0xFFFFFFFF"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="4" name="UserStatus" type="UserStatusEnum" default="OccupiedEnabled"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="allowed" value="OccupiedEnabled"/> + <constraint type="allowed" value="OccupiedDisabled"/> + </field> + <field id="5" name="UserType" type="UserTypeEnum" default="UnrestrictedUser"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="allowed" value="UnrestrictedUser"/> + <constraint type="allowed" value="NonAccessUser"/> + <constraint type="allowed" value="ForcedUser"/> + <constraint type="allowed" value="DisposableUser"/> + <constraint type="allowed" value="ExpiringUser"/> + <constraint type="allowed" value="ScheduleRestrictedUser"/> + <constraint type="allowed" value="RemoteOnlyUser"/> + </field> + <field id="6" name="CredentialRule" type="CredentialRuleEnum" default="Single"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </command> + <command id="0x1b" name="Get User" response="Get User Response"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <feature name="USR"/> + </mandatoryConform> + <field id="0" name="UserIndex" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfTotalUsersSupported"/> + </field> + </command> + <command id="0x1c" name="Get User Response" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="USR"/> + </mandatoryConform> + <field id="0" name="UserIndex" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfTotalUsersSupported"/> + </field> + <field id="1" name="UserName" type="string" default="empty"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="maxLength" value="10"/> + </field> + <field id="2" name="UserUniqueID" type="uint32" default="0"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="3" name="UserStatus" type="UserStatusEnum" default="Available"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="4" name="UserType" type="UserTypeEnum" default="UnrestrictedUser"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="5" name="CredentialRule" type="CredentialRuleEnum" default="Single"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="6" name="Credentials" type="list"> + <entry type="CredentialStruct"/> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="countBetween" from="0" to="NumberOfCredentialsSupportedPerUser"/> + </field> + <field id="7" name="CreatorFabricIndex" type="fabric-idx"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="8" name="LastModifiedFabricIndex" type="fabric-idx"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="9" name="NextUserIndex" type="uint16"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfTotalUsersSupported"/> + </field> + </command> + <command id="0x1d" name="Clear User" response="Y"> + <access invokePrivilege="admin" timed="true"/> + <mandatoryConform> + <feature name="USR"/> + </mandatoryConform> + <field id="0" name="UserIndex" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfTotalUsersSupported"/> + <constraint type="allowed" value="0xFFFE"/> + </field> + </command> + <command id="0x20" name="Operating Event Notification" direction="commandToClient"> + <access invokePrivilege="operate"/> + <optionalConform> + <feature name="NOT"/> + </optionalConform> + </command> + <command id="0x21" name="Programming Event Notification" direction="commandToClient"> + <access invokePrivilege="operate"/> + <optionalConform> + <feature name="NOT"/> + </optionalConform> + <field id="0" name="Program Event Source" type="uint8"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="Program Event Code" type="uint8"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="2" name="User ID" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="3" name="PIN" type="octets"> + <mandatoryConform/> + </field> + <field id="4" name="User Type" type="enum8"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="5" name="User Status" type="enum8"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="6" name="LocalTime" type="epoch-s"> + <mandatoryConform/> + </field> + <field id="7" name="Data" type="string"> + <optionalConform/> + </field> + </command> + <command id="0x22" name="Set Credential" response="Set Credential Response"> + <access invokePrivilege="admin" timed="true"/> + <mandatoryConform> + <feature name="USR"/> + </mandatoryConform> + <field id="0" name="OperationType" type="DataOperationTypeEnum"> + <mandatoryConform/> + <constraint type="allowed" value="Add"/> + <constraint type="allowed" value="Modify"/> + </field> + <field id="1" name="Credential" type="CredentialStruct"> + <mandatoryConform/> + </field> + <field id="2" name="CredentialData" type="octets"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="3" name="UserIndex" type="uint16"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfTotalUsersSupported"/> + </field> + <field id="4" name="UserStatus" type="UserStatusEnum" default="OccupiedEnabled"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="allowed" value="OccupiedEnabled"/> + <constraint type="allowed" value="OccupiedDisabled"/> + </field> + <field id="5" name="UserType" type="UserTypeEnum" default="UnrestrictedUser"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="allowed" value="UnrestrictedUser"/> + <constraint type="allowed" value="ProgrammingUser"/> + <constraint type="allowed" value="NonAccessUser"/> + <constraint type="allowed" value="ForcedUser"/> + <constraint type="allowed" value="DisposableUser"/> + <constraint type="allowed" value="ExpiringUser"/> + <constraint type="allowed" value="RemoteOnlyUser"/> + </field> + </command> + <command id="0x23" name="Set Credential Response" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="USR"/> + </mandatoryConform> + <field id="0" name="Status" type="status"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="UserIndex" type="uint16" default="0"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfTotalUsersSupported"/> + </field> + <field id="2" name="NextCredentialIndex" type="uint16"> + <quality nullable="true"/> + <optionalConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x24" name="Get Credential Status" response="Get Credential Status Response"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <feature name="USR"/> + </mandatoryConform> + <field id="0" name="Credential" type="CredentialStruct"> + <mandatoryConform/> + </field> + </command> + <command id="0x25" name="Get Credential Status Response" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="USR"/> + </mandatoryConform> + <field id="0" name="CredentialExists" type="bool"> + <mandatoryConform/> + </field> + <field id="1" name="UserIndex" type="uint16"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="between" from="1" to="NumberOfTotalUsersSupported"/> + </field> + <field id="2" name="CreatorFabricIndex" type="fabric-idx"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="3" name="LastModifiedFabricIndex" type="fabric-idx"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="4" name="NextCredentialIndex" type="uint16"> + <quality nullable="true"/> + <optionalConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x26" name="Clear Credential" response="Y"> + <access invokePrivilege="admin" timed="true"/> + <mandatoryConform> + <feature name="USR"/> + </mandatoryConform> + <field id="0" name="Credential" type="CredentialStruct"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x27" name="Unbolt Door" response="Y"> + <access invokePrivilege="operate" timed="true"/> + <mandatoryConform> + <feature name="UBOLT"/> + </mandatoryConform> + <field id="0" name="PINCode" type="octets"> + <optionalConform> + <andTerm> + <feature name="COTA"/> + <feature name="PIN"/> + </andTerm> + </optionalConform> + </field> + </command> + </commands> + <events> + <event id="0x00" name="DoorLockAlarm" priority="critical"> + <access readPrivilege="view"/> + <mandatoryConform/> + <field id="0" name="AlarmCode" type="AlarmCodeEnum"> + <mandatoryConform/> + </field> + </event> + <event id="0x01" name="DoorStateChange" priority="desc"> + <access readPrivilege="view"/> + <mandatoryConform> + <feature name="DPS"/> + </mandatoryConform> + <field id="0" name="DoorState" type="DoorStateEnum"> + <mandatoryConform/> + </field> + </event> + <event id="0x02" name="LockOperation" priority="desc"> + <access readPrivilege="view"/> + <mandatoryConform/> + <field id="0" name="LockOperationType" type="LockOperationTypeEnum"> + <mandatoryConform/> + </field> + <field id="1" name="OperationSource" type="OperationSourceEnum"> + <mandatoryConform/> + </field> + <field id="2" name="UserIndex" type="uint16"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="3" name="FabricIndex" type="fabric-idx"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="4" name="SourceNode" type="node-id"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="5" name="Credentials" type="list"> + <entry type="CredentialStruct"/> + <quality nullable="true"/> + <optionalConform> + <feature name="USR"/> + </optionalConform> + <constraint type="countBetween" from="1" to="NumberOfCredentialsSupportedPerUser"/> + </field> + </event> + <event id="0x03" name="LockOperationError" priority="desc"> + <access readPrivilege="view"/> + <mandatoryConform/> + <field id="0" name="LockOperationType" type="LockOperationTypeEnum"> + <mandatoryConform/> + </field> + <field id="1" name="OperationSource" type="OperationSourceEnum"> + <mandatoryConform/> + </field> + <field id="2" name="OperationError" type="OperationErrorEnum"> + <mandatoryConform/> + </field> + <field id="3" name="UserIndex" type="uint16"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="4" name="FabricIndex" type="fabric-idx"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="5" name="SourceNode" type="node-id"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="6" name="Credentials" type="list"> + <entry type="CredentialStruct"/> + <quality nullable="true"/> + <optionalConform> + <feature name="USR"/> + </optionalConform> + <constraint type="countBetween" from="1" to="NumberOfCredentialsSupportedPerUser"/> + </field> + </event> + <event id="0x04" name="LockUserChange" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform> + <feature name="USR"/> + </mandatoryConform> + <field id="0" name="LockDataType" type="LockDataTypeEnum"> + <mandatoryConform/> + </field> + <field id="1" name="DataOperationType" type="DataOperationTypeEnum"> + <mandatoryConform/> + </field> + <field id="2" name="OperationSource" type="OperationSourceEnum"> + <mandatoryConform/> + <constraint type="allowed" value="Unspecified"/> + <constraint type="allowed" value="Keypad"/> + <constraint type="allowed" value="Remote"/> + </field> + <field id="3" name="UserIndex" type="uint16"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="4" name="FabricIndex" type="fabric-idx"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="5" name="SourceNode" type="node-id"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="6" name="DataIndex" type="uint16"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/EVSE-Attributes.xml b/zcl-builtin/matter/new-data-model/EVSE-Attributes.xml new file mode 100644 index 0000000000000000000000000000000000000000..2d7c35187622d8dfe0d0f7e3566d5da013f8f214 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/EVSE-Attributes.xml @@ -0,0 +1,45 @@ +<?xml version="1.0"?> +<!-- +Electric Vehicle Supply Equipment (EVSE) is equipment used to charge an Electric +Vehicle (EV) or Plug-In Hybrid Electric Vehicle. This cluster provides an +interface to the functionality of Electric Vehicle Supply Equipment (EVSE) +management. + +Devices targeted by this cluster include Electric Vehicle Supply Equipment +(EVSE). The cluster generically assumes a signaling protocol (J1772 in NA and +IEC61851 in Europe and Asia) between the EVSE and Electric Vehicle (EV) that +utilizes a pilot signal to manage the states of the charge. SAE J1772 and +IEC61841 define Pilot signal as a modulated DC voltage on a single wire. + +Power Line Communication (PLC) is supported by some EVSEs (e.g. for support of +ISO 15118) and may enable features such as Vehicle to Grid (V2G) or Vehicle to +Home (V2H) that allows for bi-directional charging/discharging of electric +vehicles. + +More modern EVSE devices may optionally support ISO 15118 to support +bi-directional charging (Vehicle to Grid - V2G) and Plug and Charge +capabilities. + +This cluster definition assumes AC charging only. DC charging options may be +added in future revisions of this cluster. + +This cluster supports a safety mechanism that may lockout remote operation until +the initial latching conditions have been met. Some of the fault conditions +defined in SAE J1772, such as Ground-Fault Circuit Interrupter (GFCI) or +Charging Circuit Interrupting Device (CCID), may require clearing by an operator +by, for example, pressing a button on the equipment or breaker panel. + +Signals and data provided by Electric Vehicle (EV) are labeled using EV in +control and attribute names. Signals and data provided by Electric Vehicle +Supply Equipment (EVSE) are labeled using EVSE in control and attribute names. + +This EVSE cluster is written around support of a single EVSE. Having multiple +EVSEs at home or a business is managed by backend system and outside scope of +this cluster. + +Note that in many deployments the EVSE may be outside the home and may suffer +from intermittent network connections (e.g. a weak Wi-Fi signal). It also allows +for a charging profile to be pre-configured, in case there is a temporary +communications loss during a charging session. +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Attributes" revision=""/> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/EVSE-Classification.xml b/zcl-builtin/matter/new-data-model/EVSE-Classification.xml new file mode 100644 index 0000000000000000000000000000000000000000..e6a09cec3e6470e98832fb4e24e920fa6e39b2a4 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/EVSE-Classification.xml @@ -0,0 +1,45 @@ +<?xml version="1.0"?> +<!-- +Electric Vehicle Supply Equipment (EVSE) is equipment used to charge an Electric +Vehicle (EV) or Plug-In Hybrid Electric Vehicle. This cluster provides an +interface to the functionality of Electric Vehicle Supply Equipment (EVSE) +management. + +Devices targeted by this cluster include Electric Vehicle Supply Equipment +(EVSE). The cluster generically assumes a signaling protocol (J1772 in NA and +IEC61851 in Europe and Asia) between the EVSE and Electric Vehicle (EV) that +utilizes a pilot signal to manage the states of the charge. SAE J1772 and +IEC61841 define Pilot signal as a modulated DC voltage on a single wire. + +Power Line Communication (PLC) is supported by some EVSEs (e.g. for support of +ISO 15118) and may enable features such as Vehicle to Grid (V2G) or Vehicle to +Home (V2H) that allows for bi-directional charging/discharging of electric +vehicles. + +More modern EVSE devices may optionally support ISO 15118 to support +bi-directional charging (Vehicle to Grid - V2G) and Plug and Charge +capabilities. + +This cluster definition assumes AC charging only. DC charging options may be +added in future revisions of this cluster. + +This cluster supports a safety mechanism that may lockout remote operation until +the initial latching conditions have been met. Some of the fault conditions +defined in SAE J1772, such as Ground-Fault Circuit Interrupter (GFCI) or +Charging Circuit Interrupting Device (CCID), may require clearing by an operator +by, for example, pressing a button on the equipment or breaker panel. + +Signals and data provided by Electric Vehicle (EV) are labeled using EV in +control and attribute names. Signals and data provided by Electric Vehicle +Supply Equipment (EVSE) are labeled using EVSE in control and attribute names. + +This EVSE cluster is written around support of a single EVSE. Having multiple +EVSEs at home or a business is managed by backend system and outside scope of +this cluster. + +Note that in many deployments the EVSE may be outside the home and may suffer +from intermittent network connections (e.g. a weak Wi-Fi signal). It also allows +for a charging profile to be pre-configured, in case there is a temporary +communications loss during a charging session. +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Classification" revision=""/> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/EVSE-ClusterID.xml b/zcl-builtin/matter/new-data-model/EVSE-ClusterID.xml new file mode 100644 index 0000000000000000000000000000000000000000..4d79099afada6e728aaf67aabf44406965a8e972 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/EVSE-ClusterID.xml @@ -0,0 +1,45 @@ +<?xml version="1.0"?> +<!-- +Electric Vehicle Supply Equipment (EVSE) is equipment used to charge an Electric +Vehicle (EV) or Plug-In Hybrid Electric Vehicle. This cluster provides an +interface to the functionality of Electric Vehicle Supply Equipment (EVSE) +management. + +Devices targeted by this cluster include Electric Vehicle Supply Equipment +(EVSE). The cluster generically assumes a signaling protocol (J1772 in NA and +IEC61851 in Europe and Asia) between the EVSE and Electric Vehicle (EV) that +utilizes a pilot signal to manage the states of the charge. SAE J1772 and +IEC61841 define Pilot signal as a modulated DC voltage on a single wire. + +Power Line Communication (PLC) is supported by some EVSEs (e.g. for support of +ISO 15118) and may enable features such as Vehicle to Grid (V2G) or Vehicle to +Home (V2H) that allows for bi-directional charging/discharging of electric +vehicles. + +More modern EVSE devices may optionally support ISO 15118 to support +bi-directional charging (Vehicle to Grid - V2G) and Plug and Charge +capabilities. + +This cluster definition assumes AC charging only. DC charging options may be +added in future revisions of this cluster. + +This cluster supports a safety mechanism that may lockout remote operation until +the initial latching conditions have been met. Some of the fault conditions +defined in SAE J1772, such as Ground-Fault Circuit Interrupter (GFCI) or +Charging Circuit Interrupting Device (CCID), may require clearing by an operator +by, for example, pressing a button on the equipment or breaker panel. + +Signals and data provided by Electric Vehicle (EV) are labeled using EV in +control and attribute names. Signals and data provided by Electric Vehicle +Supply Equipment (EVSE) are labeled using EVSE in control and attribute names. + +This EVSE cluster is written around support of a single EVSE. Having multiple +EVSEs at home or a business is managed by backend system and outside scope of +this cluster. + +Note that in many deployments the EVSE may be outside the home and may suffer +from intermittent network connections (e.g. a weak Wi-Fi signal). It also allows +for a charging profile to be pre-configured, in case there is a temporary +communications loss during a charging session. +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Cluster ID" revision=""/> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/EVSE-Commands.xml b/zcl-builtin/matter/new-data-model/EVSE-Commands.xml new file mode 100644 index 0000000000000000000000000000000000000000..eab3b632236b50024c04fa7b5c1c1519c113b378 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/EVSE-Commands.xml @@ -0,0 +1,45 @@ +<?xml version="1.0"?> +<!-- +Electric Vehicle Supply Equipment (EVSE) is equipment used to charge an Electric +Vehicle (EV) or Plug-In Hybrid Electric Vehicle. This cluster provides an +interface to the functionality of Electric Vehicle Supply Equipment (EVSE) +management. + +Devices targeted by this cluster include Electric Vehicle Supply Equipment +(EVSE). The cluster generically assumes a signaling protocol (J1772 in NA and +IEC61851 in Europe and Asia) between the EVSE and Electric Vehicle (EV) that +utilizes a pilot signal to manage the states of the charge. SAE J1772 and +IEC61841 define Pilot signal as a modulated DC voltage on a single wire. + +Power Line Communication (PLC) is supported by some EVSEs (e.g. for support of +ISO 15118) and may enable features such as Vehicle to Grid (V2G) or Vehicle to +Home (V2H) that allows for bi-directional charging/discharging of electric +vehicles. + +More modern EVSE devices may optionally support ISO 15118 to support +bi-directional charging (Vehicle to Grid - V2G) and Plug and Charge +capabilities. + +This cluster definition assumes AC charging only. DC charging options may be +added in future revisions of this cluster. + +This cluster supports a safety mechanism that may lockout remote operation until +the initial latching conditions have been met. Some of the fault conditions +defined in SAE J1772, such as Ground-Fault Circuit Interrupter (GFCI) or +Charging Circuit Interrupting Device (CCID), may require clearing by an operator +by, for example, pressing a button on the equipment or breaker panel. + +Signals and data provided by Electric Vehicle (EV) are labeled using EV in +control and attribute names. Signals and data provided by Electric Vehicle +Supply Equipment (EVSE) are labeled using EVSE in control and attribute names. + +This EVSE cluster is written around support of a single EVSE. Having multiple +EVSEs at home or a business is managed by backend system and outside scope of +this cluster. + +Note that in many deployments the EVSE may be outside the home and may suffer +from intermittent network connections (e.g. a weak Wi-Fi signal). It also allows +for a charging profile to be pre-configured, in case there is a temporary +communications loss during a charging session. +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Commands" revision=""/> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/EVSE-DataTypes.xml b/zcl-builtin/matter/new-data-model/EVSE-DataTypes.xml new file mode 100644 index 0000000000000000000000000000000000000000..5e3c60917973dee9976f2abefbe6c11189de4de1 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/EVSE-DataTypes.xml @@ -0,0 +1,45 @@ +<?xml version="1.0"?> +<!-- +Electric Vehicle Supply Equipment (EVSE) is equipment used to charge an Electric +Vehicle (EV) or Plug-In Hybrid Electric Vehicle. This cluster provides an +interface to the functionality of Electric Vehicle Supply Equipment (EVSE) +management. + +Devices targeted by this cluster include Electric Vehicle Supply Equipment +(EVSE). The cluster generically assumes a signaling protocol (J1772 in NA and +IEC61851 in Europe and Asia) between the EVSE and Electric Vehicle (EV) that +utilizes a pilot signal to manage the states of the charge. SAE J1772 and +IEC61841 define Pilot signal as a modulated DC voltage on a single wire. + +Power Line Communication (PLC) is supported by some EVSEs (e.g. for support of +ISO 15118) and may enable features such as Vehicle to Grid (V2G) or Vehicle to +Home (V2H) that allows for bi-directional charging/discharging of electric +vehicles. + +More modern EVSE devices may optionally support ISO 15118 to support +bi-directional charging (Vehicle to Grid - V2G) and Plug and Charge +capabilities. + +This cluster definition assumes AC charging only. DC charging options may be +added in future revisions of this cluster. + +This cluster supports a safety mechanism that may lockout remote operation until +the initial latching conditions have been met. Some of the fault conditions +defined in SAE J1772, such as Ground-Fault Circuit Interrupter (GFCI) or +Charging Circuit Interrupting Device (CCID), may require clearing by an operator +by, for example, pressing a button on the equipment or breaker panel. + +Signals and data provided by Electric Vehicle (EV) are labeled using EV in +control and attribute names. Signals and data provided by Electric Vehicle +Supply Equipment (EVSE) are labeled using EVSE in control and attribute names. + +This EVSE cluster is written around support of a single EVSE. Having multiple +EVSEs at home or a business is managed by backend system and outside scope of +this cluster. + +Note that in many deployments the EVSE may be outside the home and may suffer +from intermittent network connections (e.g. a weak Wi-Fi signal). It also allows +for a charging profile to be pre-configured, in case there is a temporary +communications loss during a charging session. +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Data Types" revision=""/> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/EVSE-Definitions.xml b/zcl-builtin/matter/new-data-model/EVSE-Definitions.xml new file mode 100644 index 0000000000000000000000000000000000000000..5656d3840fddf398483753130227ba58ecd09009 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/EVSE-Definitions.xml @@ -0,0 +1,45 @@ +<?xml version="1.0"?> +<!-- +Electric Vehicle Supply Equipment (EVSE) is equipment used to charge an Electric +Vehicle (EV) or Plug-In Hybrid Electric Vehicle. This cluster provides an +interface to the functionality of Electric Vehicle Supply Equipment (EVSE) +management. + +Devices targeted by this cluster include Electric Vehicle Supply Equipment +(EVSE). The cluster generically assumes a signaling protocol (J1772 in NA and +IEC61851 in Europe and Asia) between the EVSE and Electric Vehicle (EV) that +utilizes a pilot signal to manage the states of the charge. SAE J1772 and +IEC61841 define Pilot signal as a modulated DC voltage on a single wire. + +Power Line Communication (PLC) is supported by some EVSEs (e.g. for support of +ISO 15118) and may enable features such as Vehicle to Grid (V2G) or Vehicle to +Home (V2H) that allows for bi-directional charging/discharging of electric +vehicles. + +More modern EVSE devices may optionally support ISO 15118 to support +bi-directional charging (Vehicle to Grid - V2G) and Plug and Charge +capabilities. + +This cluster definition assumes AC charging only. DC charging options may be +added in future revisions of this cluster. + +This cluster supports a safety mechanism that may lockout remote operation until +the initial latching conditions have been met. Some of the fault conditions +defined in SAE J1772, such as Ground-Fault Circuit Interrupter (GFCI) or +Charging Circuit Interrupting Device (CCID), may require clearing by an operator +by, for example, pressing a button on the equipment or breaker panel. + +Signals and data provided by Electric Vehicle (EV) are labeled using EV in +control and attribute names. Signals and data provided by Electric Vehicle +Supply Equipment (EVSE) are labeled using EVSE in control and attribute names. + +This EVSE cluster is written around support of a single EVSE. Having multiple +EVSEs at home or a business is managed by backend system and outside scope of +this cluster. + +Note that in many deployments the EVSE may be outside the home and may suffer +from intermittent network connections (e.g. a weak Wi-Fi signal). It also allows +for a charging profile to be pre-configured, in case there is a temporary +communications loss during a charging session. +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Definitions" revision=""/> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/EVSE-Dependencies.xml b/zcl-builtin/matter/new-data-model/EVSE-Dependencies.xml new file mode 100644 index 0000000000000000000000000000000000000000..76af332ca016df5cf1b93ba1da37b53c40974d29 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/EVSE-Dependencies.xml @@ -0,0 +1,45 @@ +<?xml version="1.0"?> +<!-- +Electric Vehicle Supply Equipment (EVSE) is equipment used to charge an Electric +Vehicle (EV) or Plug-In Hybrid Electric Vehicle. This cluster provides an +interface to the functionality of Electric Vehicle Supply Equipment (EVSE) +management. + +Devices targeted by this cluster include Electric Vehicle Supply Equipment +(EVSE). The cluster generically assumes a signaling protocol (J1772 in NA and +IEC61851 in Europe and Asia) between the EVSE and Electric Vehicle (EV) that +utilizes a pilot signal to manage the states of the charge. SAE J1772 and +IEC61841 define Pilot signal as a modulated DC voltage on a single wire. + +Power Line Communication (PLC) is supported by some EVSEs (e.g. for support of +ISO 15118) and may enable features such as Vehicle to Grid (V2G) or Vehicle to +Home (V2H) that allows for bi-directional charging/discharging of electric +vehicles. + +More modern EVSE devices may optionally support ISO 15118 to support +bi-directional charging (Vehicle to Grid - V2G) and Plug and Charge +capabilities. + +This cluster definition assumes AC charging only. DC charging options may be +added in future revisions of this cluster. + +This cluster supports a safety mechanism that may lockout remote operation until +the initial latching conditions have been met. Some of the fault conditions +defined in SAE J1772, such as Ground-Fault Circuit Interrupter (GFCI) or +Charging Circuit Interrupting Device (CCID), may require clearing by an operator +by, for example, pressing a button on the equipment or breaker panel. + +Signals and data provided by Electric Vehicle (EV) are labeled using EV in +control and attribute names. Signals and data provided by Electric Vehicle +Supply Equipment (EVSE) are labeled using EVSE in control and attribute names. + +This EVSE cluster is written around support of a single EVSE. Having multiple +EVSEs at home or a business is managed by backend system and outside scope of +this cluster. + +Note that in many deployments the EVSE may be outside the home and may suffer +from intermittent network connections (e.g. a weak Wi-Fi signal). It also allows +for a charging profile to be pre-configured, in case there is a temporary +communications loss during a charging session. +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Dependencies" revision=""/> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/EVSE-Events.xml b/zcl-builtin/matter/new-data-model/EVSE-Events.xml new file mode 100644 index 0000000000000000000000000000000000000000..097272ba1e106348fd832e0d20070724009c3f79 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/EVSE-Events.xml @@ -0,0 +1,45 @@ +<?xml version="1.0"?> +<!-- +Electric Vehicle Supply Equipment (EVSE) is equipment used to charge an Electric +Vehicle (EV) or Plug-In Hybrid Electric Vehicle. This cluster provides an +interface to the functionality of Electric Vehicle Supply Equipment (EVSE) +management. + +Devices targeted by this cluster include Electric Vehicle Supply Equipment +(EVSE). The cluster generically assumes a signaling protocol (J1772 in NA and +IEC61851 in Europe and Asia) between the EVSE and Electric Vehicle (EV) that +utilizes a pilot signal to manage the states of the charge. SAE J1772 and +IEC61841 define Pilot signal as a modulated DC voltage on a single wire. + +Power Line Communication (PLC) is supported by some EVSEs (e.g. for support of +ISO 15118) and may enable features such as Vehicle to Grid (V2G) or Vehicle to +Home (V2H) that allows for bi-directional charging/discharging of electric +vehicles. + +More modern EVSE devices may optionally support ISO 15118 to support +bi-directional charging (Vehicle to Grid - V2G) and Plug and Charge +capabilities. + +This cluster definition assumes AC charging only. DC charging options may be +added in future revisions of this cluster. + +This cluster supports a safety mechanism that may lockout remote operation until +the initial latching conditions have been met. Some of the fault conditions +defined in SAE J1772, such as Ground-Fault Circuit Interrupter (GFCI) or +Charging Circuit Interrupting Device (CCID), may require clearing by an operator +by, for example, pressing a button on the equipment or breaker panel. + +Signals and data provided by Electric Vehicle (EV) are labeled using EV in +control and attribute names. Signals and data provided by Electric Vehicle +Supply Equipment (EVSE) are labeled using EVSE in control and attribute names. + +This EVSE cluster is written around support of a single EVSE. Having multiple +EVSEs at home or a business is managed by backend system and outside scope of +this cluster. + +Note that in many deployments the EVSE may be outside the home and may suffer +from intermittent network connections (e.g. a weak Wi-Fi signal). It also allows +for a charging profile to be pre-configured, in case there is a temporary +communications loss during a charging session. +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Events" revision=""/> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/EVSE-Features.xml b/zcl-builtin/matter/new-data-model/EVSE-Features.xml new file mode 100644 index 0000000000000000000000000000000000000000..711029743d99828b9440a7efa46dcd3e0babbf93 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/EVSE-Features.xml @@ -0,0 +1,45 @@ +<?xml version="1.0"?> +<!-- +Electric Vehicle Supply Equipment (EVSE) is equipment used to charge an Electric +Vehicle (EV) or Plug-In Hybrid Electric Vehicle. This cluster provides an +interface to the functionality of Electric Vehicle Supply Equipment (EVSE) +management. + +Devices targeted by this cluster include Electric Vehicle Supply Equipment +(EVSE). The cluster generically assumes a signaling protocol (J1772 in NA and +IEC61851 in Europe and Asia) between the EVSE and Electric Vehicle (EV) that +utilizes a pilot signal to manage the states of the charge. SAE J1772 and +IEC61841 define Pilot signal as a modulated DC voltage on a single wire. + +Power Line Communication (PLC) is supported by some EVSEs (e.g. for support of +ISO 15118) and may enable features such as Vehicle to Grid (V2G) or Vehicle to +Home (V2H) that allows for bi-directional charging/discharging of electric +vehicles. + +More modern EVSE devices may optionally support ISO 15118 to support +bi-directional charging (Vehicle to Grid - V2G) and Plug and Charge +capabilities. + +This cluster definition assumes AC charging only. DC charging options may be +added in future revisions of this cluster. + +This cluster supports a safety mechanism that may lockout remote operation until +the initial latching conditions have been met. Some of the fault conditions +defined in SAE J1772, such as Ground-Fault Circuit Interrupter (GFCI) or +Charging Circuit Interrupting Device (CCID), may require clearing by an operator +by, for example, pressing a button on the equipment or breaker panel. + +Signals and data provided by Electric Vehicle (EV) are labeled using EV in +control and attribute names. Signals and data provided by Electric Vehicle +Supply Equipment (EVSE) are labeled using EVSE in control and attribute names. + +This EVSE cluster is written around support of a single EVSE. Having multiple +EVSEs at home or a business is managed by backend system and outside scope of +this cluster. + +Note that in many deployments the EVSE may be outside the home and may suffer +from intermittent network connections (e.g. a weak Wi-Fi signal). It also allows +for a charging profile to be pre-configured, in case there is a temporary +communications loss during a charging session. +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Features" revision=""/> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/EVSE-RevisionHistory.xml b/zcl-builtin/matter/new-data-model/EVSE-RevisionHistory.xml new file mode 100644 index 0000000000000000000000000000000000000000..e2f45ed309fd4b368fc04dca779c196feb6c1c69 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/EVSE-RevisionHistory.xml @@ -0,0 +1,45 @@ +<?xml version="1.0"?> +<!-- +Electric Vehicle Supply Equipment (EVSE) is equipment used to charge an Electric +Vehicle (EV) or Plug-In Hybrid Electric Vehicle. This cluster provides an +interface to the functionality of Electric Vehicle Supply Equipment (EVSE) +management. + +Devices targeted by this cluster include Electric Vehicle Supply Equipment +(EVSE). The cluster generically assumes a signaling protocol (J1772 in NA and +IEC61851 in Europe and Asia) between the EVSE and Electric Vehicle (EV) that +utilizes a pilot signal to manage the states of the charge. SAE J1772 and +IEC61841 define Pilot signal as a modulated DC voltage on a single wire. + +Power Line Communication (PLC) is supported by some EVSEs (e.g. for support of +ISO 15118) and may enable features such as Vehicle to Grid (V2G) or Vehicle to +Home (V2H) that allows for bi-directional charging/discharging of electric +vehicles. + +More modern EVSE devices may optionally support ISO 15118 to support +bi-directional charging (Vehicle to Grid - V2G) and Plug and Charge +capabilities. + +This cluster definition assumes AC charging only. DC charging options may be +added in future revisions of this cluster. + +This cluster supports a safety mechanism that may lockout remote operation until +the initial latching conditions have been met. Some of the fault conditions +defined in SAE J1772, such as Ground-Fault Circuit Interrupter (GFCI) or +Charging Circuit Interrupting Device (CCID), may require clearing by an operator +by, for example, pressing a button on the equipment or breaker panel. + +Signals and data provided by Electric Vehicle (EV) are labeled using EV in +control and attribute names. Signals and data provided by Electric Vehicle +Supply Equipment (EVSE) are labeled using EVSE in control and attribute names. + +This EVSE cluster is written around support of a single EVSE. Having multiple +EVSEs at home or a business is managed by backend system and outside scope of +this cluster. + +Note that in many deployments the EVSE may be outside the home and may suffer +from intermittent network connections (e.g. a weak Wi-Fi signal). It also allows +for a charging profile to be pre-configured, in case there is a temporary +communications loss during a charging session. +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Revision History" revision=""/> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/ElectricalEnergyMeasurement.xml b/zcl-builtin/matter/new-data-model/ElectricalEnergyMeasurement.xml new file mode 100644 index 0000000000000000000000000000000000000000..2cf79935140e8b17b28ed3916a82cb4ab1e4ef48 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/ElectricalEnergyMeasurement.xml @@ -0,0 +1,322 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0091" name="Electrical Energy Measurement" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="EEM" scope="Endpoint"/> + <features> + <feature bit="0" code="IMPE" name="ImportedEnergy" summary="Measurement of energy imported by the server"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="1" code="EXPE" name="ExportedEnergy" summary="Measurement of energy provided by the server"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="2" code="CUME" name="CumulativeEnergy" summary="Measurements are accumulative"> + <optionalConform choice="b" more="true"> + <notTerm> + <feature name="EPHE"/> + </notTerm> + </optionalConform> + </feature> + <feature bit="3" code="PERE" name="PeriodicEnergy" summary="Measurements are periodic"> + <optionalConform choice="b" more="true"> + <notTerm> + <feature name="EPHE"/> + </notTerm> + </optionalConform> + </feature> + <feature bit="4" code="EPHE" name="EphemeralEnergy" summary="Measurements are ephemeral"> + <mandatoryConform> + <andTerm> + <notTerm> + <feature name="CUME"/> + </notTerm> + <notTerm> + <feature name="PERE"/> + </notTerm> + </andTerm> + </mandatoryConform> + </feature> + </features> + <attributes> + <attribute id="0x0000" name="Measured" type="bool" default="false"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="CumulativeEnergyImportedTime" type="epoch-s" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="IMPE"/> + <feature name="CUME"/> + </andTerm> + </mandatoryConform> + </attribute> + <attribute id="0x0002" name="CumulativeEnergyImported" type="uint64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="IMPE"/> + <feature name="CUME"/> + </andTerm> + </mandatoryConform> + </attribute> + <attribute id="0x0003" name="CumulativeEnergyExportedTime" type="epoch-s" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="EXPE"/> + <feature name="CUME"/> + </andTerm> + </mandatoryConform> + </attribute> + <attribute id="0x0004" name="CumulativeEnergyExported" type="uint64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="EXPE"/> + <feature name="CUME"/> + </andTerm> + </mandatoryConform> + </attribute> + <attribute id="0x0005" name="PeriodicEnergyImportedStartTime" type="epoch-s" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="IMPE"/> + <feature name="PERE"/> + </andTerm> + </mandatoryConform> + </attribute> + <attribute id="0x0006" name="PeriodicEnergyImportedEndTime" type="epoch-s" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="IMPE"/> + <feature name="PERE"/> + </andTerm> + </mandatoryConform> + </attribute> + <attribute id="0x0007" name="PeriodicEnergyImported" type="uint64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="IMPE"/> + <feature name="PERE"/> + </andTerm> + </mandatoryConform> + </attribute> + <attribute id="0x0008" name="PeriodicEnergyExportedStartTime" type="epoch-s" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="EXPE"/> + <feature name="PERE"/> + </andTerm> + </mandatoryConform> + </attribute> + <attribute id="0x0009" name="PeriodicEnergyExportedEndTime" type="epoch-s" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="EXPE"/> + <feature name="PERE"/> + </andTerm> + </mandatoryConform> + </attribute> + <attribute id="0x000a" name="PeriodicEnergyExported" type="uint64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="EXPE"/> + <feature name="PERE"/> + </andTerm> + </mandatoryConform> + </attribute> + <attribute id="0x000b" name="EphemeralEnergyImported" type="uint64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="IMPE"/> + <feature name="EPHE"/> + </andTerm> + </mandatoryConform> + </attribute> + <attribute id="0x000c" name="EphemeralEnergyImported" type="uint64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="EXPE"/> + <feature name="EPHE"/> + </andTerm> + </mandatoryConform> + </attribute> + </attributes> + <events> + <event id="0x00" name="CumulativeEnergyImported" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform> + <andTerm> + <feature name="CUME"/> + <feature name="IMPE"/> + </andTerm> + </mandatoryConform> + <field id="0" name="ImportedTimestamp" type="epoch-s"> + <mandatoryConform/> + </field> + <field id="1" name="EnergyImported" type="uint64"> + <mandatoryConform/> + </field> + </event> + <event id="0x01" name="CumulativeEnergyExported" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform> + <andTerm> + <feature name="CUME"/> + <feature name="EXPE"/> + </andTerm> + </mandatoryConform> + <field id="0" name="ExportedTimestamp" type="epoch-s"> + <mandatoryConform/> + </field> + <field id="1" name="EnergyExported" type="uint64"> + <mandatoryConform/> + </field> + </event> + <event id="0x03" name="PeriodicEnergyImported" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform> + <andTerm> + <feature name="PERE"/> + <feature name="IMPE"/> + </andTerm> + </mandatoryConform> + <field id="0" name="PeriodStart" type="epoch-s"> + <mandatoryConform/> + </field> + <field id="1" name="PeriodEnd" type="epoch-s"> + <mandatoryConform/> + </field> + <field id="2" name="EnergyImported" type="uint64"> + <mandatoryConform/> + </field> + </event> + <event id="0x04" name="PeriodicEnergyExported" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform> + <andTerm> + <feature name="PERE"/> + <feature name="EXPE"/> + </andTerm> + </mandatoryConform> + <field id="0" name="PeriodStart" type="epoch-s"> + <mandatoryConform/> + </field> + <field id="1" name="PeriodEnd" type="epoch-s"> + <mandatoryConform/> + </field> + <field id="2" name="EnergyExported" type="uint64"> + <mandatoryConform/> + </field> + </event> + <event id="0x05" name="EphemeralEnergyImported" priority="info"> + <access readPrivilege="view"/> + <optionalConform> + <feature name="EPHE"/> + </optionalConform> + <field id="0" name="PeriodStart" type="systime-ms"> + <mandatoryConform/> + </field> + <field id="1" name="PeriodEnd" type="systime-ms"> + <mandatoryConform/> + </field> + <field id="2" name="EnergyImported" type="uint64"> + <mandatoryConform/> + </field> + </event> + <event id="0x06" name="EphemeralEnergyExported" priority="info"> + <access readPrivilege="view"/> + <optionalConform> + <feature name="EPHE"/> + </optionalConform> + <field id="0" name="PeriodStart" type="systime-ms"> + <mandatoryConform/> + </field> + <field id="1" name="PeriodEnd" type="systime-ms"> + <mandatoryConform/> + </field> + <field id="2" name="EnergyExported" type="uint64"> + <mandatoryConform/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/ElectricalPowerMeasurement.xml b/zcl-builtin/matter/new-data-model/ElectricalPowerMeasurement.xml new file mode 100644 index 0000000000000000000000000000000000000000..1ba8ff79fe60d26b8b643eab548975698af3645a --- /dev/null +++ b/zcl-builtin/matter/new-data-model/ElectricalPowerMeasurement.xml @@ -0,0 +1,356 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0090" name="Electrical Power Measurement" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="EMR" scope="Endpoint"/> + <features> + <feature bit="0" code="DIRC" name="DirectCurrent" summary="Measurement of direct current"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="1" code="ALTC" name="AlternatingCurrent" summary="Measurement of alternating current"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="2" code="THRP" name="ThreePhasePower" summary="Represents a three-phase connection"> + <optionalConform> + <feature name="ALTC"/> + </optionalConform> + </feature> + <feature bit="3" code="HARM" name="Harmonics" summary="Measurement of AC harmonics"> + <optionalConform> + <feature name="ALTC"/> + </optionalConform> + </feature> + <feature bit="4" code="PWRQ" name="PowerQuality" summary="Measurement of AC harmonic phases"> + <optionalConform> + <feature name="ALTC"/> + </optionalConform> + </feature> + </features> + <dataTypes> + <enum name="MeasurementTypeEnum"> + <item value="0" name="Unspecified"> + <mandatoryConform/> + </item> + <item value="1" name="Voltage"> + <mandatoryConform/> + </item> + <item value="2" name="Current"> + <mandatoryConform/> + </item> + <item value="3" name="ActivePower"> + <mandatoryConform/> + </item> + <item value="4" name="RMSCurrent"> + <mandatoryConform> + <feature name="ALTC"/> + </mandatoryConform> + </item> + <item value="5" name="RMSPower"> + <mandatoryConform> + <feature name="ALTC"/> + </mandatoryConform> + </item> + <item value="6" name="ApparentPower"> + <mandatoryConform> + <feature name="ALTC"/> + </mandatoryConform> + </item> + <item value="7" name="ReactivePower"> + <mandatoryConform> + <feature name="ALTC"/> + </mandatoryConform> + </item> + <item value="8" name="Frequency"> + <mandatoryConform> + <feature name="ALTC"/> + </mandatoryConform> + </item> + <item value="9" name="PowerFactor"> + <mandatoryConform> + <feature name="ALTC"/> + </mandatoryConform> + </item> + <item value="10" name="LineCurrent"> + <mandatoryConform> + <feature name="ALTC"/> + </mandatoryConform> + </item> + <item value="11" name="NeutralCurrent"> + <mandatoryConform> + <feature name="THRP"/> + </mandatoryConform> + </item> + </enum> + <enum name="PowerModeEnum"> + <item value="0" name="Unspecified"> + <mandatoryConform/> + </item> + <item value="1" name="DC"/> + <item value="2" name="AC"/> + </enum> + <struct name="HarmonicMeasurementStruct"> + <field id="0" name="Order" type="uint8" default="1"> + <access read="true"/> + <mandatoryConform/> + <constraint type="min" value="1"/> + </field> + <field id="1" name="Measurement" type="int32" default="null"> + <access read="true"/> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </struct> + <struct name="MeasurementAccuracyStruct"> + <field id="0" name="MeasurementType" type="MeasurementTypeEnum"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="1" name="Measured" type="bool" default="false"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="2" name="PercentTypical" type="percent100ths" default="0"> + <access read="true"/> + <quality nullable="true"/> + <optionalConform choice="a"/> + </field> + <field id="3" name="FixedTypical" type="int64" default="0"> + <access read="true"/> + <quality nullable="true"/> + <optionalConform choice="a"/> + <constraint type="min" value="0"/> + </field> + <field id="4" name="PercentMin" type="percent100ths" default="0"> + <access read="true"/> + <optionalConform/> + </field> + <field id="4" name="FixedMin" type="int64" default="0"> + <access read="true"/> + <optionalConform/> + <constraint type="min" value="0"/> + </field> + <field id="5" name="PercentMax" type="percent100ths" default="0"> + <access read="true"/> + <optionalConform/> + </field> + <field id="5" name="FixedMax" type="int64" default="0"> + <access read="true"/> + <optionalConform/> + <constraint type="min" value="0"/> + </field> + </struct> + <struct name="MeasurementRangeStruct"> + <field id="0" name="MeasurementType" type="MeasurementTypeEnum" default="0"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="1" name="Min" type="int64" default="null"> + <access read="true"/> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="2" name="MinTimestamp" type="epoch-s" default="null"> + <access read="true"/> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="3" name="Max" type="int64" default="null"> + <access read="true"/> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="4" name="MaxTimestamp" type="epoch-s" default="null"> + <access read="true"/> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="PowerMode" type="PowerModeEnum"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="Accuracy" type="list[MeasurementAccuracyStruct Type]"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0002" name="Ranges" type="list[MeasurementRangeStruct Type]"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0003" name="Voltage" type="int64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0004" name="Current" type="int64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0005" name="ActivePower" type="int64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0006" name="RMSCurrent" type="int64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="ALTC"/> + </mandatoryConform> + </attribute> + <attribute id="0x0007" name="RMSPower" type="int64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="ALTC"/> + </mandatoryConform> + </attribute> + <attribute id="0x0008" name="ApparentPower" type="int64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="ALTC"/> + </mandatoryConform> + </attribute> + <attribute id="0x0009" name="ReactivePower" type="int64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="ALTC"/> + </mandatoryConform> + </attribute> + <attribute id="0x000a" name="Frequency" type="int64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="ALTC"/> + </mandatoryConform> + <constraint type="between" from="0" to="1000000"/> + </attribute> + <attribute id="0x000b" name="HarmonicCurrents" type="list[HarmonicMeasurementStruct Type]" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="HARM"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x000c" name="HarmonicPhases" type="list[HarmonicMeasurementStruct Type]" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="PWRQ"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x000d" name="PowerFactor" type="int64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + <constraint type="between" from="-10000" to="+10000"/> + </attribute> + <attribute id="0x000e" name="LineCurrent" type="int64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="ALTC"/> + </mandatoryConform> + <constraint type="min" value="0"/> + </attribute> + <attribute id="0x000f" name="NeutralCurrent" type="int64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="THRP"/> + </mandatoryConform> + </attribute> + </attributes> + <events> + <event id="0x00" name="MeasurementPeriodRange" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform/> + <field id="0" name="MeasurementType" type="MeasurementTypeEnum"> + <mandatoryConform/> + </field> + <field id="1" name="PeriodStart" type="epoch-s"> + <mandatoryConform/> + </field> + <field id="2" name="PeriodEnd" type="epoch-s"> + <mandatoryConform/> + </field> + <field id="3" name="Min" type="int64"> + <mandatoryConform/> + </field> + <field id="4" name="MinTimestamp" type="epoch-s"> + <mandatoryConform/> + </field> + <field id="5" name="Max" type="int64"> + <mandatoryConform/> + </field> + <field id="6" name="MaxTimestamp" type="epoch-s"> + <mandatoryConform/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/EnergyCalendar.xml b/zcl-builtin/matter/new-data-model/EnergyCalendar.xml new file mode 100644 index 0000000000000000000000000000000000000000..a2495b44f452716f68d99ca37178de86d3455f7c --- /dev/null +++ b/zcl-builtin/matter/new-data-model/EnergyCalendar.xml @@ -0,0 +1,300 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x009a" name="Energy Calendar" revision="3"> + <revisionHistory> + <revision revision="1" summary="mandatory global ClusterRevision attribute added; Added from SE1.4; CCB 2068"/> + <revision revision="2" summary="CCB 3042"/> + <revision revision="3" summary="Initial Matter Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="SECA" scope="Endpoint"/> + <features> + <feature bit="0" code="PTIER" name="PricingTier" summary="Supports information about pricing tiers"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="1" code="FCRED" name="FriendlyCredit" summary="Supports information about when friendly credit periods begin and end"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="2" code="AUXLD" name="AuxiliaryLoad" summary="Supports information about when auxiliary loads should be enabled or disabled"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="3" code="PEAKP" name="PeakPeriod" summary="Supports information about peak periods"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="PeakPeriodSeverityEnum"> + <item value="0" name="Unused"> + <mandatoryConform/> + </item> + <item value="1" name="Low"> + <mandatoryConform/> + </item> + <item value="2" name="Medium"> + <mandatoryConform/> + </item> + <item value="3" name="High"> + <mandatoryConform/> + </item> + </enum> + <enum name="TimeReferenceEnum"> + <item value="0" name="UTC" summary="UTC Time"> + <mandatoryConform/> + </item> + <item value="1" name="Standard" summary="UTC time adjusted to local time zone"> + <mandatoryConform/> + </item> + <item value="2" name="Local" summary="Standard time, adjusted to DST"> + <mandatoryConform/> + </item> + </enum> + <bitmap name="AuxiliaryLoadBitmap"> + <bitfield name="AuxiliarySwitch1" bit="0" summary="Auxiliary Switch 1"> + <mandatoryConform/> + </bitfield> + <bitfield name="AuxiliarySwitch2" bit="1" summary="Auxiliary Switch 2"> + <mandatoryConform/> + </bitfield> + <bitfield name="AuxiliarySwitch3" bit="2" summary="Auxiliary Switch 3"> + <mandatoryConform/> + </bitfield> + <bitfield name="AuxiliarySwitch4" bit="3" summary="Auxiliary Switch 4"> + <mandatoryConform/> + </bitfield> + <bitfield name="AuxiliarySwitch5" bit="4" summary="Auxiliary Switch 5"> + <mandatoryConform/> + </bitfield> + <bitfield name="AuxiliarySwitch6" bit="5" summary="Auxiliary Switch 6"> + <mandatoryConform/> + </bitfield> + <bitfield name="AuxiliarySwitch7" bit="6" summary="Auxiliary Switch 7"> + <mandatoryConform/> + </bitfield> + <bitfield name="AuxiliarySwitch8" bit="7" summary="Auxiliary Switch 8"> + <mandatoryConform/> + </bitfield> + </bitmap> + <bitmap name="TransitionDayOfWeekBitmap"> + <bitfield name="Sunday" bit="0" summary="Sunday"> + <mandatoryConform/> + </bitfield> + <bitfield name="Monday" bit="1" summary="Monday"> + <mandatoryConform/> + </bitfield> + <bitfield name="Tuesday" bit="2" summary="Tuesday"> + <mandatoryConform/> + </bitfield> + <bitfield name="Wednesday" bit="3" summary="Wednesday"> + <mandatoryConform/> + </bitfield> + <bitfield name="Thursday" bit="4" summary="Thursday"> + <mandatoryConform/> + </bitfield> + <bitfield name="Friday" bit="5" summary="Friday"> + <mandatoryConform/> + </bitfield> + <bitfield name="Saturday" bit="6" summary="Saturday"> + <mandatoryConform/> + </bitfield> + </bitmap> + <struct name="CalendarPeriod"> + <field id="0" name="StartDate" type="epoch-s"> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + <field id="1" name="Days" type="list"> + <entry type="DayStruct"/> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="minCount" value="1"/> + </field> + </struct> + <struct name="DayStruct"> + <field id="0" name="Date" type="epoch-s"> + <access read="true" write="true"/> + <optionalConform choice="a"/> + <constraint type="desc"/> + </field> + <field id="1" name="DaysOfWeek" type="TransitionDayOfWeekBitmap"> + <access read="true" write="true"/> + <optionalConform choice="a"/> + <constraint type="desc"/> + </field> + <field id="2" name="Transitions" type="list"> + <entry type="TransitionStruct"/> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="minCount" value="1"/> + </field> + </struct> + <struct name="PeakPeriodStatusStruct"> + <field id="0" name="CurrentDaySeverity" type="PeakPeriodSeverityEnum"> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + <field id="1" name="NextDaySeverity" type="PeakPeriodSeverityEnum"> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + <field id="2" name="PeakPeriod" type="uint16"> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + <field id="3" name="PeakPeriodPriorNotice" type="uint16"> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + </struct> + <struct name="TransitionStruct"> + <field id="0" name="TransitionTime" type="uint16"> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="between" from="0" to="1439"/> + </field> + <field id="1" name="PriceTier" type="uint32"> + <access read="true" write="true"/> + </field> + <field id="2" name="FriendlyCredit" type="bool"> + <access read="true" write="true"/> + </field> + <field id="3" name="AuxiliaryLoad" type="AuxiliaryLoadBitmap"> + <access read="true" write="true"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="CalendarID" type="uint32" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="Name" type="string" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="maxLength" value="12"/> + </attribute> + <attribute id="0x0002" name="ProviderID" type="uint32" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0003" name="EventID" type="uint32" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0004" name="StartDate" type="epoch-s" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0005" name="TimeReference" type="TimeReferenceEnum" default="UTC"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0006" name="CalendarPeriods" type="list" default="empty"> + <entry type="CalendarPeriod"/> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0007" name="SpecialDays" type="list" default="empty"> + <entry type="DayStruct"/> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x000a" name="CurrentDay" type="DayStruct" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x000d" name="NextDay" type="DayStruct" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x000d" name="CurrentTransition" type="TransitionStruct" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x000f" name="PeakPeriodStatus" type="PeakPeriodStatusStruct" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="PEAKP"/> + </mandatoryConform> + </attribute> + <attribute id="0x0010" name="PeakPeriodStartTime" type="epoch-s" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="PEAKP"/> + </mandatoryConform> + </attribute> + <attribute id="0x0011" name="PeakPeriodEndTime" type="epoch-s" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="PEAKP"/> + </mandatoryConform> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/EnergyPreference.xml b/zcl-builtin/matter/new-data-model/EnergyPreference.xml new file mode 100644 index 0000000000000000000000000000000000000000..19da63d8be854ebcbdf2fbeff6778aa914e8cde3 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/EnergyPreference.xml @@ -0,0 +1,141 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x009b" name="Energy Preference" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="EPREF" scope="Endpoint"/> + <features> + <feature bit="0" code="BALA" name="EnergyBalance" summary="Device can balance energy consumption vs. another priority"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="0" code="LPMS" name="LowPowerModeSensitivity" summary="Device can adjust the conditions for entering a low power mode"> + <optionalConform choice="a" more="true"/> + </feature> + </features> + <dataTypes> + <enum name="EnergyPriorityEnum"> + <item value="0" name="Comfort"> + <mandatoryConform/> + </item> + <item value="1" name="Speed"> + <mandatoryConform/> + </item> + <item value="2" name="Efficiency"> + <mandatoryConform/> + </item> + <item value="3" name="WaterConsumption"> + <mandatoryConform/> + </item> + </enum> + <struct name="BalanceStruct"> + <field id="0" name="Step" type="uint8" default="MS"> + <access read="true"/> + <mandatoryConform/> + <constraint type="allowed" value="percent"/> + </field> + <field id="1" name="Label" type="string"> + <access read="true"/> + <optionalConform/> + <constraint type="maxLength" value="64"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="EnergyBalances" type="list[BalanceStruct Type]"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="BALA"/> + </mandatoryConform> + <constraint type="between" from="2" to="10"/> + </attribute> + <attribute id="0x0001" name="CurrentEnergyBalance" type="uint8"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="BALA"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0001" name="CurrentLowPowerModeSensitivity" type="uint8"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="LPMS"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0002" name="EnergyPriorities" type="list[EnergyPriorityEnum Type]"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="BALA"/> + </mandatoryConform> + <constraint type="allowed" value="2"/> + </attribute> + <attribute id="0x0003" name="LowPowerModeSensitivities" type="list[BalanceStruct Type]"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="LPMS"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/EnergyPrice.xml b/zcl-builtin/matter/new-data-model/EnergyPrice.xml new file mode 100644 index 0000000000000000000000000000000000000000..a379808a5923932c9a2cb7df51f8d3017b403829 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/EnergyPrice.xml @@ -0,0 +1,236 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0095" name="Energy Price" revision="4"> + <revisionHistory> + <revision revision="1" summary="mandatory global ClusterRevision attribute added"/> + <revision revision="2" summary="Updated from SE1.4 version; CCB 1447 2964 2965"/> + <revision revision="3" summary="CCBs 2043 2706 2810 2912 3566"/> + <revision revision="4" summary="Initial Matter Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="SEPR" scope="Endpoint"/> + <features> + <feature bit="0" code="FORE" name="Forecasting" summary="Forecasts upcoming pricing"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="PriceComponentSourceEnum"> + <item value="0" name="Tariff"> + <mandatoryConform/> + </item> + <item value="1" name="IncentiveSignal"> + <mandatoryConform/> + </item> + </enum> + <enum name="UnitOfMeasureEnum"> + <item value="0" name="kWh" summary="Kilowatt Hours"> + <mandatoryConform/> + </item> + <item value="1" name="m³" summary="Cubic meters"> + <mandatoryConform/> + </item> + <item value="2" name="ft³" summary="Cubic feet"> + <mandatoryConform/> + </item> + <item value="3" name="CCF" summary="Centum Cubic feet"> + <mandatoryConform/> + </item> + <item value="4" name="US gl" summary="US Gallons"> + <mandatoryConform/> + </item> + <item value="5" name="IMP gl" summary="Imperial Gallons"> + <mandatoryConform/> + </item> + <item value="6" name="L" summary="Liters"> + <mandatoryConform/> + </item> + <item value="7" name="BTUs" summary="British Thermal Units"> + <mandatoryConform/> + </item> + </enum> + <bitmap name="PriceDetailBitmap"> + <bitfield name="Description" bit="0" summary="A textual description of a price; e.g. the name of a rate plan."> + <mandatoryConform/> + </bitfield> + <bitfield name="Components" bit="1" summary="A breakdown of the component parts of a price; e.g. generation, delivery, etc."> + <mandatoryConform/> + </bitfield> + </bitmap> + <struct name="PriceComponentStruct"> + <field id="0" name="Price" type="int32"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="1" name="Source" type="PriceComponentSourceEnum" default="Tariff"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="2" name="Description" type="string"> + <access read="true"/> + <optionalConform/> + <constraint type="maxLength" value="32"/> + </field> + </struct> + <struct name="PriceStruct"> + <field id="0" name="PeriodStart" type="epoch-s"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="1" name="PeriodEnd" type="epoch-s" default="null"> + <access read="true"/> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="2" name="Price" type="int32"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="3" name="DecimalPoints" type="uint8" default="0"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="4" name="Currency" type="uint16"> + <access read="true"/> + <mandatoryConform/> + <constraint type="max" value="999"/> + </field> + <field id="5" name="Description" type="string"> + <access read="true"/> + <optionalConform/> + <constraint type="maxLength" value="32"/> + </field> + <field id="6" name="Components" type="list" default="empty"> + <entry type="PriceComponentStruct"/> + <access read="true"/> + <optionalConform/> + <constraint type="maxCount" value="10"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="UnitOfMeasure" type="UnitOfMeasureEnum" default="null"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="CurrentPrice" type="PriceStruct" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0002" name="PriceForecast" type="list" default="empty"> + <entry type="PriceStruct"/> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="FORE"/> + </mandatoryConform> + </attribute> + </attributes> + <commands> + <command id="0x00" name="GetDetailedPriceRequest" response="GetDetailedPriceResponse"> + <access invokePrivilege="operate"/> + <optionalConform/> + <field id="0" name="Details" type="PriceDetailBitmap" default="0"> + <mandatoryConform/> + </field> + </command> + <command id="0x01" name="GetDetailedPriceResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <optionalConform/> + <field id="0" name="Price" type="PriceStruct" default="null"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </command> + <command id="0x02" name="GetDetailedForecastRequest" response="GetDetailedForecastResponse"> + <access invokePrivilege="operate"/> + <optionalConform> + <feature name="FORE"/> + </optionalConform> + <field id="0" name="Details" type="PriceDetailBitmap" default="0"> + <mandatoryConform/> + </field> + </command> + <command id="0x03" name="GetDetailedForecastResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <optionalConform> + <feature name="FORE"/> + </optionalConform> + <field id="0" name="Price" type="list" default="empty"> + <entry type="PriceStruct"/> + <mandatoryConform/> + </field> + </command> + </commands> + <events> + <event id="0x00" name="PriceChange" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + <field id="0" name="Price" type="PriceStruct"> + <mandatoryConform/> + </field> + </event> + <event id="0x01" name="ForecastChange" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + <field id="0" name="Forecast" type="list"> + <entry type="PriceStruct"/> + <mandatoryConform/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/FanControl.xml b/zcl-builtin/matter/new-data-model/FanControl.xml new file mode 100644 index 0000000000000000000000000000000000000000..4babd50653a3dfe15bffbfe28e9e2d656bd7521e --- /dev/null +++ b/zcl-builtin/matter/new-data-model/FanControl.xml @@ -0,0 +1,296 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0202" name="Fan Control" revision="4"> + <revisionHistory> + <revision revision="1" summary="Global mandatory ClusterRevision attribute added"/> + <revision revision="2" summary="New data model format and notation; Percent, speed and motion settings; General cleanup"/> + <revision revision="3" summary="Addition of Airflow Direction and Step command"/> + <revision revision="4" summary="Change conformance for FanModeSequenceEnum"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="FAN" scope="Endpoint"/> + <features> + <feature bit="0" code="SPD" name="MultiSpeed" summary="1-100 speeds"> + <optionalConform/> + </feature> + <feature bit="1" code="AUT" name="Auto" summary="Automatic mode supported for fan speed"> + <optionalConform/> + </feature> + <feature bit="2" code="RCK" name="Rocking" summary="Rocking movement supported"> + <optionalConform/> + </feature> + <feature bit="3" code="WND" name="Wind" summary="Wind emulation supported"> + <optionalConform/> + </feature> + <feature bit="4" code="STEP" name="Step" summary="Step command supported"> + <optionalConform/> + </feature> + <feature bit="5" code="DIR" name="Airflow Direction" summary="Airflow Direction attribute is supported"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="AirflowDirectionEnum"> + <item value="0" name="Forward" summary="Airflow is in the forward direction"> + <mandatoryConform/> + </item> + <item value="1" name="Reverse" summary="Airflow is in the reverse direction"> + <mandatoryConform/> + </item> + </enum> + <enum name="FanModeEnum"> + <item value="0" name="Off" summary="Fan is off"> + <mandatoryConform/> + </item> + <item value="1" name="Low" summary="Fan using low speed"/> + <item value="2" name="Medium" summary="Fan using medium speed"/> + <item value="3" name="High" summary="Fan using high speed"> + <mandatoryConform/> + </item> + <item value="4" name="On"> + <deprecateConform/> + </item> + <item value="5" name="Auto" summary="Fan is using auto mode"> + <mandatoryConform> + <feature name="AUT"/> + </mandatoryConform> + </item> + <item value="6" name="Smart" summary="Fan is using smart mode"> + <deprecateConform/> + </item> + </enum> + <enum name="FanModeSequenceEnum"> + <item value="0" name="Off/Low/Med/High" summary="Fan is capable of off, low, medium and high modes"> + <optionalConform choice="a"> + <notTerm> + <feature name="AUT"/> + </notTerm> + </optionalConform> + </item> + <item value="1" name="Off/Low/High" summary="Fan is capable of off, low and high modes"> + <optionalConform choice="a"> + <notTerm> + <feature name="AUT"/> + </notTerm> + </optionalConform> + </item> + <item value="2" name="Off/Low/Med/High/Auto" summary="Fan is capable of off, low, medium, high and auto modes"> + <optionalConform choice="a"> + <feature name="AUT"/> + </optionalConform> + </item> + <item value="3" name="Off/Low/High/Auto" summary="Fan is capable of off, low, high and auto modes"> + <optionalConform choice="a"> + <feature name="AUT"/> + </optionalConform> + </item> + <item value="4" name="Off/High/Auto" summary="Fan is capable of off, high and auto modes"> + <optionalConform choice="a"> + <feature name="AUT"/> + </optionalConform> + </item> + <item value="5" name="Off/High" summary="Fan is capable of off and high modes"> + <optionalConform choice="a"> + <notTerm> + <feature name="AUT"/> + </notTerm> + </optionalConform> + </item> + </enum> + <enum name="StepDirectionEnum"> + <item value="0" name="Increase" summary="Step moves in increasing direction"> + <mandatoryConform/> + </item> + <item value="1" name="Decrease" summary="Step moves in decreasing direction"> + <mandatoryConform/> + </item> + </enum> + <bitmap name="RockBitmap"> + <bitfield name="RockLeftRight" bit="0" summary="Indicate rock left to right"> + <mandatoryConform/> + </bitfield> + <bitfield name="RockUpDown" bit="1" summary="Indicate rock up and down"> + <mandatoryConform/> + </bitfield> + <bitfield name="RockRound" bit="2" summary="Indicate rock around"> + <mandatoryConform/> + </bitfield> + </bitmap> + <bitmap name="WindBitmap"> + <bitfield name="SleepWind" bit="0" summary="Indicate sleep wind"> + <mandatoryConform/> + </bitfield> + <bitfield name="NaturalWind" bit="1" summary="Indicate natural wind"> + <mandatoryConform/> + </bitfield> + </bitmap> + </dataTypes> + <attributes> + <attribute id="0x0000" name="FanMode" type="FanModeEnum" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="6"/> + </attribute> + <attribute id="0x0001" name="FanModeSequence" type="FanModeSequenceEnum" default="MS"> + <access read="true" write="optional" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <condition name="Zigbee"/> + </mandatoryConform> + <constraint type="between" from="0" to="5"/> + </attribute> + <attribute id="0x0001" name="FanModeSequence" type="FanModeSequenceEnum" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="5"/> + </attribute> + <attribute id="0x0002" name="PercentSetting" type="percent" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="100"/> + </attribute> + <attribute id="0x0003" name="PercentCurrent" type="percent" default="desc"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="between" from="0" to="100"/> + </attribute> + <attribute id="0x0004" name="SpeedMax" type="uint8" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="SPD"/> + </mandatoryConform> + <constraint type="between" from="1" to="100"/> + </attribute> + <attribute id="0x0005" name="SpeedSetting" type="uint8" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="SPD"/> + </mandatoryConform> + <constraint type="between" from="0" to="SpeedMax"/> + </attribute> + <attribute id="0x0006" name="SpeedCurrent" type="uint8" default="desc"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform> + <feature name="SPD"/> + </mandatoryConform> + <constraint type="between" from="0" to="SpeedMax"/> + </attribute> + <attribute id="0x0007" name="RockSupport" type="RockBitmap" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="RCK"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0008" name="RockSetting" type="RockBitmap" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform> + <feature name="RCK"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0009" name="WindSupport" type="WindBitmap" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="WND"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x000a" name="WindSetting" type="WindBitmap" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform> + <feature name="WND"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x000b" name="AirflowDirection" type="AirflowDirectionEnum" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform> + <feature name="DIR"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="Step" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="STEP"/> + </mandatoryConform> + <field id="0" name="Direction" type="StepDirectionEnum" default="Increase"> + <mandatoryConform/> + </field> + <field id="1" name="Wrap" type="bool" default="false"> + <optionalConform/> + </field> + <field id="2" name="LowestOff" type="bool" default="true"> + <optionalConform/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/FlowMeasurement.xml b/zcl-builtin/matter/new-data-model/FlowMeasurement.xml new file mode 100644 index 0000000000000000000000000000000000000000..f309eb04574d8fdbdca6b113da00c53e0ccdcc97 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/FlowMeasurement.xml @@ -0,0 +1,90 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0404" name="Flow Measurement" revision="3"> + <revisionHistory> + <revision revision="1" summary="Mandatory global ClusterRevision attribute added"/> + <revision revision="2" summary="CCB 2241 2370"/> + <revision revision="3" summary="New data model format and notation"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="FLW" scope="Endpoint"/> + <attributes> + <attribute id="0x0000" name="MeasuredValue" type="uint16" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform/> + <constraint type="between" from="MinMeasuredValue" to="MaxMeasuredValue"/> + </attribute> + <attribute id="0x0001" name="MinMeasuredValue" type="uint16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="MaxMeasuredValue-1"/> + </attribute> + <attribute id="0x0002" name="MaxMeasuredValue" type="uint16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="MinMeasuredValue+1" to="65534"/> + </attribute> + <attribute id="0x0003" name="Tolerance" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + <constraint type="between" from="0" to="2048"/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/GeneralCommissioningCluster.xml b/zcl-builtin/matter/new-data-model/GeneralCommissioningCluster.xml new file mode 100644 index 0000000000000000000000000000000000000000..c61aaeb29ae29384c9f1b4588151747add9575a8 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/GeneralCommissioningCluster.xml @@ -0,0 +1,131 @@ +<?xml version="1.0"?> +<!-- +link:../matter-defines.adoc[] + +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0030" name="General Commissioning" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="CGEN" scope="Node"/> + <dataTypes> + <enum name="CommissioningErrorEnum"> + <item value="0" name="OK" summary="No error"> + <mandatoryConform/> + </item> + <item value="1" name="ValueOutsideRange" summary="[[ref_ValueOutsideRange]] Attempting to set regulatory configuration to a region or indoor/outdoor mode for which the server does not have proper configuration."> + <mandatoryConform/> + </item> + <item value="2" name="InvalidAuthentication" summary="[[ref_InvalidAuthentication]] Executed CommissioningComplete outside CASE session."> + <mandatoryConform/> + </item> + <item value="3" name="NoFailSafe" summary="[[ref_NoFailSafe]] Executed CommissioningComplete when there was no active ArmFailSafe Command."> + <mandatoryConform/> + </item> + <item value="4" name="BusyWithOtherAdmin" summary="[[ref_BusyWithOtherAdmin]] Attempting to arm fail-safe or execute CommissioningComplete from a fabric different than the one associated with the current fail-safe context."> + <mandatoryConform/> + </item> + </enum> + <enum name="RegulatoryLocationTypeEnum"> + <item value="0" name="Indoor" summary="Indoor only"> + <mandatoryConform/> + </item> + <item value="1" name="Outdoor" summary="Outdoor only"> + <mandatoryConform/> + </item> + <item value="2" name="IndoorOutdoor" summary="Indoor/Outdoor"> + <mandatoryConform/> + </item> + </enum> + <struct name="BasicCommissioningInfo"> + <field id="0" name="FailSafeExpiryLengthSeconds" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="MaxCumulativeFailsafeSeconds" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="Breadcrumb" type="uint64" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="admin"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="BasicCommissioningInfo" type="BasicCommissioningInfo"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0002" name="RegulatoryConfig" type="RegulatoryLocationTypeEnum" default="LocationCapability"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0003" name="LocationCapability" type="RegulatoryLocationTypeEnum" default="IndoorOutdoor"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0004" name="SupportsConcurrentConnection" type="bool" default="true"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + </attributes> + <commands/> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Group-Key-Management-Cluster.xml b/zcl-builtin/matter/new-data-model/Group-Key-Management-Cluster.xml new file mode 100644 index 0000000000000000000000000000000000000000..00565492c1863465262f56bf026055e716593e5a --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Group-Key-Management-Cluster.xml @@ -0,0 +1,232 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x003f" name="GroupKeyManagement" revision="2"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + <revision revision="2" summary="Clarify KeySetWrite validation and behavior on invalid epoch key lengths"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="GRPKEY" scope="Node"/> + <features> + <feature bit="0" code="CS" name="CacheAndSync" summary="The ability to support CacheAndSync security policy and MCSP."> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="GroupKeyMulticastPolicyEnum"> + <item value="0" name="PerGroupID" summary="Indicates filtering of multicast messages for a specific Group ID"> + <mandatoryConform/> + </item> + <item value="1" name="AllNodes" summary="Indicates not filtering of multicast messages"> + <mandatoryConform/> + </item> + </enum> + <enum name="GroupKeySecurityPolicyEnum"> + <item value="0" name="TrustFirst" summary="Message counter synchronization using trust-first"> + <mandatoryConform/> + </item> + <item value="1" name="CacheAndSync" summary="Message counter synchronization using cache-and-sync"> + <mandatoryConform> + <feature name="CS"/> + </mandatoryConform> + </item> + </enum> + <struct name="GroupInfoMapStruct"> + <field id="1" name="GroupId" type="<<ref_DataTypeGroupId>>"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="2" name="Endpoints" type="<<ref_DataTypeList>>[<<ref_DataTypeEndpointNumber>>]"> + <access read="true"/> + <mandatoryConform/> + <constraint type="min" value="1"/> + </field> + <field id="3" name="GroupName" type="<<ref_DataTypeString>>"> + <access read="true"/> + <optionalConform/> + <constraint type="max" value="16"/> + </field> + </struct> + <struct name="GroupKeyMapStruct"> + <field id="1" name="GroupId" type="<<ref_DataTypeGroupId>>"> + <mandatoryConform/> + </field> + <field id="2" name="GroupKeySetID" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="1" to="65535"/> + </field> + </struct> + <struct name="GroupKeySetStruct"> + <field id="0" name="GroupKeySetID" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="GroupKeySecurityPolicy" type="GroupKeySecurityPolicyEnum"> + <access fabricSensitive="true"/> + <mandatoryConform/> + </field> + <field id="2" name="EpochKey0" type="<<ref_DataTypeOctstr>>"> + <access fabricSensitive="true"/> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="allowed" value="16"/> + </field> + <field id="3" name="EpochStartTime0" type="<<ref_DataTypeEpochUs>>"> + <access fabricSensitive="true"/> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="4" name="EpochKey1" type="<<ref_DataTypeOctstr>>"> + <access fabricSensitive="true"/> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="allowed" value="16"/> + </field> + <field id="5" name="EpochStartTime1" type="<<ref_DataTypeEpochUs>>"> + <access fabricSensitive="true"/> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="6" name="EpochKey2" type="<<ref_DataTypeOctstr>>"> + <access fabricSensitive="true"/> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="allowed" value="16"/> + </field> + <field id="7" name="EpochStartTime2" type="<<ref_DataTypeEpochUs>>"> + <access fabricSensitive="true"/> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="8" name="GroupKeyMulticastPolicy" type="GroupKeyMulticastPolicyEnum"> + <access fabricSensitive="true"/> + <otherwiseConform> + <provisionalConform/> + <mandatoryConform/> + </otherwiseConform> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="GroupKeyMap" type="<<ref_DataTypeList>>[GroupKeyMapStruct Type]" default="empty"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0001" name="GroupTable" type="<<ref_DataTypeList>>[GroupInfoMapStruct Type]" default="empty"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0002" name="MaxGroupsPerFabric" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0003" name="MaxGroupKeysPerFabric" type="uint16" default="1"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="1" to="65535"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="KeySetWrite Command" response="Y"> + <access invokePrivilege="admin" fabricScoped="true"/> + <mandatoryConform/> + <field id="0" name="GroupKeySet" type="GroupKeySetStruct"> + <mandatoryConform/> + </field> + </command> + <command id="0x01" name="KeySetRead Command" response="KeySetReadResponse Command"> + <access invokePrivilege="admin" fabricScoped="true"/> + <mandatoryConform/> + <field id="0" name="GroupKeySetID" type="uint16"> + <mandatoryConform/> + </field> + </command> + <command id="0x02" name="KeySetReadResponse Command" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="GroupKeySet" type="GroupKeySetStruct"> + <mandatoryConform/> + </field> + </command> + <command id="0x03" name="KeySetRemove Command" response="Y"> + <access invokePrivilege="admin" fabricScoped="true"/> + <mandatoryConform/> + <field id="0" name="GroupKeySetID" type="uint16"> + <mandatoryConform/> + </field> + </command> + <command id="0x04" name="KeySetReadAllIndices Command" response="KeySetReadAllIndicesResponse Command"> + <access invokePrivilege="admin" fabricScoped="true"/> + <mandatoryConform/> + <field id="0" name="reserved"> + <disallowConform/> + </field> + </command> + <command id="0x05" name="KeySetReadAllIndicesResponse Command" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="GroupKeySetIDs" type="list"> + <entry type="uint16"/> + <mandatoryConform/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Groups.xml b/zcl-builtin/matter/new-data-model/Groups.xml new file mode 100644 index 0000000000000000000000000000000000000000..3c91b10a5a99b6bf2faefae7c1c5b447b4474aa2 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Groups.xml @@ -0,0 +1,196 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0004" name="Groups" revision="4"> + <revisionHistory> + <revision revision="1" summary="Global mandatory ClusterRevision attribute added; CCB 1745 2100"/> + <revision revision="2" summary="CCB 2289"/> + <revision revision="3" summary="CCB 2310 2704"/> + <revision revision="4" summary="New data model format and notation"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="G" scope="Endpoint"/> + <features> + <feature bit="0" code="GN" name="GroupNames" summary="The ability to store a name for a group."> + <optionalConform/> + </feature> + </features> + <dataTypes> + <bitmap name="NameSupportBitmap"> + <bitfield name="GroupNames" bit="7" summary="The ability to store a name for a group."> + <mandatoryConform/> + </bitfield> + </bitmap> + </dataTypes> + <attributes> + <attribute id="0x0000" name="NameSupport" type="NameSupportBitmap" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="AddGroup" response="AddGroupResponse"> + <access invokePrivilege="manage" fabricScoped="true"/> + <mandatoryConform/> + <field id="0" name="GroupID" type="group-id"> + <mandatoryConform/> + <constraint type="min" value="1"/> + </field> + <field id="1" name="GroupName" type="string"> + <mandatoryConform/> + <constraint type="maxLength" value="16"/> + </field> + </command> + <command id="0x00" name="AddGroupResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Status" type="enum8"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="GroupID" type="group-id"> + <mandatoryConform/> + <constraint type="min" value="1"/> + </field> + </command> + <command id="0x01" name="ViewGroup" response="ViewGroupResponse"> + <access invokePrivilege="operate" fabricScoped="true"/> + <mandatoryConform/> + <field id="0" name="GroupID" type="group-id"> + <mandatoryConform/> + <constraint type="min" value="1"/> + </field> + </command> + <command id="0x01" name="ViewGroupResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Status" type="enum8"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="GroupID" type="group-id"> + <mandatoryConform/> + <constraint type="min" value="1"/> + </field> + <field id="2" name="GroupName" type="string"> + <mandatoryConform/> + <constraint type="maxLength" value="16"/> + </field> + </command> + <command id="0x02" name="GetGroupMembership" response="GetGroupMembershipResponse"> + <access invokePrivilege="operate" fabricScoped="true"/> + <mandatoryConform/> + <field id="0" name="GroupList" type="list"> + <entry type="group-id"> + <constraint type="min" value="1"/> + </entry> + <mandatoryConform/> + </field> + </command> + <command id="0x02" name="GetGroupMembershipResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Capacity" type="uint8"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="1" name="GroupList" type="list"> + <entry type="group-id"> + <constraint type="min" value="1"/> + </entry> + <mandatoryConform/> + </field> + </command> + <command id="0x03" name="RemoveGroup" response="RemoveGroupResponse"> + <access invokePrivilege="manage" fabricScoped="true"/> + <mandatoryConform/> + <field id="0" name="GroupID" type="group-id"> + <mandatoryConform/> + <constraint type="min" value="1"/> + </field> + </command> + <command id="0x03" name="RemoveGroupResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Status" type="enum8"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="GroupID" type="group-id"> + <mandatoryConform/> + <constraint type="min" value="1"/> + </field> + </command> + <command id="0x04" name="RemoveAllGroups" response="Y"> + <access invokePrivilege="manage" fabricScoped="true"/> + <mandatoryConform/> + </command> + <command id="0x05" name="AddGroupIfIdentifying" response="Y"> + <access invokePrivilege="manage" fabricScoped="true"/> + <mandatoryConform/> + <field id="0" name="GroupID" type="group-id"> + <mandatoryConform/> + <constraint type="min" value="1"/> + </field> + <field id="1" name="GroupName" type="string"> + <mandatoryConform/> + <constraint type="maxLength" value="16"/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Identify.xml b/zcl-builtin/matter/new-data-model/Identify.xml new file mode 100644 index 0000000000000000000000000000000000000000..230338bec464625894c25a33e98e79a90003b878 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Identify.xml @@ -0,0 +1,170 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0003" name="Identify" revision="4"> + <revisionHistory> + <revision revision="1" summary="Global mandatory ClusterRevision attribute added"/> + <revision revision="2" summary="CCB 2808"/> + <revision revision="3" summary="All Hubs changes"/> + <revision revision="4" summary="New data model format and notation; add IdentifyType"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="I" scope="Endpoint"/> + <features> + <feature bit="0" code="QRY" name="Query" summary="Multicast query for identification state"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="EffectIdentifierEnum"> + <item value="0" name="Blink" summary="e.g., Light is turned on/off once."> + <mandatoryConform/> + </item> + <item value="1" name="Breathe" summary="e.g., Light is turned on/off over 1 second and repeated 15 times."> + <mandatoryConform/> + </item> + <item value="2" name="Okay" summary="e.g., Colored light turns green for 1 second; non-colored light flashes twice."> + <mandatoryConform/> + </item> + <item value="11" name="ChannelChange" summary="e.g., Colored light turns orange for 8 seconds; + non-colored light switches to the maximum brightness for 0.5s and then minimum brightness for 7.5s."> + <mandatoryConform/> + </item> + <item value="254" name="FinishEffect" summary="Complete the current effect sequence before + terminating. e.g., if in the middle of a breathe effect (as above), + first complete the current 1s breathe effect and then terminate the + effect."> + <mandatoryConform/> + </item> + <item value="255" name="StopEffect" summary="Terminate the effect as soon as possible."> + <mandatoryConform/> + </item> + </enum> + <enum name="EffectVariantEnum"> + <item value="0" name="Default" summary="Indicates the default effect is used"> + <mandatoryConform/> + </item> + </enum> + <enum name="IdentifyTypeEnum"> + <item value="0" name="None" summary="No presentation."> + <mandatoryConform/> + </item> + <item value="1" name="LightOutput" summary="Light output of a lighting product."> + <mandatoryConform/> + </item> + <item value="2" name="VisibleIndicator" summary="Typically a small LED."> + <mandatoryConform/> + </item> + <item value="3" name="AudibleBeep"> + <mandatoryConform/> + </item> + <item value="4" name="Display" summary="Presentation will be visible on display screen."> + <mandatoryConform/> + </item> + <item value="5" name="Actuator" summary="Presentation will be conveyed by actuator functionality + such as through a window blind operation or in-wall relay."> + <mandatoryConform/> + </item> + </enum> + </dataTypes> + <attributes> + <attribute id="0x0000" name="IdentifyTime" type="uint16" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="IdentifyType" type="IdentifyTypeEnum" default="MS"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="Identify" response="Y"> + <access invokePrivilege="manage"/> + <mandatoryConform/> + <field id="0" name="IdentifyTime" type="uint16"> + <mandatoryConform/> + </field> + </command> + <command id="0x00" name="IdentifyQueryResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="QRY"/> + </mandatoryConform> + <field id="0" name="Timeout" type="uint16"> + <mandatoryConform/> + </field> + </command> + <command id="0x01" name="IdentifyQuery" response="IdentifyQueryResponse"> + <access invokePrivilege="manage"/> + <mandatoryConform> + <feature name="QRY"/> + </mandatoryConform> + </command> + <command id="0x40" name="TriggerEffect" response="Y"> + <access invokePrivilege="manage"/> + <optionalConform/> + <field id="0" name="EffectIdentifier" type="EffectIdentifierEnum"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="EffectVariant" type="EffectVariantEnum"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/IlluminanceMeasurement.xml b/zcl-builtin/matter/new-data-model/IlluminanceMeasurement.xml new file mode 100644 index 0000000000000000000000000000000000000000..24c4416f384fb795db70ac21756262246997ccd2 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/IlluminanceMeasurement.xml @@ -0,0 +1,109 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0400" name="Illuminance Measurement" revision="3"> + <revisionHistory> + <revision revision="1" summary="Mandatory global ClusterRevision attribute added; CCB 2048 2049 2050"/> + <revision revision="2" summary="CCB 2167"/> + <revision revision="3" summary="New data model format and notation"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="ILL" scope="Endpoint"/> + <dataTypes> + <enum name="LightSensorTypeEnum"> + <item value="0" name="Photodiode" summary="Indicates photodiode sensor type"> + <mandatoryConform/> + </item> + <item value="1" name="CMOS" summary="Indicates CMOS sensor type"> + <mandatoryConform/> + </item> + <item from="64" to="254" name="MS" summary="Reserved for manufacturer specific light sensor types"> + <optionalConform/> + </item> + </enum> + </dataTypes> + <attributes> + <attribute id="0x0000" name="MeasuredValue" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform/> + <constraint type="allowed" value="0"/> + <constraint type="between" from="MinMeasuredValue" to="MaxMeasuredValue"/> + </attribute> + <attribute id="0x0001" name="MinMeasuredValue" type="uint16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="1" to="MaxMeasuredValue-1"/> + </attribute> + <attribute id="0x0002" name="MaxMeasuredValue" type="uint16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="MinMeasuredValue+1" to="65534"/> + </attribute> + <attribute id="0x0003" name="Tolerance" type="uint16"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + <constraint type="between" from="0" to="2048"/> + </attribute> + <attribute id="0x0004" name="LightSensorType" type="LightSensorTypeEnum" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/KeypadInput.xml b/zcl-builtin/matter/new-data-model/KeypadInput.xml new file mode 100644 index 0000000000000000000000000000000000000000..26052a949f06f57dfa695188437f7914d45eb4ea --- /dev/null +++ b/zcl-builtin/matter/new-data-model/KeypadInput.xml @@ -0,0 +1,363 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0509" name="Keypad Input" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="KEYPADINPUT" scope="Endpoint"/> + <features> + <feature bit="0" code="NV" name="NavigationKeyCodes" summary="Supports UP, DOWN, LEFT, RIGHT, SELECT, BACK, EXIT, MENU"> + <optionalConform/> + </feature> + <feature bit="1" code="LK" name="LocationKeys" summary="Supports CEC keys 0x0A (Settings) and 0x09 (Home)"> + <optionalConform/> + </feature> + <feature bit="2" code="NK" name="NumberKeys" summary="Supports numeric input 0..9"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="CecKeyCodeEnum"> + <item value="0" name="Select"> + <mandatoryConform/> + </item> + <item value="1" name="Up"> + <mandatoryConform/> + </item> + <item value="2" name="Down"> + <mandatoryConform/> + </item> + <item value="3" name="Left"> + <mandatoryConform/> + </item> + <item value="4" name="Right"> + <mandatoryConform/> + </item> + <item value="5" name="RightUp"> + <mandatoryConform/> + </item> + <item value="6" name="RightDown"> + <mandatoryConform/> + </item> + <item value="7" name="LeftUp"> + <mandatoryConform/> + </item> + <item value="8" name="LeftDown"> + <mandatoryConform/> + </item> + <item value="9" name="RootMenu"> + <mandatoryConform/> + </item> + <item value="10" name="SetupMenu"> + <mandatoryConform/> + </item> + <item value="11" name="ContentsMenu"> + <mandatoryConform/> + </item> + <item value="12" name="FavoriteMenu"> + <mandatoryConform/> + </item> + <item value="13" name="Exit"> + <mandatoryConform/> + </item> + <item value="16" name="MediaTopMenu"> + <mandatoryConform/> + </item> + <item value="17" name="MediaContextSensitiveMenu"> + <mandatoryConform/> + </item> + <item value="29" name="NumberEntryMode"> + <mandatoryConform/> + </item> + <item value="30" name="Number11"> + <mandatoryConform/> + </item> + <item value="31" name="Number12"> + <mandatoryConform/> + </item> + <item value="32" name="Number0OrNumber10"> + <mandatoryConform/> + </item> + <item value="33" name="Numbers1"> + <mandatoryConform/> + </item> + <item value="34" name="Numbers2"> + <mandatoryConform/> + </item> + <item value="35" name="Numbers3"> + <mandatoryConform/> + </item> + <item value="36" name="Numbers4"> + <mandatoryConform/> + </item> + <item value="37" name="Numbers5"> + <mandatoryConform/> + </item> + <item value="38" name="Numbers6"> + <mandatoryConform/> + </item> + <item value="39" name="Numbers7"> + <mandatoryConform/> + </item> + <item value="40" name="Numbers8"> + <mandatoryConform/> + </item> + <item value="41" name="Numbers9"> + <mandatoryConform/> + </item> + <item value="42" name="Dot"> + <mandatoryConform/> + </item> + <item value="43" name="Enter"> + <mandatoryConform/> + </item> + <item value="44" name="Clear"> + <mandatoryConform/> + </item> + <item value="47" name="NextFavorite"> + <mandatoryConform/> + </item> + <item value="48" name="ChannelUp"> + <mandatoryConform/> + </item> + <item value="49" name="ChannelDown"> + <mandatoryConform/> + </item> + <item value="50" name="PreviousChannel"> + <mandatoryConform/> + </item> + <item value="51" name="SoundSelect"> + <mandatoryConform/> + </item> + <item value="52" name="InputSelect"> + <mandatoryConform/> + </item> + <item value="53" name="DisplayInformation"> + <mandatoryConform/> + </item> + <item value="54" name="Help"> + <mandatoryConform/> + </item> + <item value="55" name="PageUp"> + <mandatoryConform/> + </item> + <item value="56" name="PageDown"> + <mandatoryConform/> + </item> + <item value="64" name="Power"> + <mandatoryConform/> + </item> + <item value="65" name="VolumeUp"> + <mandatoryConform/> + </item> + <item value="66" name="VolumeDown"> + <mandatoryConform/> + </item> + <item value="67" name="Mute"> + <mandatoryConform/> + </item> + <item value="68" name="Play"> + <mandatoryConform/> + </item> + <item value="69" name="Stop"> + <mandatoryConform/> + </item> + <item value="70" name="Pause"> + <mandatoryConform/> + </item> + <item value="71" name="Record"> + <mandatoryConform/> + </item> + <item value="72" name="Rewind"> + <mandatoryConform/> + </item> + <item value="73" name="FastForward"> + <mandatoryConform/> + </item> + <item value="74" name="Eject"> + <mandatoryConform/> + </item> + <item value="75" name="Forward"> + <mandatoryConform/> + </item> + <item value="76" name="Backward"> + <mandatoryConform/> + </item> + <item value="77" name="StopRecord"> + <mandatoryConform/> + </item> + <item value="78" name="PauseRecord"> + <mandatoryConform/> + </item> + <item value="79" name="Reserved"> + <mandatoryConform/> + </item> + <item value="80" name="Angle"> + <mandatoryConform/> + </item> + <item value="81" name="SubPicture"> + <mandatoryConform/> + </item> + <item value="82" name="VideoOnDemand"> + <mandatoryConform/> + </item> + <item value="83" name="ElectronicProgramGuide"> + <mandatoryConform/> + </item> + <item value="84" name="TimerProgramming"> + <mandatoryConform/> + </item> + <item value="85" name="InitialConfiguration"> + <mandatoryConform/> + </item> + <item value="86" name="SelectBroadcastType"> + <mandatoryConform/> + </item> + <item value="87" name="SelectSoundPresentation"> + <mandatoryConform/> + </item> + <item value="96" name="PlayFunction"> + <mandatoryConform/> + </item> + <item value="97" name="PausePlayFunction"> + <mandatoryConform/> + </item> + <item value="98" name="RecordFunction"> + <mandatoryConform/> + </item> + <item value="99" name="PauseRecordFunction"> + <mandatoryConform/> + </item> + <item value="100" name="StopFunction"> + <mandatoryConform/> + </item> + <item value="101" name="MuteFunction"> + <mandatoryConform/> + </item> + <item value="102" name="RestoreVolumeFunction"> + <mandatoryConform/> + </item> + <item value="103" name="TuneFunction"> + <mandatoryConform/> + </item> + <item value="104" name="SelectMediaFunction"> + <mandatoryConform/> + </item> + <item value="105" name="SelectAvInputFunction"> + <mandatoryConform/> + </item> + <item value="106" name="SelectAudioInputFunction"> + <mandatoryConform/> + </item> + <item value="107" name="PowerToggleFunction"> + <mandatoryConform/> + </item> + <item value="108" name="PowerOffFunction"> + <mandatoryConform/> + </item> + <item value="109" name="PowerOnFunction"> + <mandatoryConform/> + </item> + <item value="113" name="F1Blue"> + <mandatoryConform/> + </item> + <item value="114" name="F2Red"> + <mandatoryConform/> + </item> + <item value="115" name="F3Green"> + <mandatoryConform/> + </item> + <item value="116" name="F4Yellow"> + <mandatoryConform/> + </item> + <item value="117" name="F5"> + <mandatoryConform/> + </item> + <item value="118" name="Data"> + <mandatoryConform/> + </item> + </enum> + <enum name="StatusEnum"> + <item value="0" name="Success" summary="Succeeded"> + <mandatoryConform/> + </item> + <item value="1" name="UnsupportedKey" summary="Key code is not supported."> + <mandatoryConform/> + </item> + <item value="2" name="InvalidKeyInCurrentState" summary="Requested key code is invalid in the context of the responder's current state."> + <mandatoryConform/> + </item> + </enum> + </dataTypes> + <commands> + <command id="0x00" name="SendKey" response="SendKeyResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="KeyCode" type="CecKeyCodeEnum"> + <mandatoryConform/> + </field> + </command> + <command id="0x01" name="SendKeyResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Status" type="StatusEnum"> + <mandatoryConform/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Label-Cluster-FixedLabel.xml b/zcl-builtin/matter/new-data-model/Label-Cluster-FixedLabel.xml new file mode 100644 index 0000000000000000000000000000000000000000..52c433d0647d4a26c81dd4c06703b9bd775b35ea --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Label-Cluster-FixedLabel.xml @@ -0,0 +1,71 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0040" name="Fixed Label" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="derived" baseCluster="Label" role="utility" picsCode="FLABEL" scope="Endpoint"/> + <dataTypes/> + <attributes> + <attribute id="0x0000" name="LabelList" type="list[LabelStruct Type]" default="empty"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Label-Cluster-Label.xml b/zcl-builtin/matter/new-data-model/Label-Cluster-Label.xml new file mode 100644 index 0000000000000000000000000000000000000000..df1238c7fbc9631f715dfe4b0bfea78cc7388661 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Label-Cluster-Label.xml @@ -0,0 +1,82 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Label" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="LABEL" scope="Endpoint"/> + <dataTypes> + <struct name="LabelStruct"> + <field id="0" name="Label" type="string" default="empty"> + <mandatoryConform/> + <constraint type="maxLength" value="16"/> + </field> + <field id="1" name="Value" type="string" default="empty"> + <mandatoryConform/> + <constraint type="maxLength" value="16"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="LabelList" type="list[LabelStruct Type]" default="empty"> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="allowed" value="derived"/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Label-Cluster-UserLabel.xml b/zcl-builtin/matter/new-data-model/Label-Cluster-UserLabel.xml new file mode 100644 index 0000000000000000000000000000000000000000..4e9c7715eb781b7a9d4c63d7c2af833087a10843 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Label-Cluster-UserLabel.xml @@ -0,0 +1,72 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0041" name="User Label" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="derived" baseCluster="Label" role="utility" picsCode="ULABEL" scope="Endpoint"/> + <dataTypes/> + <attributes> + <attribute id="0x0000" name="LabelList" type="list[LabelStruct Type]" default="empty"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="min" value="4"/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/LaundryDryerControls.xml b/zcl-builtin/matter/new-data-model/LaundryDryerControls.xml new file mode 100644 index 0000000000000000000000000000000000000000..d2bc94acfd9fcbc34e89c1c26087d4b69151d775 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/LaundryDryerControls.xml @@ -0,0 +1,76 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance + +508 Second Street, Suite 206 + +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x004a" name="Laundry Dryer Controls" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="DRYERCTRL" scope="Endpoint"/> + <attributes> + <attribute id="0x0000" name="SupportedDrynessLevels" type="list[<< semtag >>]"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="max" value="16"/> + </attribute> + <attribute id="0x0001" name="SelectedDrynessLevel" type="uint8" default="desc"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="15"/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/LaundryWasherControls.xml b/zcl-builtin/matter/new-data-model/LaundryWasherControls.xml new file mode 100644 index 0000000000000000000000000000000000000000..a3e49ac700d5eb34d9b5eec3f0506373e81d7ec0 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/LaundryWasherControls.xml @@ -0,0 +1,129 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance + +508 Second Street, Suite 206 + +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0053" name="Laundry Washer Controls" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="WASHERCTRL" scope="Endpoint"/> + <features> + <feature bit="0" code="SPIN" name="Spin" summary="Multiple spin speeds supported"> + <optionalConform/> + </feature> + <feature bit="1" code="RINSE" name="Rinse" summary="Multiple rinse cycles supported"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="NumberOfRinsesEnum"> + <item value="0" name="None" summary="This laundry mode does not perform rinse cycles"> + <mandatoryConform> + <feature name="RINSE"/> + </mandatoryConform> + </item> + <item value="1" name="Normal" summary="This laundry mode performs normal rinse cycles determined by the manufacturer"> + <mandatoryConform> + <feature name="RINSE"/> + </mandatoryConform> + </item> + <item value="2" name="Extra" summary="This laundry mode performs an extra rinse cycle"> + <mandatoryConform> + <feature name="RINSE"/> + </mandatoryConform> + </item> + <item value="3" name="Max" summary="This laundry mode performs the maximum number of rinse cycles determined by the manufacturer"> + <mandatoryConform> + <feature name="RINSE"/> + </mandatoryConform> + </item> + </enum> + </dataTypes> + <attributes> + <attribute id="0x0000" name="SpinSpeeds" type="list"> + <entry type="string"> + <constraint type="maxLength" value="64"/> + </entry> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="SPIN"/> + </mandatoryConform> + <constraint type="maxCount" value="16"/> + </attribute> + <attribute id="0x0001" name="SpinSpeedCurrent" type="uint8" default="desc"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="SPIN"/> + </mandatoryConform> + <constraint type="between" from="0" to="15"/> + </attribute> + <attribute id="0x0002" name="NumberOfRinses" type="NumberOfRinsesEnum" default="1"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <mandatoryConform> + <feature name="RINSE"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0003" name="SupportedRinses" type="list[NumberOfRinsesEnum Type]"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="RINSE"/> + </mandatoryConform> + <constraint type="max" value="4"/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/LevelControl.xml b/zcl-builtin/matter/new-data-model/LevelControl.xml new file mode 100644 index 0000000000000000000000000000000000000000..3401a531fff6e516a5dba154368de59108f061da --- /dev/null +++ b/zcl-builtin/matter/new-data-model/LevelControl.xml @@ -0,0 +1,305 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0008" name="Level Control" revision="5"> + <revisionHistory> + <revision revision="1" summary="Global mandatory ClusterRevision attribute added"/> + <revision revision="2" summary="Added Options attribute, state change table; ZLO 1.0; Base cluster (no change) + CCB 2085 1775 2281 2147"/> + <revision revision="3" summary="CCB 2574 2616 2659 2702 2814 2818 2819 2898"/> + <revision revision="4" summary="FeatureMap support with On/Off, Lighting and Frequency features"/> + <revision revision="5" summary="New data model format and notation"/> + </revisionHistory> + <clusterIds> + <clusterId id="0x001c" name="Pulse Width Modulation"/> + </clusterIds> + <classification hierarchy="base" role="application" picsCode="LVL" scope="Endpoint"/> + <features> + <feature bit="0" code="OO" name="OnOff" default="1" summary="Dependency with the On/Off cluster"> + <optionalConform/> + </feature> + <feature bit="1" code="LT" name="Lighting" default="0" summary="Behavior that supports lighting applications"> + <optionalConform/> + </feature> + <feature bit="2" code="FQ" name="Frequency" default="0" summary="Supports frequency attributes and behavior. The + Pulse Width Modulation cluster was created for frequency control."> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="MoveModeEnum"> + <item value="0" name="Up" summary="Increase the level"> + <mandatoryConform/> + </item> + <item value="1" name="Down" summary="Decrease the level"> + <mandatoryConform/> + </item> + </enum> + <bitmap name="OptionsBitmap"> + <bitfield name="ExecuteIfOff" bit="0" summary="Dependency on On/Off cluster"> + <mandatoryConform> + <orTerm> + <feature name="LT"/> + <feature name="OO"/> + </orTerm> + </mandatoryConform> + </bitfield> + <bitfield name="CoupleColorTempToLevel" bit="1" summary="Dependency on Color Control cluster"> + <mandatoryConform> + <feature name="LT"/> + </mandatoryConform> + </bitfield> + </bitmap> + </dataTypes> + <attributes> + <attribute id="0x0000" name="CurrentLevel" type="uint8" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="true" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="MinLevel" to="MaxLevel"/> + </attribute> + <attribute id="0x0001" name="RemainingTime" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="LT"/> + </mandatoryConform> + </attribute> + <attribute id="0x0002" name="MinLevel" type="uint8" default="1"> + <access read="true" readPrivilege="view"/> + <optionalConform> + <feature name="LT"/> + </optionalConform> + <constraint type="between" from="1" to="MaxLevel"/> + </attribute> + <attribute id="0x0002" name="MinLevel" type="uint8" default="0"> + <access read="true" readPrivilege="view"/> + <optionalConform> + <notTerm> + <feature name="LT"/> + </notTerm> + </optionalConform> + <constraint type="between" from="0" to="MaxLevel"/> + </attribute> + <attribute id="0x0003" name="MaxLevel" type="uint8" default="254"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + <constraint type="between" from="MinLevel" to="254"/> + </attribute> + <attribute id="0x0004" name="CurrentFrequency" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="true" persistence="volatile" reportable="true"/> + <mandatoryConform> + <feature name="FQ"/> + </mandatoryConform> + <constraint type="between" from="MinFrequency" to="MaxFrequency"/> + </attribute> + <attribute id="0x0005" name="MinFrequency" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="FQ"/> + </mandatoryConform> + <constraint type="between" from="0" to="MaxFrequency"/> + </attribute> + <attribute id="0x0006" name="MaxFrequency" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="FQ"/> + </mandatoryConform> + <constraint type="min" value="MinFrequency"/> + </attribute> + <attribute id="0x000f" name="Options" type="OptionsBitmap" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0010" name="OnOffTransitionTime" type="uint16" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <optionalConform/> + </attribute> + <attribute id="0x0011" name="OnLevel" type="uint8" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="MinLevel" to="MaxLevel"/> + </attribute> + <attribute id="0x0012" name="OnTransitionTime" type="uint16" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0013" name="OffTransitionTime" type="uint16" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0014" name="DefaultMoveRate" type="uint8" default="MS"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x4000" name="StartUpCurrentLevel" type="uint8" default="MS"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="LT"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="MoveToLevel" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Level" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="0" to="254"/> + </field> + <field id="1" name="TransitionTime" type="uint16"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="2" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="3" name="OptionsOverride" type="OptionsBitmap" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x01" name="Move" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="MoveMode" type="MoveModeEnum"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="Rate" type="uint8"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="2" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="3" name="OptionsOverride" type="OptionsBitmap" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x02" name="Step" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="StepMode" type="MoveModeEnum"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="StepSize" type="uint8"> + <mandatoryConform/> + </field> + <field id="2" name="TransitionTime" type="uint16"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="3" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="4" name="OptionsOverride" type="OptionsBitmap" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x03" name="Stop" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="OptionsMask" type="map8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="OptionsOverride" type="OptionsBitmap" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x04" name="MoveToLevelWithOnOff" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + </command> + <command id="0x05" name="MoveWithOnOff" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + </command> + <command id="0x06" name="StepWithOnOff" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + </command> + <command id="0x07" name="StopWithOnOff" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + </command> + <command id="0x08" name="MoveToClosestFrequency" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="FQ"/> + </mandatoryConform> + <field id="0" name="Frequency" type="uint16" default="0"> + <mandatoryConform/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/LocalizationConfiguration.xml b/zcl-builtin/matter/new-data-model/LocalizationConfiguration.xml new file mode 100644 index 0000000000000000000000000000000000000000..af416c7472bc4ede7f5cde26e0e7343a8380aaa1 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/LocalizationConfiguration.xml @@ -0,0 +1,76 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x002b" name="Localization Configuration" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="LCFG" scope="Node"/> + <attributes> + <attribute id="0x0000" name="ActiveLocale" type="<<ref_DataTypeString>>" default="MS"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="max" value="35"/> + </attribute> + <attribute id="0x0001" name="SupportedLocales" type="<<ref_DataTypeList>>[<<ref_DataTypeString>>]" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/LocalizationTimeFormat.xml b/zcl-builtin/matter/new-data-model/LocalizationTimeFormat.xml new file mode 100644 index 0000000000000000000000000000000000000000..4b5e33b8183ff258706ceebc1809f7361baaebbc --- /dev/null +++ b/zcl-builtin/matter/new-data-model/LocalizationTimeFormat.xml @@ -0,0 +1,144 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x002c" name="Time Format Localization" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="LTIME" scope="Node"/> + <features> + <feature bit="0" code="CALFMT" name="CalendarFormat" summary="The Node can be configured to use different calendar formats when conveying values to a user."> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="CalendarTypeEnum"> + <item value="0" name="Buddhist" summary="Dates conveyed using the Buddhist calendar"> + <optionalConform choice="a" more="true"/> + </item> + <item value="1" name="Chinese" summary="Dates conveyed using the Chinese calendar"> + <optionalConform choice="a" more="true"/> + </item> + <item value="2" name="Coptic" summary="Dates conveyed using the Coptic calendar"> + <optionalConform choice="a" more="true"/> + </item> + <item value="3" name="Ethiopian" summary="Dates conveyed using the Ethiopian calendar"> + <optionalConform choice="a" more="true"/> + </item> + <item value="4" name="Gregorian" summary="Dates conveyed using the Gregorian calendar"> + <optionalConform choice="a" more="true"/> + </item> + <item value="5" name="Hebrew" summary="Dates conveyed using the Hebrew calendar"> + <optionalConform choice="a" more="true"/> + </item> + <item value="6" name="Indian" summary="Dates conveyed using the Indian calendar"> + <optionalConform choice="a" more="true"/> + </item> + <item value="7" name="Islamic" summary="Dates conveyed using the Islamic calendar"> + <optionalConform choice="a" more="true"/> + </item> + <item value="8" name="Japanese" summary="Dates conveyed using the Japanese calendar"> + <optionalConform choice="a" more="true"/> + </item> + <item value="9" name="Korean" summary="Dates conveyed using the Korean calendar"> + <optionalConform choice="a" more="true"/> + </item> + <item value="10" name="Persian" summary="Dates conveyed using the Persian calendar"> + <optionalConform choice="a" more="true"/> + </item> + <item value="11" name="Taiwanese" summary="Dates conveyed using the Taiwanese calendar"> + <optionalConform choice="a" more="true"/> + </item> + <item value="255" name="UseActiveLocale" summary="calendar implied from active locale"> + <optionalConform choice="a" more="true"/> + </item> + </enum> + <enum name="HourFormatEnum"> + <item value="0" name="12hr" summary="Time conveyed with a 12-hour clock"> + <mandatoryConform/> + </item> + <item value="1" name="24hr" summary="Time conveyed with a 24-hour clock"> + <mandatoryConform/> + </item> + <item value="255" name="UseActiveLocale" summary="Use active locale clock"> + <mandatoryConform/> + </item> + </enum> + </dataTypes> + <attributes> + <attribute id="0x0000" name="HourFormat" type="HourFormatEnum"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="ActiveCalendarType" type="CalendarTypeEnum"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="CALFMT"/> + </mandatoryConform> + </attribute> + <attribute id="0x0002" name="SupportedCalendarTypes" type="<<ref_DataTypeList>>[CalendarTypeEnum Type]" default="N/A"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="CALFMT"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/LocalizationUnit.xml b/zcl-builtin/matter/new-data-model/LocalizationUnit.xml new file mode 100644 index 0000000000000000000000000000000000000000..cc3bdd5876fea24335ea6d0e4ec01e288d34c76a --- /dev/null +++ b/zcl-builtin/matter/new-data-model/LocalizationUnit.xml @@ -0,0 +1,90 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x002d" name="Unit Localization" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="LUNIT" scope="Node"/> + <features> + <feature bit="0" code="TEMP" name="TemperatureUnit" summary="The Node can be configured to use different units of temperature when conveying values to a user."> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="TempUnitEnum"> + <item value="0" name="Fahrenheit" summary="Temperature conveyed in Fahrenheit"> + <mandatoryConform/> + </item> + <item value="1" name="Celsius" summary="Temperature conveyed in Celsius"> + <mandatoryConform/> + </item> + <item value="2" name="Kelvin" summary="Temperature conveyed in Kelvin"> + <mandatoryConform/> + </item> + </enum> + </dataTypes> + <attributes> + <attribute id="0x0000" name="TemperatureUnit" type="TempUnitEnum" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="TEMP"/> + </mandatoryConform> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/LowPower.xml b/zcl-builtin/matter/new-data-model/LowPower.xml new file mode 100644 index 0000000000000000000000000000000000000000..ab0715e3532265820dd6ca0960c2ba958a06bde4 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/LowPower.xml @@ -0,0 +1,69 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0508" name="Low Power" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="LOWPOWER" scope="Endpoint"/> + <commands> + <command id="0x00" name="Sleep" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/MediaInput.xml b/zcl-builtin/matter/new-data-model/MediaInput.xml new file mode 100644 index 0000000000000000000000000000000000000000..f391346688f93f1029723bc40febef6029216657 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/MediaInput.xml @@ -0,0 +1,162 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0507" name="Media Input" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="MEDIAINPUT" scope="Endpoint"/> + <features> + <feature bit="0" code="NU" name="NameUpdates" summary="Supports updates to the input names"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="InputTypeEnum"> + <item value="0" name="Internal" summary="Indicates content not coming from a physical input."> + <mandatoryConform/> + </item> + <item value="1" name="Aux"> + <mandatoryConform/> + </item> + <item value="2" name="Coax"> + <mandatoryConform/> + </item> + <item value="3" name="Composite"> + <mandatoryConform/> + </item> + <item value="4" name="HDMI"> + <mandatoryConform/> + </item> + <item value="5" name="Input"> + <mandatoryConform/> + </item> + <item value="6" name="Line"> + <mandatoryConform/> + </item> + <item value="7" name="Optical"> + <mandatoryConform/> + </item> + <item value="8" name="Video"> + <mandatoryConform/> + </item> + <item value="9" name="SCART"> + <mandatoryConform/> + </item> + <item value="10" name="USB"> + <mandatoryConform/> + </item> + <item value="11" name="Other"> + <mandatoryConform/> + </item> + </enum> + <struct name="InputInfoStruct"> + <field id="0" name="Index" type="uint8"> + <mandatoryConform/> + </field> + <field id="1" name="InputType" type="InputTypeEnum"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="2" name="Name" type="string"> + <mandatoryConform/> + </field> + <field id="3" name="Description" type="string"> + <mandatoryConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="InputList" type="list[InputInfoStruct Type]"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="CurrentInput" type="uint8"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="SelectInput" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Index" type="uint8"> + <mandatoryConform/> + </field> + </command> + <command id="0x01" name="ShowInputStatus" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + </command> + <command id="0x02" name="HideInputStatus" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + </command> + <command id="0x03" name="RenameInput" response="Y"> + <access invokePrivilege="manage"/> + <mandatoryConform> + <feature name="NU"/> + </mandatoryConform> + <field id="0" name="Index" type="uint8"> + <mandatoryConform/> + </field> + <field id="1" name="Name" type="string"> + <mandatoryConform/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/MediaPlayback.xml b/zcl-builtin/matter/new-data-model/MediaPlayback.xml new file mode 100644 index 0000000000000000000000000000000000000000..c4da89fa2ea0598f3097f08e61f9c20f8cc64e5b --- /dev/null +++ b/zcl-builtin/matter/new-data-model/MediaPlayback.xml @@ -0,0 +1,248 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0506" name="Media Playback" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="MEDIAPLAYBACK" scope="Endpoint"/> + <features> + <feature bit="0" code="AS" name="AdvancedSeek" summary="Enables clients to implement more advanced media seeking behavior in their user interface, such as for example a "seek bar"."> + <optionalConform/> + </feature> + <feature bit="1" code="VS" name="VariableSpeed" summary="Support for commands to support variable speed playback on media that supports it."> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="PlaybackStateEnum"> + <item value="0" name="Playing" summary="Media is currently playing (includes FF and REW)"> + <mandatoryConform/> + </item> + <item value="1" name="Paused" summary="Media is currently paused"> + <mandatoryConform/> + </item> + <item value="2" name="NotPlaying" summary="Media is not currently playing"> + <mandatoryConform/> + </item> + <item value="3" name="Buffering" summary="Media is not currently buffering and playback will start when buffer has been filled"> + <mandatoryConform/> + </item> + </enum> + <enum name="StatusEnum"> + <item value="0" name="Success" summary="Succeeded"> + <mandatoryConform/> + </item> + <item value="1" name="InvalidStateForCommand" summary="Requested playback command is invalid in the current playback state."> + <mandatoryConform/> + </item> + <item value="2" name="NotAllowed" summary="Requested playback command is not allowed in the current playback state. + For example, attempting to fast-forward during a commercial might return NotAllowed."> + <mandatoryConform/> + </item> + <item value="3" name="NotActive" summary="This endpoint is not active for playback."> + <mandatoryConform/> + </item> + <item value="4" name="SpeedOutOfRange" summary="The FastForward or Rewind Command was issued but the media is already playing + back at the fastest speed supported by the server in the respective direction."> + <mandatoryConform> + <feature name="VS"/> + </mandatoryConform> + </item> + <item value="5" name="SeekOutOfRange" summary="The Seek Command was issued with a value of position outside of the allowed seek range of the media."> + <mandatoryConform> + <feature name="AS"/> + </mandatoryConform> + </item> + </enum> + <struct name="PlaybackPositionStruct"> + <field id="0" name="UpdatedAt" type="epoch-us"> + <mandatoryConform/> + </field> + <field id="1" name="Position" type="uint64"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="CurrentState" type="PlaybackStateEnum"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0001" name="StartTime" type="epoch-us" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="AS"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0002" name="Duration" type="uint64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="AS"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0003" name="SampledPosition" type="PlaybackPositionStruct" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="AS"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0004" name="PlaybackSpeed" type="single" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="AS"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0005" name="SeekRangeEnd" type="uint64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="AS"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0006" name="SeekRangeStart" type="uint64" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="AS"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="Play" response="PlaybackResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + </command> + <command id="0x01" name="Pause" response="PlaybackResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + </command> + <command id="0x02" name="Stop" response="PlaybackResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + </command> + <command id="0x03" name="StartOver" response="PlaybackResponse"> + <access invokePrivilege="operate"/> + <optionalConform/> + </command> + <command id="0x04" name="Previous" response="PlaybackResponse"> + <access invokePrivilege="operate"/> + <optionalConform/> + </command> + <command id="0x05" name="Next" response="PlaybackResponse"> + <access invokePrivilege="operate"/> + <optionalConform/> + </command> + <command id="0x06" name="Rewind" response="PlaybackResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="VS"/> + </mandatoryConform> + </command> + <command id="0x07" name="FastForward" response="PlaybackResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="VS"/> + </mandatoryConform> + </command> + <command id="0x08" name="SkipForward" response="PlaybackResponse"> + <access invokePrivilege="operate"/> + <optionalConform/> + <field id="0" name="DeltaPositionMilliseconds" type="uint64"> + <mandatoryConform/> + </field> + </command> + <command id="0x09" name="SkipBackward" response="PlaybackResponse"> + <access invokePrivilege="operate"/> + <optionalConform/> + <field id="0" name="DeltaPositionMilliseconds" type="uint64"> + <mandatoryConform/> + </field> + </command> + <command id="0x0a" name="PlaybackResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Status" type="StatusEnum"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="Data" type="string"> + <optionalConform/> + </field> + </command> + <command id="0x0b" name="Seek" response="PlaybackResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="AS"/> + </mandatoryConform> + <field id="0" name="Position" type="uint64"> + <mandatoryConform/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Messages.xml b/zcl-builtin/matter/new-data-model/Messages.xml new file mode 100644 index 0000000000000000000000000000000000000000..350e82c1d51e00346e7906b05afe4f38ee69b77b --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Messages.xml @@ -0,0 +1,300 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance + +508 Second Street, Suite 206 + +Davis, CA 95616, USA + +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. This +information within this document is the property of the Connectivity Standards +Alliance and its use and disclosure are restricted. + +Elements of Connectivity Standards Alliance specifications may be subject to third +party intellectual property rights, including without limitation, +patent, copyright or trademark rights (such a third party may or may +not be a member of the Connectivity Standards Alliance). The Connectivity Standards Alliance is not +responsible and shall not be held responsible in any manner for +identifying or failing to identify any or all such third party +intellectual property rights. + +This document and the information contained herein are provided on an +"AS IS" basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE +OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD +PARTIES (INCLUDING WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS +INCLUDING PATENT, COPYRIGHT OR TRADEMARK RIGHTS) OR (B) ANY IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE +OR NON-INFRINGEMENT. IN NO EVENT WILL THE CONNECTIVITY STANDARDS ALLIANCE BE LIABLE +FOR ANY LOSS OF PROFITS, LOSS OF BUSINESS, LOSS OF USE OF DATA, +INTERRUPTION OF BUSINESS, OR FOR ANY OTHER DIRECT, INDIRECT, SPECIAL +OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES OF ANY +KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT OR THE +INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH LOSS OR DAMAGE. + +All company, brand and product names may be trademarks that are the +sole property of their respective owners. + +This legal notice must be included on all copies of this document that +are made. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0097" name="Messages" revision="3"> + <revisionHistory> + <revision revision="1" summary="mandatory global ClusterRevision attribute added"/> + <revision revision="2" summary="Updated from SE1.4 version; CCB 1819"/> + <revision revision="3" summary="Matter Release; renamed from EnergyMessaging to Messages"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="MESS" scope="Endpoint"/> + <features> + <feature bit="0" code="CONF" name="ReceivedConfirmation"> + <optionalConform/> + </feature> + <feature bit="1" code="RESP" name="ConfirmationResponse"> + <optionalConform> + <feature name="CONF"/> + </optionalConform> + </feature> + <feature bit="2" code="RPLY" name="ConfirmationReply"> + <optionalConform> + <feature name="CONF"/> + </optionalConform> + </feature> + <feature bit="3" code="PROT" name="ProtectedMessages"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <number name="MessageID" type=""/> + <enum name="FutureMessagePreferenceEnum"> + <item value="0" name="Allowed" summary="Similar messages are allowed"> + <mandatoryConform/> + </item> + <item value="1" name="Increased" summary="Similar messages should be sent more often"> + <mandatoryConform/> + </item> + <item value="2" name="Reduced" summary="Similar messages should be sent less often"> + <mandatoryConform/> + </item> + <item value="3" name="Disallowed" summary="Similar messages should not be sent"> + <mandatoryConform/> + </item> + <item value="4" name="Banned" summary="No further messages should be sent"> + <mandatoryConform/> + </item> + </enum> + <enum name="MessagePriorityEnum"> + <item value="0" name="Low" summary="Message to be transferred with a low level of importance"> + <mandatoryConform/> + </item> + <item value="1" name="Medium" summary="Message to be transferred with a medium level of importance"> + <mandatoryConform/> + </item> + <item value="2" name="High" summary="Message to be transferred with a high level of importance"> + <mandatoryConform/> + </item> + <item value="3" name="Critical" summary="Message to be transferred with a critical level of importance"> + <mandatoryConform/> + </item> + </enum> + <bitmap name="MessageControlBitmap"> + <bitfield name="ConfirmationRequired" bit="0" summary="Message requires confirmation from user"> + <mandatoryConform> + <feature name="CONF"/> + </mandatoryConform> + </bitfield> + <bitfield name="ResponseRequired" bit="1" summary="Message requires response from user"> + <mandatoryConform> + <feature name="RESP"/> + </mandatoryConform> + </bitfield> + <bitfield name="ReplyMessage" bit="2" summary="Message supports reply message from user"> + <mandatoryConform> + <feature name="RPLY"/> + </mandatoryConform> + </bitfield> + <bitfield name="MessageConfirmed" bit="3" summary="Message has already been confirmed"> + <mandatoryConform> + <feature name="CONF"/> + </mandatoryConform> + </bitfield> + <bitfield name="MessageProtected" bit="4" summary="Message required PIN/password protection"> + <mandatoryConform> + <feature name="PROT"/> + </mandatoryConform> + </bitfield> + </bitmap> + <struct name="MessageResponseOptionStruct"> + <field id="0" name="MessageResponseID" type="uint32"> + <access read="true" write="true"/> + <mandatoryConform> + <feature name="RESP"/> + </mandatoryConform> + <constraint type="min" value="1"/> + </field> + <field id="1" name="Label" type="string"> + <access read="true" write="true"/> + <mandatoryConform> + <feature name="RPLY"/> + </mandatoryConform> + <constraint type="maxLength" value="32"/> + </field> + </struct> + <struct name="MessageStruct"> + <field id="0" name="MessageID" type="MessageID"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="1" name="Priority" type="MessagePriorityEnum" default="0"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="2" name="MessageControl" type="MessageControlBitmap" default="0"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="3" name="StartTime" type="epoch-s" default="0"> + <access read="true"/> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="4" name="Duration" type="uint16" default="0"> + <access read="true"/> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="5" name="MessageText" type="string"> + <access read="true"/> + <mandatoryConform/> + <constraint type="maxLength" value="256"/> + </field> + <field id="6" name="Responses" type="list[MessageResponseOptionStruct Type]" default="empty"> + <access read="true"/> + <mandatoryConform> + <feature name="RESP"/> + </mandatoryConform> + <constraint type="max" value="4"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="Messages" type="list[MessageStruct Type]" default="empty"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="max" value="8"/> + </attribute> + <attribute id="0x0001" name="ActiveMessageIDs" type="list[MessageID Type]" default="empty"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="PresentMessagesRequest" response="Y"> + <access invokePrivilege="operate" fabricScoped="true"/> + <mandatoryConform/> + <field id="0" name="Messages" type="list[MessageStruct Type]"> + <mandatoryConform/> + </field> + </command> + <command id="0x01" name="CancelMessagesRequest" response="Y"> + <access invokePrivilege="operate" fabricScoped="true"/> + <mandatoryConform/> + <field id="0" name="MessageIDs" type="list[MessageID Type]"> + <mandatoryConform/> + </field> + </command> + </commands> + <events> + <event id="0x00" name="MessageQueued" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform/> + <field id="0" name="MessageID" type="MessageID"> + <mandatoryConform/> + </field> + </event> + <event id="0x01" name="MessagePresented" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform/> + <field id="0" name="MessageID" type="MessageID"> + <mandatoryConform/> + </field> + </event> + <event id="0x02" name="MessageComplete" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform/> + <field id="0" name="MessageID" type="MessageID"> + <mandatoryConform/> + </field> + <field id="1" name="ResponseID" type="uint32" default="null"> + <quality nullable="true"/> + <mandatoryConform> + <feature name="RESP"/> + </mandatoryConform> + </field> + <field id="2" name="Reply" type="string" default="null"> + <quality nullable="true"/> + <mandatoryConform> + <feature name="RPLY"/> + </mandatoryConform> + <constraint type="maxLength" value="256"/> + </field> + <field id="3" name="FutureMessagesPreference" type="FutureMessagePreferenceEnum" default="null"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/MicrowaveOvenControl.xml b/zcl-builtin/matter/new-data-model/MicrowaveOvenControl.xml new file mode 100644 index 0000000000000000000000000000000000000000..aa6017b2aaffc0e7af384882008cb5cd3996f7b8 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/MicrowaveOvenControl.xml @@ -0,0 +1,123 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x050f" name="Microwave Oven Control" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="MWOCTRL" scope="Endpoint"/> + <attributes> + <attribute id="0x0001" name="CookTime" type="elapsed-s" default="30"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="between" from="1" to="65535"/> + </attribute> + <attribute id="0x0002" name="PowerSetting" type="uint8" default="MS"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0003" name="MinPower" type="uint8" default="10"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform/> + <constraint type="between" from="1" to="MaxPower"/> + </attribute> + <attribute id="0x0004" name="MaxPower" type="uint8" default="100"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <attribute name="MinPower"/> + </mandatoryConform> + <constraint type="between" from="MinPower" to="100"/> + </attribute> + <attribute id="0x0005" name="PowerStep" type="uint8" default="10"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <attribute name="MinPower"/> + </mandatoryConform> + <constraint type="between" from="1" to="MaxPower"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="SetCookingParameters" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="CookMode" type="uint8" default="Normal"> + <optionalConform choice="a" more="true"/> + <constraint type="desc"/> + </field> + <field id="1" name="CookTime" type="elapsed-s" default="MS"> + <optionalConform choice="a" more="true"/> + <constraint type="between" from="1" to="65535"/> + </field> + <field id="2" name="PowerSetting" type="uint8" default="MaxPower"> + <optionalConform choice="a" more="true"/> + <constraint type="between" from="MinPower" to="MaxPower"/> + </field> + </command> + <command id="0x01" name="AddMoreTime" response="Y"> + <access invokePrivilege="operate"/> + <optionalConform/> + <field id="0" name="TimeToAdd" type="elapsed-s"> + <mandatoryConform/> + <constraint type="between" from="1" to="65535"/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/ModeBase.xml b/zcl-builtin/matter/new-data-model/ModeBase.xml new file mode 100644 index 0000000000000000000000000000000000000000..98464b7a67122bb6573fdab872c3277e27d45310 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/ModeBase.xml @@ -0,0 +1,176 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Mode Base" revision="2"> + <revisionHistory> + <revision revision="1" summary="Initial version"/> + <revision revision="2" summary="ChangeToModeResponse command: StatusText must be provided for InvalidInMode status"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="MODB" scope="Endpoint"/> + <features> + <feature name="base reserved" summary="This range of bits is reserved for this base cluster"> + <optionalConform/> + </feature> + <feature name="derived reserved" summary="This range of bits is reserved for derived clusters"> + <optionalConform/> + </feature> + <feature bit="0" code="DEPONOFF" name="OnOff" summary="Dependency with the OnOff cluster"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <struct name="ModeOptionStruct"> + <field id="0" name="Label" type="string" default="MS"> + <access read="true"/> + <mandatoryConform/> + <constraint type="maxLength" value="64"/> + </field> + <field id="1" name="Mode" type="uint8" default="MS"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="2" name="ModeTags" type="list[ModeTagStruct Type]" default="MS"> + <access read="true"/> + <mandatoryConform/> + <constraint type="max" value="8"/> + </field> + </struct> + <struct name="ModeTagStruct"> + <field id="0" name="MfgCode" type="vendor-id"> + <access read="true"/> + <optionalConform/> + <constraint type="desc"/> + </field> + <field id="1" name="Value" type="enum16"> + <access read="true"/> + <mandatoryConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute name="base reserved"> + <mandatoryConform/> + </attribute> + <attribute name="derived reserved"> + <mandatoryConform/> + </attribute> + <attribute id="0x0000" name="SupportedModes" type="list[ModeOptionStruct Type]" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="2" to="255"/> + </attribute> + <attribute id="0x0001" name="CurrentMode" type="uint8" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="true" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0002" name="StartUpMode" type="uint8" default="MS"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0003" name="OnMode" type="uint8" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="DEPONOFF"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + </attributes> + <commands> + <command name="ChangeToMode" response="ChangeToModeResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="NewMode" type="uint8"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command name="ChangeToModeResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Status" type="enum8"> + <enum> + <item from="0x00" to="0x3F" name="CommonCodes" summary="Common standard values defined in the generic Mode Base cluster specification."> + <mandatoryConform/> + </item> + <item from="0x40" to="0x7F" name="DerivedClusterCodes" summary="Derived cluster specific standard values defined in the derived Mode Base cluster specification."> + <mandatoryConform/> + </item> + <item from="0x80" to="0xBF" name="MfgCodes" summary="Manufacturer specific values. For the derived Mode Base cluster instances, these are manufacturer specific under the derived cluster."> + <mandatoryConform/> + </item> + </enum> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="StatusText" type="string"> + <constraint type="maxLength" value="64"/> + </field> + </command> + <command name="base reserved" direction="commandToClient"> + <access invokePrivilege="operate"/> + </command> + <command name="derived reserved" direction="commandToClient"> + <access invokePrivilege="operate"/> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/ModeSelect.xml b/zcl-builtin/matter/new-data-model/ModeSelect.xml new file mode 100644 index 0000000000000000000000000000000000000000..b9bbe00dd821fdc754ec2641e33b3d195a465695 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/ModeSelect.xml @@ -0,0 +1,150 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0050" name="Mode Select" revision="2"> + <revisionHistory> + <revision revision="1" summary="Initial version"/> + <revision revision="2" summary="The MfgCode field was marked non-nullable. Updated the related text. Reorder sections."/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="MOD" scope="Endpoint"/> + <features> + <feature bit="0" code="DEPONOFF" name="OnOff" summary="Dependency with the OnOff cluster"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <struct name="ModeOptionStruct"> + <field id="0" name="Label" type="string" default="MS"> + <access read="true"/> + <mandatoryConform/> + <constraint type="maxLength" value="64"/> + </field> + <field id="1" name="Mode" type="uint8" default="MS"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="2" name="SemanticTags" type="list" default="MS"> + <entry type="SemanticTagStruct"/> + <access read="true"/> + <mandatoryConform/> + <constraint type="maxCount" value="64"/> + </field> + </struct> + <struct name="SemanticTagStruct"> + <field id="0" name="MfgCode" type="vendor-id"> + <access read="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="Value" type="enum16"> + <access read="true"/> + <mandatoryConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="Description" type="string" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="maxLength" value="64"/> + </attribute> + <attribute id="0x0001" name="StandardNamespace" type="enum16" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0002" name="SupportedModes" type="list" default="MS"> + <entry type="ModeOptionStruct"/> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="maxCount" value="255"/> + </attribute> + <attribute id="0x0003" name="CurrentMode" type="uint8" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="true" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0004" name="StartUpMode" type="uint8" default="MS"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0005" name="OnMode" type="uint8" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="DEPONOFF"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="ChangeToMode" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="NewMode" type="uint8"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Mode_Dishwasher.xml b/zcl-builtin/matter/new-data-model/Mode_Dishwasher.xml new file mode 100644 index 0000000000000000000000000000000000000000..93220234dd6169a9b94b535e27485e6813c6d9cf --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Mode_Dishwasher.xml @@ -0,0 +1,92 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0059" name="Dishwasher Mode" revision="2"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + <revision revision="2" summary="ChangeToModeResponse command: StatusText must be provided for InvalidInMode status"/> + </revisionHistory> + <classification hierarchy="derived" baseCluster="Mode Base" role="application" picsCode="DISHM" scope="Endpoint"/> + <dataTypes> + <struct name="ModeOptionStruct"> + <field id="0" name="Label"> + <mandatoryConform/> + </field> + <field id="1" name="Mode"> + <mandatoryConform/> + </field> + <field id="2" name="ModeTags"> + <mandatoryConform/> + <constraint type="between" from="1" to="8"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="SupportedModes"> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="CurrentMode"> + <mandatoryConform/> + </attribute> + <attribute id="0x0002" name="StartUpMode"> + <provisionalConform/> + </attribute> + <attribute id="0x0003" name="OnMode"> + <provisionalConform/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Mode_EVSE.xml b/zcl-builtin/matter/new-data-model/Mode_EVSE.xml new file mode 100644 index 0000000000000000000000000000000000000000..bcf4bef7e34257995e9932178f6f6a37e28efc10 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Mode_EVSE.xml @@ -0,0 +1,63 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="EVSE Mode" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="derived" baseCluster="Mode Base" role="application" picsCode="EVSEM" scope="Endpoint"/> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Mode_Laundry.xml b/zcl-builtin/matter/new-data-model/Mode_Laundry.xml new file mode 100644 index 0000000000000000000000000000000000000000..319ba3101d3c0e31b7dd03fc793ed26f21cd5ccf --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Mode_Laundry.xml @@ -0,0 +1,92 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0051" name="Laundry Mode" revision="2"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + <revision revision="2" summary="ChangeToModeResponse command: StatusText must be provided for InvalidInMode status"/> + </revisionHistory> + <classification hierarchy="derived" baseCluster="Mode Base" role="application" picsCode="LWM" scope="Endpoint"/> + <dataTypes> + <struct name="ModeOptionStruct"> + <field id="0" name="Label"> + <mandatoryConform/> + </field> + <field id="1" name="Mode"> + <mandatoryConform/> + </field> + <field id="2" name="ModeTags"> + <mandatoryConform/> + <constraint type="between" from="1" to="8"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="SupportedModes"> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="CurrentMode"> + <mandatoryConform/> + </attribute> + <attribute id="0x0002" name="StartUpMode"> + <provisionalConform/> + </attribute> + <attribute id="0x0003" name="OnMode"> + <provisionalConform/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Mode_LaundryWasher.xml b/zcl-builtin/matter/new-data-model/Mode_LaundryWasher.xml new file mode 100644 index 0000000000000000000000000000000000000000..40972ce46c491f429e559bbb9e97f52b6c88eca8 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Mode_LaundryWasher.xml @@ -0,0 +1,91 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0051" name="Laundry Washer Mode" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="derived" baseCluster="Mode Base" role="application" picsCode="LWM" scope="Endpoint"/> + <dataTypes> + <struct name="ModeOptionStruct"> + <field id="0" name="Label"> + <mandatoryConform/> + </field> + <field id="1" name="Mode"> + <mandatoryConform/> + </field> + <field id="2" name="ModeTags"> + <mandatoryConform/> + <constraint type="between" from="1" to="8"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="SupportedModes"> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="CurrentMode"> + <mandatoryConform/> + </attribute> + <attribute id="0x0002" name="StartUpMode"> + <provisionalConform/> + </attribute> + <attribute id="0x0003" name="OnMode"> + <provisionalConform/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Mode_MicrowaveOven.xml b/zcl-builtin/matter/new-data-model/Mode_MicrowaveOven.xml new file mode 100644 index 0000000000000000000000000000000000000000..f9aac46fc1a53ff3fd1effd681e15bdf6295e4d9 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Mode_MicrowaveOven.xml @@ -0,0 +1,87 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x005e" name="Microwave Oven Mode" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="derived" baseCluster="Mode Base" role="application" picsCode="MWOM" scope="Endpoint"/> + <attributes> + <attribute id="0x0000" name="SupportedModes"> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="CurrentMode"> + <mandatoryConform/> + </attribute> + <attribute id="0x0002" name="StartUpMode"> + <disallowConform/> + </attribute> + <attribute id="0x0003" name="OnMode"> + <disallowConform/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="ChangeToMode" direction="commandToClient"> + <access invokePrivilege="operate"/> + <disallowConform/> + </command> + <command id="0x01" name="ChangeToModeResponse" direction="commandToClient"> + <access invokePrivilege="operate"/> + <disallowConform/> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Mode_Oven.xml b/zcl-builtin/matter/new-data-model/Mode_Oven.xml new file mode 100644 index 0000000000000000000000000000000000000000..aaef2a99c6c399b1a55b1f4e87ab368fe5201c53 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Mode_Oven.xml @@ -0,0 +1,63 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0049" name="Oven Mode" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="derived" baseCluster="Mode Base" role="application" picsCode="OTCCM" scope="Endpoint"/> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Mode_RVCClean.xml b/zcl-builtin/matter/new-data-model/Mode_RVCClean.xml new file mode 100644 index 0000000000000000000000000000000000000000..0a49c2700d0a7070c20d418e3f4e3caed7f78c0a --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Mode_RVCClean.xml @@ -0,0 +1,78 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0055" name="RVC Clean Mode" revision="2"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + <revision revision="2" summary="Add constraint about changing cleaning modes while the RVC Run Mode cluster is in a non-Idle mode. ChangeToModeResponse command: StatusText must be provided for InvalidInMode status"/> + </revisionHistory> + <classification hierarchy="derived" baseCluster="Mode Base" role="application" picsCode="RVCCLEANM" scope="Endpoint"/> + <dataTypes> + <struct name="ModeOptionStruct"> + <field id="0" name="Label"> + <mandatoryConform/> + </field> + <field id="1" name="Mode"> + <mandatoryConform/> + </field> + <field id="2" name="ModeTags"> + <mandatoryConform/> + <constraint type="between" from="1" to="8"/> + </field> + </struct> + </dataTypes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Mode_RVCRun.xml b/zcl-builtin/matter/new-data-model/Mode_RVCRun.xml new file mode 100644 index 0000000000000000000000000000000000000000..950e52e94dfde9817a699654d2396b1c1108e320 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Mode_RVCRun.xml @@ -0,0 +1,79 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0054" name="RVC Run Mode" revision="2"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + <revision revision="2" summary="Add constraint about switching from non-Idle to non-Idle modes. ChangeToModeResponse command: StatusText must be provided for InvalidInMode status"/> + </revisionHistory> + <classification hierarchy="derived" baseCluster="Mode Base" role="application" picsCode="RVCRUNM" scope="Endpoint"/> + <dataTypes> + <struct name="ModeOptionStruct"> + <field id="0" name="Label"> + <mandatoryConform/> + </field> + <field id="1" name="Mode"> + <mandatoryConform/> + </field> + <field id="2" name="ModeTags"> + <mandatoryConform/> + <constraint type="between" from="1" to="8"/> + </field> + </struct> + </dataTypes> + <attributes/> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Mode_Refrigerator.xml b/zcl-builtin/matter/new-data-model/Mode_Refrigerator.xml new file mode 100644 index 0000000000000000000000000000000000000000..c820a76055e4385c4befb3aa199ce9b921ed3864 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Mode_Refrigerator.xml @@ -0,0 +1,92 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0052" name="Refrigerator And Temperature Controlled Cabinet Mode" revision="2"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + <revision revision="2" summary="ChangeToModeResponse command: StatusText must be provided for InvalidInMode status"/> + </revisionHistory> + <classification hierarchy="derived" baseCluster="Mode Base" role="application" picsCode="TCCM" scope="Endpoint"/> + <dataTypes> + <struct name="ModeOptionStruct"> + <field id="0" name="Label"> + <mandatoryConform/> + </field> + <field id="1" name="Mode"> + <mandatoryConform/> + </field> + <field id="2" name="ModeTags"> + <mandatoryConform/> + <constraint type="between" from="1" to="8"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="SupportedModes"> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="CurrentMode"> + <mandatoryConform/> + </attribute> + <attribute id="0x0002" name="StartUpMode"> + <provisionalConform/> + </attribute> + <attribute id="0x0003" name="OnMode"> + <provisionalConform/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Mode_WaterHeater.xml b/zcl-builtin/matter/new-data-model/Mode_WaterHeater.xml new file mode 100644 index 0000000000000000000000000000000000000000..eb440ab2483a3827a6fad9dcad37ed5b47ac9aa9 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Mode_WaterHeater.xml @@ -0,0 +1,63 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Water Heater Mode" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="derived" baseCluster="Mode Base" role="application" picsCode="WHM" scope="Endpoint"/> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/NetworkCommissioningCluster.xml b/zcl-builtin/matter/new-data-model/NetworkCommissioningCluster.xml new file mode 100644 index 0000000000000000000000000000000000000000..4cfdc57a9ba8b76518e602f0cef4f9a1ae7ccd4b --- /dev/null +++ b/zcl-builtin/matter/new-data-model/NetworkCommissioningCluster.xml @@ -0,0 +1,511 @@ +<?xml version="1.0"?> +<!-- +link:../matter-defines.adoc[] + +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0031" name="Network Commissioning" revision="2"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + <revision revision="2" summary="Support determining capabilities for Wi-Fi and Thread interfaces. Additional Wi-Fi directed scanning requirements."/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="CNET" scope="Node"/> + <features> + <feature bit="0" code="WI" name="WiFiNetworkInterface" summary="Wi-Fi related features"> + <optionalConform choice="a"/> + </feature> + <feature bit="1" code="TH" name="ThreadNetworkInterface" summary="Thread related features"> + <optionalConform choice="a"/> + </feature> + <feature bit="2" code="ET" name="EthernetNetworkInterface" summary="Ethernet related features"> + <optionalConform choice="a"/> + </feature> + </features> + <dataTypes> + <enum name="NetworkCommissioningStatusEnum"> + <item value="0" name="Success" summary="OK, no error"> + <mandatoryConform/> + </item> + <item value="1" name="OutOfRange" summary="[[ref_OutOfRange]] Value Outside Range"> + <mandatoryConform/> + </item> + <item value="2" name="BoundsExceeded" summary="[[ref_BoundsExceeded]] A collection would exceed its size limit"> + <mandatoryConform/> + </item> + <item value="3" name="NetworkIDNotFound" summary="[[ref_NetworkIdNotFound]] The NetworkID is not among the collection of added networks"> + <mandatoryConform/> + </item> + <item value="4" name="DuplicateNetworkID" summary="[[ref_DuplicateNetworkId]] The NetworkID is already among the collection of added networks"> + <mandatoryConform/> + </item> + <item value="5" name="NetworkNotFound" summary="[[ref_NetworkNotFound]] Cannot find AP: SSID Not found"> + <mandatoryConform/> + </item> + <item value="6" name="RegulatoryError" summary="[[ref_RegulatoryError]] Cannot find AP: Mismatch on band/channels/regulatory domain / 2.4GHz vs 5GHz"> + <mandatoryConform/> + </item> + <item value="7" name="AuthFailure" summary="[[ref_AuthFailure]] Cannot associate due to authentication failure"> + <mandatoryConform/> + </item> + <item value="8" name="UnsupportedSecurity" summary="[[ref_UnsupportedSecurity]] Cannot associate due to unsupported security mode"> + <mandatoryConform/> + </item> + <item value="9" name="OtherConnectionFailure" summary="[[ref_OtherConnectionFailure]] Other association failure"> + <mandatoryConform/> + </item> + <item value="10" name="IPV6Failed" summary="[[ref_Ipv6Failed]] Failure to generate an IPv6 address"> + <mandatoryConform/> + </item> + <item value="11" name="IPBindFailed" summary="[[ref_IpBindFailed]] Failure to bind Wi-Fi +<->+ IP interfaces"> + <mandatoryConform/> + </item> + <item value="12" name="UnknownError" summary="[[ref_UnknownError]] Unknown error"> + <mandatoryConform/> + </item> + </enum> + <enum name="WiFiBandEnum"> + <item value="0" name="2G4" summary="2.4GHz - 2.401GHz to 2.495GHz (802.11b/g/n/ax)"> + <optionalConform choice="a" more="true"/> + </item> + <item value="1" name="3G65" summary="3.65GHz - 3.655GHz to 3.695GHz (802.11y)"> + <optionalConform choice="a" more="true"/> + </item> + <item value="2" name="5G" summary="5GHz - 5.150GHz to 5.895GHz (802.11a/n/ac/ax)"> + <optionalConform choice="a" more="true"/> + </item> + <item value="3" name="6G" summary="6GHz - 5.925GHz to 7.125GHz (802.11ax / Wi-Fi 6E)"> + <optionalConform choice="a" more="true"/> + </item> + <item value="4" name="60G" summary="60GHz - 57.24GHz to 70.20GHz (802.11ad/ay)"> + <optionalConform choice="a" more="true"/> + </item> + <item value="5" name="1G" summary="Sub-1GHz - 755MHz to 931MHz (802.11ah)"> + <optionalConform choice="a" more="true"/> + </item> + </enum> + <bitmap name="ThreadCapabilitiesBitmap"> + <bitfield name="IsBorderRouterCapable" bit="0" summary="Thread Border Router functionality is present"> + <optionalConform/> + </bitfield> + <bitfield name="IsRouterCapable" bit="1" summary="Router mode is supported (interface could be in router or REED mode)"> + <optionalConform/> + </bitfield> + <bitfield name="IsSleepyEndDeviceCapable" bit="2" summary="Sleepy end-device mode is supported"> + <optionalConform/> + </bitfield> + <bitfield name="IsFullThreadDevice" bit="3" summary="Device is a full Thread device (opposite of Minimal Thread Device)"> + <optionalConform/> + </bitfield> + <bitfield name="IsSynchronizedSleepyEndDeviceCapable" bit="4" summary="Synchronized sleepy end-device mode is supported"> + <optionalConform/> + </bitfield> + </bitmap> + <bitmap name="WiFiSecurityBitmap"> + <bitfield name="Unencrypted" bit="0" summary="Supports unencrypted Wi-Fi"> + <mandatoryConform/> + </bitfield> + <bitfield name="WEP" bit="1" summary="Supports Wi-Fi using WEP security"> + <mandatoryConform/> + </bitfield> + <bitfield name="WPA-PERSONAL" bit="2" summary="Supports Wi-Fi using WPA-Personal security"> + <mandatoryConform/> + </bitfield> + <bitfield name="WPA2-PERSONAL" bit="3" summary="Supports Wi-Fi using WPA2-Personal security"> + <mandatoryConform/> + </bitfield> + <bitfield name="WPA3-PERSONAL" bit="4" summary="Supports Wi-Fi using WPA3-Personal security"> + <mandatoryConform/> + </bitfield> + </bitmap> + <struct name="NetworkInfoStruct"> + <field id="0" name="NetworkID" type="<<ref_DataTypeOctstr>>"> + <mandatoryConform/> + <constraint type="between" from="1" to="32"/> + </field> + <field id="1" name="Connected" type="bool"> + <mandatoryConform/> + </field> + </struct> + <struct name="ThreadInterfaceScanResultStruct"> + <field id="0" name="PanId" type="uint16"> + <mandatoryConform> + <feature name="TH"/> + </mandatoryConform> + <constraint type="between" from="0" to="65534"/> + </field> + <field id="1" name="ExtendedPanId" type="uint64"> + <mandatoryConform> + <feature name="TH"/> + </mandatoryConform> + </field> + <field id="2" name="NetworkName" type="<<ref_DataTypeString>>"> + <mandatoryConform> + <feature name="TH"/> + </mandatoryConform> + <constraint type="between" from="1" to="16"/> + </field> + <field id="3" name="Channel" type="uint16"> + <mandatoryConform> + <feature name="TH"/> + </mandatoryConform> + </field> + <field id="4" name="Version" type="uint8"> + <mandatoryConform> + <feature name="TH"/> + </mandatoryConform> + </field> + <field id="5" name="ExtendedAddress" type="hwadr"> + <mandatoryConform> + <feature name="TH"/> + </mandatoryConform> + </field> + <field id="6" name="RSSI" type="int8"> + <mandatoryConform> + <feature name="TH"/> + </mandatoryConform> + </field> + <field id="7" name="LQI" type="uint8"> + <mandatoryConform> + <feature name="TH"/> + </mandatoryConform> + </field> + </struct> + <struct name="WiFiInterfaceScanResultStruct"> + <field id="0" name="Security" type="WiFiSecurityBitmap"> + <mandatoryConform> + <feature name="WI"/> + </mandatoryConform> + </field> + <field id="1" name="SSID" type="<<ref_DataTypeOctstr>>"> + <mandatoryConform> + <feature name="WI"/> + </mandatoryConform> + <constraint type="max" value="32"/> + </field> + <field id="2" name="BSSID" type="<<ref_DataTypeOctstr>>"> + <mandatoryConform> + <feature name="WI"/> + </mandatoryConform> + <constraint type="allowed" value="6"/> + </field> + <field id="3" name="Channel" type="uint16"> + <mandatoryConform> + <feature name="WI"/> + </mandatoryConform> + </field> + <field id="4" name="WiFiBand" type="WiFiBandEnum"> + <optionalConform> + <feature name="WI"/> + </optionalConform> + </field> + <field id="5" name="RSSI" type="int8"> + <optionalConform> + <feature name="WI"/> + </optionalConform> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="MaxNetworks" type="uint8"> + <access read="true" readPrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="min" value="1"/> + </attribute> + <attribute id="0x0001" name="Networks" type="<<ref_DataTypeList>>[NetworkInfoStruct]" default="empty"> + <access read="true" readPrivilege="admin"/> + <mandatoryConform/> + <constraint type="max" value="MaxNetworks"/> + </attribute> + <attribute id="0x0002" name="ScanMaxTimeSeconds" type="uint8"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <orTerm> + <feature name="WI"/> + <feature name="TH"/> + </orTerm> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0003" name="ConnectMaxTimeSeconds" type="uint8"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <orTerm> + <feature name="WI"/> + <feature name="TH"/> + </orTerm> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0004" name="InterfaceEnabled" type="bool" default="true"> + <access read="true" write="true" readPrivilege="view" writePrivilege="admin"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0005" name="LastNetworkingStatus" type="NetworkCommissioningStatusEnum" default="null"> + <access read="true" readPrivilege="admin"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0006" name="LastNetworkID" type="<<ref_DataTypeOctstr>>" default="null"> + <access read="true" readPrivilege="admin"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="1" to="32"/> + </attribute> + <attribute id="0x0007" name="LastConnectErrorValue" type="int32" default="null"> + <access read="true" readPrivilege="admin"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0008" name="SupportedWiFiBands" type="<<ref_DataTypeList>>[WiFiBandEnum]" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="WI"/> + </mandatoryConform> + <constraint type="min" value="1"/> + </attribute> + <attribute id="0x0009" name="SupportedThreadFeatures" type="ThreadCapabilitiesBitmap" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="TH"/> + </mandatoryConform> + </attribute> + <attribute id="0x000a" name="ThreadVersion" type="uint16" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="TH"/> + </mandatoryConform> + </attribute> + </attributes> + <commands> + <command id="0x00" name="ScanNetworks" response="ScanNetworksResponse"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <orTerm> + <feature name="WI"/> + <feature name="TH"/> + </orTerm> + </mandatoryConform> + <field id="0" name="SSID" type="<<ref_DataTypeOctstr>>" default="null"> + <quality nullable="true"/> + <optionalConform> + <feature name="WI"/> + </optionalConform> + <constraint type="between" from="1" to="32"/> + </field> + <field id="1" name="Breadcrumb" type="uint64"> + <optionalConform/> + </field> + </command> + <command id="0x01" name="ScanNetworksResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <orTerm> + <feature name="WI"/> + <feature name="TH"/> + </orTerm> + </mandatoryConform> + <field id="0" name="NetworkingStatus" type="NetworkCommissioningStatusEnum"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="DebugText" type="<<ref_DataTypeString>>"> + <optionalConform/> + <constraint type="max" value="512"/> + </field> + <field id="2" name="WiFiScanResults" type="<<ref_DataTypeList>>[WiFiInterfaceScanResultStruct Type]"> + <mandatoryConform> + <feature name="WI"/> + </mandatoryConform> + <constraint type="desc"/> + </field> + <field id="3" name="ThreadScanResults" type="<<ref_DataTypeList>>[ThreadInterfaceScanResultStruct Type]"> + <mandatoryConform> + <feature name="TH"/> + </mandatoryConform> + <constraint type="desc"/> + </field> + </command> + <command id="0x02" name="AddOrUpdateWiFiNetwork" response="NetworkConfigResponse"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <feature name="WI"/> + </mandatoryConform> + <field id="0" name="SSID" type="<<ref_DataTypeOctstr>>"> + <mandatoryConform/> + <constraint type="max" value="32"/> + </field> + <field id="1" name="Credentials" type="<<ref_DataTypeOctstr>>"> + <mandatoryConform/> + <constraint type="max" value="64"/> + </field> + <field id="2" name="Breadcrumb" type="uint64"> + <optionalConform/> + </field> + </command> + <command id="0x03" name="AddOrUpdateThreadNetwork" response="NetworkConfigResponse"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <feature name="TH"/> + </mandatoryConform> + <field id="0" name="OperationalDataset" type="<<ref_DataTypeOctstr>>"> + <mandatoryConform/> + <constraint type="max" value="254"/> + </field> + <field id="1" name="Breadcrumb" type="uint64"> + <optionalConform/> + </field> + </command> + <command id="0x04" name="RemoveNetwork" response="NetworkConfigResponse"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <orTerm> + <feature name="WI"/> + <feature name="TH"/> + </orTerm> + </mandatoryConform> + <field id="0" name="NetworkID" type="<<ref_DataTypeOctstr>>"> + <mandatoryConform/> + <constraint type="between" from="1" to="32"/> + </field> + <field id="1" name="Breadcrumb" type="uint64"> + <optionalConform/> + </field> + </command> + <command id="0x05" name="NetworkConfigResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <orTerm> + <feature name="WI"/> + <feature name="TH"/> + </orTerm> + </mandatoryConform> + <field id="0" name="NetworkingStatus" type="NetworkCommissioningStatusEnum"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="DebugText" type="<<ref_DataTypeString>>"> + <optionalConform/> + <constraint type="max" value="512"/> + </field> + <field id="2" name="NetworkIndex" type="uint8"> + <optionalConform/> + <constraint type="between" from="0" to="(MaxNetworks"/> + </field> + </command> + <command id="0x06" name="ConnectNetwork" response="ConnectNetworkResponse"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <orTerm> + <feature name="WI"/> + <feature name="TH"/> + </orTerm> + </mandatoryConform> + <field id="0" name="NetworkID" type="<<ref_DataTypeOctstr>>"> + <mandatoryConform/> + <constraint type="between" from="1" to="32"/> + </field> + <field id="1" name="Breadcrumb" type="uint64"> + <optionalConform/> + </field> + </command> + <command id="0x07" name="ConnectNetworkResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <orTerm> + <feature name="WI"/> + <feature name="TH"/> + </orTerm> + </mandatoryConform> + <field id="0" name="NetworkingStatus" type="NetworkCommissioningStatusEnum"> + <mandatoryConform/> + </field> + <field id="1" name="DebugText" type="<<ref_DataTypeString>>"> + <optionalConform/> + </field> + <field id="2" name="ErrorValue" type="int32"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </command> + <command id="0x08" name="ReorderNetwork" response="NetworkConfigResponse"> + <access invokePrivilege="admin"/> + <mandatoryConform> + <orTerm> + <feature name="WI"/> + <feature name="TH"/> + </orTerm> + </mandatoryConform> + <field id="0" name="NetworkID" type="<<ref_DataTypeOctstr>>"> + <mandatoryConform/> + <constraint type="between" from="1" to="32"/> + </field> + <field id="1" name="NetworkIndex" type="uint8"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="2" name="Breadcrumb" type="uint64"> + <optionalConform/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/NetworkIdentityManagement.xml b/zcl-builtin/matter/new-data-model/NetworkIdentityManagement.xml new file mode 100644 index 0000000000000000000000000000000000000000..9a0442909c4006a539d0a87dea584d865efd6f8c --- /dev/null +++ b/zcl-builtin/matter/new-data-model/NetworkIdentityManagement.xml @@ -0,0 +1,148 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Network Identity Management" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="TODO" scope="Endpoint"/> + <dataTypes> + <number name="Client Table" type=""/> + <struct name="ClientStruct"> + <field id="0" name="ClientNumber" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="1" to="2047"/> + </field> + <field id="1" name="ClientIdentifier" type="octets"> + <mandatoryConform/> + <constraint type="maxLength" value="20"/> + </field> + <field id="2" name="Endorsements" type="list[EndorsementStruct Type]"> + <mandatoryConform/> + <constraint type="between" from="1" to="SupportedFabrics"/> + </field> + </struct> + <struct name="EndorsementStruct"> + <field id="0" name="NodeID" type="node-id" default="null"> + <access fabricSensitive="true"/> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="NetworkIdentifier" type="octets" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="maxLength" value="20"/> + </attribute> + <attribute id="0x0001" name="NetworkIdentity" type="octets" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="maxLength" value="140"/> + </attribute> + <attribute id="0x0002" name="Clients" type="list[ClientStruct Type]"> + <access read="true" readPrivilege="admin"/> + <mandatoryConform/> + <constraint type="max" value="ClientTableSize"/> + </attribute> + <attribute id="0x0003" name="ClientTableSize" type="uint16" default="500"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="500" to="2047"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="SetNetworkIdentity" response="Y"> + <access invokePrivilege="admin" timed="true"/> + <mandatoryConform/> + <field id="0" name="NetworkIdentity" type="octets"> + <mandatoryConform/> + <constraint type="maxLength" value="140"/> + </field> + <field id="1" name="PrivateKey" type="octets"> + <mandatoryConform/> + <constraint type="maxLength" value="32"/> + </field> + </command> + <command id="0x01" name="AddOrUpdateClient" response="Y"> + <access invokePrivilege="admin" timed="true"/> + <mandatoryConform/> + <field id="0" name="ClientIdentity" type="octets"> + <mandatoryConform/> + <constraint type="maxLength" value="140"/> + </field> + <field id="1" name="NodeID" type="node-id"> + <optionalConform/> + </field> + </command> + <command id="0x02" name="RemoveClient" response="Y"> + <access invokePrivilege="admin" timed="true"/> + <mandatoryConform/> + <field id="0" name="ClientNumber" type="uint16"> + <optionalConform choice="a"/> + </field> + <field id="1" name="ClientIdentifier" type="octets"> + <optionalConform choice="a"/> + <constraint type="maxLength" value="20"/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/OTASoftwareUpdate.xml b/zcl-builtin/matter/new-data-model/OTASoftwareUpdate.xml new file mode 100644 index 0000000000000000000000000000000000000000..ede56fffcfc20b040c045b8ea0d21ce836d22eef --- /dev/null +++ b/zcl-builtin/matter/new-data-model/OTASoftwareUpdate.xml @@ -0,0 +1,60 @@ +<?xml version="1.0"?> +<!-- +link:../matter-defines.adoc[] + +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Over-the-Air (OTA) Software Update" revision=""/> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/OccupancySensing.xml b/zcl-builtin/matter/new-data-model/OccupancySensing.xml new file mode 100644 index 0000000000000000000000000000000000000000..a13c5f492de0b412ad537cba6b4e24521181343f --- /dev/null +++ b/zcl-builtin/matter/new-data-model/OccupancySensing.xml @@ -0,0 +1,181 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0406" name="Occupancy Sensing" revision="3"> + <revisionHistory> + <revision revision="1" summary="Mandatory global ClusterRevision attribute added"/> + <revision revision="2" summary="Physical Contact Occupancy feature with mandatory OccupancySensorTypeBitmap"/> + <revision revision="3" summary="New data model format and notation"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="OCC" scope="Endpoint"/> + <dataTypes> + <enum name="OccupancySensorTypeEnum"> + <item value="0" name="PIR" summary="Indicates a passive infrared sensor."> + <mandatoryConform/> + </item> + <item value="1" name="Ultrasonic" summary="Indicates a ultrasonic sensor."> + <mandatoryConform/> + </item> + <item value="2" name="PIRAndUltrasonic" summary="Indicates a passive infrared and ultrasonic sensor."> + <mandatoryConform/> + </item> + <item value="3" name="PhysicalContact" summary="Indicates a physical contact sensor."> + <mandatoryConform/> + </item> + </enum> + <bitmap name="OccupancyBitmap"> + <bitfield name="Occupied" bit="0" summary="Indicates the sensed occupancy state"> + <mandatoryConform/> + </bitfield> + </bitmap> + <bitmap name="OccupancySensorTypeBitmap"> + <bitfield name="PIR" bit="0" summary="Indicates a passive infrared sensor."> + <mandatoryConform/> + </bitfield> + <bitfield name="Ultrasonic" bit="1" summary="Indicates a ultrasonic sensor."> + <mandatoryConform/> + </bitfield> + <bitfield name="PhysicalContact" bit="2" summary="Indicates a physical contact sensor."> + <mandatoryConform/> + </bitfield> + </bitmap> + </dataTypes> + <attributes> + <attribute id="0x0000" name="Occupancy" type="OccupancyBitmap"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform/> + <constraint type="between" from="0" to="1"/> + </attribute> + <attribute id="0x0001" name="OccupancySensorType" type="OccupancySensorTypeEnum" default="MS"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0002" name="OccupancySensorTypeBitmap" type="OccupancySensorTypeBitmap"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="between" from="0" to="7"/> + </attribute> + <attribute id="0x0010" name="PIROccupiedToUnoccupiedDelay" type="uint16" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform/> + </attribute> + <attribute id="0x0011" name="PIRUnoccupiedToOccupiedDelay" type="uint16" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <otherwiseConform> + <mandatoryConform> + <attribute name="PIRUnoccupiedToOccupiedThreshold"/> + </mandatoryConform> + <optionalConform/> + </otherwiseConform> + </attribute> + <attribute id="0x0012" name="PIRUnoccupiedToOccupiedThreshold" type="uint8" default="1"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <otherwiseConform> + <mandatoryConform> + <attribute name="PIRUnoccupiedToOccupiedDelay"/> + </mandatoryConform> + <optionalConform/> + </otherwiseConform> + <constraint type="between" from="1" to="254"/> + </attribute> + <attribute id="0x0020" name="UltrasonicOccupiedToUnoccupiedDelay" type="uint16" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform/> + </attribute> + <attribute id="0x0021" name="UltrasonicUnoccupiedToOccupiedDelay" type="uint16" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <otherwiseConform> + <mandatoryConform> + <attribute name="UltrasonicUnoccupiedToOccupiedThreshold"/> + </mandatoryConform> + <optionalConform/> + </otherwiseConform> + </attribute> + <attribute id="0x0022" name="UltrasonicUnoccupiedToOccupiedThreshold" type="uint8" default="1"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <otherwiseConform> + <mandatoryConform> + <attribute name="UltrasonicUnoccupiedToOccupiedDelay"/> + </mandatoryConform> + <optionalConform/> + </otherwiseConform> + <constraint type="between" from="1" to="254"/> + </attribute> + <attribute id="0x0030" name="PhysicalContactOccupiedToUnoccupiedDelay" type="uint16" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0031" name="PhysicalContactUnoccupiedToOccupiedDelay" type="uint16" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0032" name="PhysicalContactUnoccupiedToOccupiedThreshold" type="uint8" default="1"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <otherwiseConform> + <mandatoryConform> + <attribute name="PhysicalContactUnoccupiedToOccupiedDelay"/> + </mandatoryConform> + <optionalConform/> + </otherwiseConform> + <constraint type="between" from="1" to="254"/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/OnOff.xml b/zcl-builtin/matter/new-data-model/OnOff.xml new file mode 100644 index 0000000000000000000000000000000000000000..e37daee9964f2402b9768ca796041110a0f1c3e9 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/OnOff.xml @@ -0,0 +1,233 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021-2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0006" name="On/Off" revision="6"> + <revisionHistory> + <revision revision="1" summary="Global mandatory ClusterRevision attribute added; CCB 1555"/> + <revision revision="2" summary="ZLO 1.0: StartUpOnOff"/> + <revision revision="3" summary="FeatureMap global attribute support with Level Control and Lighting feature"/> + <revision revision="4" summary="New data model format and notation"/> + <revision revision="5" summary="Addition of Dead Front behavior and associated FeatureMap entry"/> + <revision revision="6" summary="Addition of OffOnly feature and associated FeatureMap entry"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="OO" scope="Endpoint"/> + <features> + <feature bit="0" code="LT" name="Lighting" summary="Behavior that supports lighting applications."> + <optionalConform> + <notTerm> + <feature name="OFFONLY"/> + </notTerm> + </optionalConform> + </feature> + <feature bit="1" code="DF" name="DeadFrontBehavior" summary="Device has DeadFrontBehavior Feature"> + <optionalConform> + <notTerm> + <feature name="OFFONLY"/> + </notTerm> + </optionalConform> + </feature> + <feature bit="2" code="OFFONLY" name="OffOnly" summary="Device supports the OffOnly Feature feature"> + <optionalConform> + <notTerm> + <orTerm> + <feature name="LT"/> + <feature name="DF"/> + </orTerm> + </notTerm> + </optionalConform> + </feature> + </features> + <dataTypes> + <enum name="DelayedAllOffEffectVariantEnum"> + <item value="0" name="DelayedOffFastFade" summary="Fade to off in 0.8 seconds"> + <mandatoryConform/> + </item> + <item value="1" name="NoFade" summary="No fade"> + <mandatoryConform/> + </item> + <item value="2" name="DelayedOffSlowFade" summary="50% dim down in 0.8 seconds then fade to off in 12 seconds"> + <mandatoryConform/> + </item> + </enum> + <enum name="DyingLightEffectVariantEnum"> + <item value="0" name="DyingLightFadeOff" summary="20% dim up in 0.5s then fade to off in 1 second"> + <mandatoryConform/> + </item> + </enum> + <enum name="EffectIdentifierEnum"> + <item value="0" name="DelayedAllOff" summary="Delayed All Off"> + <mandatoryConform/> + </item> + <item value="1" name="DyingLight" summary="Dying Light"> + <mandatoryConform/> + </item> + </enum> + <enum name="StartUpOnOffEnum"> + <item value="0" name="Off" summary="Set the OnOff attribute to FALSE"> + <mandatoryConform/> + </item> + <item value="1" name="On" summary="Set the OnOff attribute to TRUE"> + <mandatoryConform/> + </item> + <item value="2" name="Toggle" summary="If the previous value of the OnOff attribute is + equal to FALSE, set the OnOff attribute to TRUE. + If the previous value of the OnOff attribute is + equal to TRUE, set the OnOff attribute to FALSE + (toggle)."> + <mandatoryConform/> + </item> + </enum> + <bitmap name="OnOffControlBitmap"> + <bitfield name="AcceptOnlyWhenOn" bit="0" summary="Indicates a command is only accepted when in On state."> + <mandatoryConform/> + </bitfield> + </bitmap> + </dataTypes> + <attributes> + <attribute id="0x0000" name="OnOff" type="bool" default="FALSE"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="true" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x4000" name="GlobalSceneControl" type="bool" default="TRUE"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="LT"/> + </mandatoryConform> + </attribute> + <attribute id="0x4001" name="OnTime" type="uint16" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <mandatoryConform> + <feature name="LT"/> + </mandatoryConform> + </attribute> + <attribute id="0x4002" name="OffWaitTime" type="uint16" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <mandatoryConform> + <feature name="LT"/> + </mandatoryConform> + </attribute> + <attribute id="0x4003" name="StartUpOnOff" type="StartUpOnOffEnum" default="MS"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="LT"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="Off" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + </command> + <command id="0x01" name="On" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <notTerm> + <feature name="OFFONLY"/> + </notTerm> + </mandatoryConform> + </command> + <command id="0x02" name="Toggle" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <notTerm> + <feature name="OFFONLY"/> + </notTerm> + </mandatoryConform> + </command> + <command id="0x40" name="OffWithEffect" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="LT"/> + </mandatoryConform> + <field id="0" name="EffectIdentifier" type="EffectIdentifierEnum"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="EffectVariant" type="enum8" default="0"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x41" name="OnWithRecallGlobalScene" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="LT"/> + </mandatoryConform> + </command> + <command id="0x42" name="OnWithTimedOff" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="LT"/> + </mandatoryConform> + <field id="0" name="OnOffControl" type="OnOffControlBitmap"> + <mandatoryConform/> + <constraint type="between" from="0" to="1"/> + </field> + <field id="1" name="OnTime" type="uint16"> + <mandatoryConform/> + <constraint type="max" value="0xFFFE"/> + </field> + <field id="2" name="OffWaitTime" type="uint16"> + <mandatoryConform/> + <constraint type="max" value="0xFFFE"/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/OperationalCredentialCluster.xml b/zcl-builtin/matter/new-data-model/OperationalCredentialCluster.xml new file mode 100644 index 0000000000000000000000000000000000000000..fda594a380d1f1c3afccea3e922f4170b26d3ecf --- /dev/null +++ b/zcl-builtin/matter/new-data-model/OperationalCredentialCluster.xml @@ -0,0 +1,320 @@ +<?xml version="1.0"?> +<!-- +link:../matter-defines.adoc[] + +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x003e" name="Operational Credentials" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="OPCREDS" scope="Node"/> + <dataTypes> + <number name="Attestation Elements" type=""/> + <number name="Attestation Information" type=""/> + <number name="NOCSR Elements" type=""/> + <number name="NOCSR Information" type=""/> + <number name="RESP_MAX Constant" type=""/> + <enum name="CertificateChainTypeEnum"> + <item value="1" name="DACCertificate" summary="Request the DER-encoded DAC certificate"> + <mandatoryConform/> + </item> + <item value="2" name="PAICertificate" summary="Request the DER-encoded PAI certificate"> + <mandatoryConform/> + </item> + </enum> + <enum name="NodeOperationalCertStatusEnum"> + <item value="0" name="OK" summary="OK, no error"> + <mandatoryConform/> + </item> + <item value="1" name="InvalidPublicKey" summary="[[ref_InvalidPublicKey]] Public Key in the NOC does not match the public key in the NOCSR"> + <mandatoryConform/> + </item> + <item value="2" name="InvalidNodeOpId" summary="[[ref_InvalidOperationalId]] The Node Operational ID in the NOC is not formatted correctly."> + <mandatoryConform/> + </item> + <item value="3" name="InvalidNOC" summary="[[ref_InvalidNoc]] Any other validation error in NOC chain"> + <mandatoryConform/> + </item> + <item value="4" name="MissingCsr" summary="[[ref_MissingCsr]] No record of prior CSR for which this NOC could match"> + <mandatoryConform/> + </item> + <item value="5" name="TableFull" summary="[[ref_TableFull]] NOCs table full, cannot add another one"> + <mandatoryConform/> + </item> + <item value="6" name="InvalidAdminSubject" summary="[[ref_InvalidAdminSubject]] Invalid CaseAdminSubject field for an AddNOC command."> + <mandatoryConform/> + </item> + <item value="7" summary="Reserved for future use"> + <mandatoryConform/> + </item> + <item value="8" summary="Reserved for future use"> + <mandatoryConform/> + </item> + <item value="9" name="FabricConflict" summary="[[ref_FabricConflict]] Trying to AddNOC instead of UpdateNOC against an existing Fabric."> + <mandatoryConform/> + </item> + <item value="10" name="LabelConflict" summary="[[ref_LabelConflict]] Label already exists on another Fabric."> + <mandatoryConform/> + </item> + <item value="11" name="InvalidFabricIndex" summary="[[ref_InvalidFabricIndex]] FabricIndex argument is invalid."> + <mandatoryConform/> + </item> + </enum> + <struct name="FabricDescriptorStruct"> + <field id="1" name="RootPublicKey" type="<<ref_DataTypeOctstr>>"> + <mandatoryConform/> + <constraint type="allowed" value="65"/> + </field> + <field id="2" name="VendorID" type="<<ref_DataTypeVendorId>>"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="3" name="FabricID" type="fabric-id"> + <mandatoryConform/> + </field> + <field id="4" name="NodeID" type="node-id"> + <mandatoryConform/> + </field> + <field id="5" name="Label" type="string" default="""> + <mandatoryConform/> + <constraint type="maxLength" value="32"/> + </field> + </struct> + <struct name="NOCStruct"> + <field id="1" name="NOC" type="<<ref_DataTypeOctstr>>"> + <access fabricSensitive="true"/> + <mandatoryConform/> + <constraint type="max" value="400"/> + </field> + <field id="2" name="ICAC" type="<<ref_DataTypeOctstr>>"> + <access fabricSensitive="true"/> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="max" value="400"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="NOCs" type="<<ref_DataTypeList>>[NOCStruct Type]"> + <access read="true" readPrivilege="admin"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="max" value="SupportedFabrics"/> + </attribute> + <attribute id="0x0001" name="Fabrics" type="<<ref_DataTypeList>>[FabricDescriptorStruct Type]"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="max" value="SupportedFabrics"/> + </attribute> + <attribute id="0x0002" name="SupportedFabrics" type="uint8"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="5" to="254"/> + </attribute> + <attribute id="0x0003" name="CommissionedFabrics" type="uint8"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="max" value="SupportedFabrics"/> + </attribute> + <attribute id="0x0004" name="TrustedRootCertificates" type="<<ref_DataTypeList>>[<<ref_DataTypeOctstr>>]"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0005" name="CurrentFabricIndex" type="uint8" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="AttestationRequest" response="AttestationResponse"> + <access invokePrivilege="admin"/> + <mandatoryConform/> + <field id="0" name="AttestationNonce" type="octets"> + <mandatoryConform/> + <constraint type="maxLength" value="32"/> + </field> + </command> + <command id="0x01" name="AttestationResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="AttestationElements" type="octets"> + <mandatoryConform/> + <constraint type="maxLength" value="RESP_MAX"/> + </field> + <field id="1" name="AttestationSignature" type="octets"> + <mandatoryConform/> + <constraint type="maxLength" value="64"/> + </field> + </command> + <command id="0x02" name="CertificateChainRequest" response="CertificateChainResponse"> + <access invokePrivilege="admin"/> + <mandatoryConform/> + <field id="0" name="CertificateType" type="CertificateChainTypeEnum"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x03" name="CertificateChainResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Certificate" type="octets"> + <mandatoryConform/> + <constraint type="maxLength" value="600"/> + </field> + </command> + <command id="0x04" name="CSRRequest" response="CSRResponse"> + <access invokePrivilege="admin"/> + <mandatoryConform/> + <field id="0" name="CSRNonce" type="octets"> + <mandatoryConform/> + <constraint type="maxLength" value="32"/> + </field> + <field id="1" name="IsForUpdateNOC" type="bool" default="false"> + <optionalConform/> + </field> + </command> + <command id="0x05" name="CSRResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="NOCSRElements" type="octets"> + <mandatoryConform/> + <constraint type="maxLength" value="RESP_MAX"/> + </field> + <field id="1" name="AttestationSignature" type="octets"> + <mandatoryConform/> + <constraint type="maxLength" value="64"/> + </field> + </command> + <command id="0x06" name="AddNOC" response="NOCResponse"> + <access invokePrivilege="admin"/> + <mandatoryConform/> + <field id="0" name="NOCValue" type="<<ref_DataTypeOctstr>>"> + <mandatoryConform/> + <constraint type="max" value="400"/> + </field> + <field id="1" name="ICACValue" type="<<ref_DataTypeOctstr>>"> + <optionalConform/> + <constraint type="max" value="400"/> + </field> + <field id="2" name="IPKValue" type="<<ref_DataTypeOctstr>>"> + <mandatoryConform/> + <constraint type="allowed" value="16"/> + </field> + <field id="3" name="CaseAdminSubject" type="<<SubjectID>>"> + <mandatoryConform/> + </field> + <field id="4" name="AdminVendorId" type="<<ref_DataTypeVendorId>>"> + <mandatoryConform/> + </field> + </command> + <command id="0x07" name="UpdateNOC" response="NOCResponse"> + <access invokePrivilege="admin" fabricScoped="true"/> + <mandatoryConform/> + <field id="0" name="NOCValue" type="octets"> + <mandatoryConform/> + <constraint type="maxLength" value="400"/> + </field> + <field id="1" name="ICACValue" type="octets"> + <optionalConform/> + <constraint type="maxLength" value="400"/> + </field> + </command> + <command id="0x08" name="NOCResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="StatusCode" type="NodeOperationalCertStatusEnum"> + <mandatoryConform/> + </field> + <field id="1" name="FabricIndex" type="fabric-idx"> + <optionalConform/> + <constraint type="between" from="1" to="254"/> + </field> + <field id="2" name="DebugText" type="string"> + <optionalConform/> + <constraint type="maxLength" value="128"/> + </field> + </command> + <command id="0x09" name="UpdateFabricLabel" response="NOCResponse"> + <access invokePrivilege="admin" fabricScoped="true"/> + <mandatoryConform/> + <field id="0" name="Label" type="string"> + <mandatoryConform/> + <constraint type="maxLength" value="32"/> + </field> + </command> + <command id="0x0a" name="RemoveFabric" response="NOCResponse"> + <access invokePrivilege="admin"/> + <mandatoryConform/> + <field id="0" name="FabricIndex" type="fabric-idx"> + <mandatoryConform/> + <constraint type="between" from="1" to="254"/> + </field> + </command> + <command id="0x0b" name="AddTrustedRootCertificate" response="Y"> + <access invokePrivilege="admin"/> + <mandatoryConform/> + <field id="0" name="RootCACertificate" type="<<ref_DataTypeOctstr>>"> + <mandatoryConform/> + <constraint type="max" value="400"/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/OperationalState.xml b/zcl-builtin/matter/new-data-model/OperationalState.xml new file mode 100644 index 0000000000000000000000000000000000000000..8bd11b98629864d76802baa756506ce87f2c1148 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/OperationalState.xml @@ -0,0 +1,223 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance + +508 Second Street, Suite 206 + +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0060" name="Operational State" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="OPSTATE" scope="Endpoint"/> + <dataTypes> + <enum name="OperationalStateEnum"> + <item from="0x00" to="0x3F" name="GeneralStates" summary="Generally applicable values for state, defined herein"> + <mandatoryConform/> + </item> + <item from="0x40" to="0x7F" name="DerivedClusterStates" summary="Derived Cluster defined states"> + <mandatoryConform/> + </item> + <item from="0x80" to="0xBF" name="ManufacturerStates" summary="Vendor specific states"> + <mandatoryConform/> + </item> + </enum> + <struct name="ErrorStateStruct"> + <field id="0" name="ErrorStateID" type="enum8" default="0"> + <enum> + <item from="0x00" to="0x3F" name="GeneralErrors" summary="Generally applicable values for error, defined herein"> + <mandatoryConform/> + </item> + <item from="0x40" to="0x7F" name="DerivedClusterErrors" summary="Derived Cluster defined errors"> + <mandatoryConform/> + </item> + <item from="0x80" to="0xBF" name="ManufacturerError" summary="Vendor specific errors"> + <mandatoryConform/> + </item> + </enum> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + <field id="1" name="ErrorStateLabel" type="string" default="empty"> + <access read="true" write="true"/> + <constraint type="maxLength" value="64"/> + </field> + <field id="2" name="ErrorStateDetails" type="string" default="empty"> + <access read="true" write="true"/> + <optionalConform/> + <constraint type="maxLength" value="64"/> + </field> + </struct> + <struct name="OperationalStateStruct"> + <field id="0" name="OperationalStateID" type="OperationalStateEnum" default="0"> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + <field id="1" name="OperationalStateLabel" type="string"> + <access read="true" write="true"/> + <constraint type="maxLength" value="64"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="PhaseList" type="list" default="MS"> + <entry type="string"> + <constraint type="maxLength" value="64"/> + </entry> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="maxCount" value="32"/> + </attribute> + <attribute id="0x0001" name="CurrentPhase" type="uint8" default="MS"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0002" name="CountdownTime" type="elapsed-s" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + <constraint type="max" value="259200"/> + </attribute> + <attribute id="0x0003" name="OperationalStateList" type="list[OperationalStateStruct Type]" default="MS"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0004" name="OperationalState" type="OperationalStateEnum"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0005" name="OperationalError" type="ErrorStateStruct"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="Pause" response="OperationalCommandResponse"> + <access invokePrivilege="operate"/> + <otherwiseConform> + <mandatoryConform> + <attribute name="Resume"/> + </mandatoryConform> + <optionalConform/> + </otherwiseConform> + <field id="0" name="CommandResponseState" type="ErrorStateStruct"> + <mandatoryConform/> + </field> + </command> + <command id="0x01" name="Stop" response="OperationalCommandResponse"> + <access invokePrivilege="operate"/> + <otherwiseConform> + <mandatoryConform> + <attribute name="Start"/> + </mandatoryConform> + <optionalConform/> + </otherwiseConform> + </command> + <command id="0x02" name="Start" response="OperationalCommandResponse"> + <access invokePrivilege="operate"/> + <optionalConform/> + </command> + <command id="0x03" name="Resume" response="OperationalCommandResponse"> + <access invokePrivilege="operate"/> + <otherwiseConform> + <mandatoryConform> + <attribute name="Pause"/> + </mandatoryConform> + <optionalConform/> + </otherwiseConform> + </command> + <command id="0x04" name="OperationalCommandResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <orTerm> + <attribute name="Pause"/> + <attribute name="Stop"/> + <attribute name="Start"/> + <attribute name="Resume"/> + </orTerm> + </mandatoryConform> + <field id="0" name="CommandResponseState" type="ErrorStateStruct"> + <mandatoryConform/> + </field> + </command> + </commands> + <events> + <event id="0x00" name="OperationalError" priority="critical"> + <access readPrivilege="view"/> + <mandatoryConform/> + <field id="0" name="ErrorState" type="ErrorStateStruct"> + <mandatoryConform/> + </field> + </event> + <event id="0x01" name="OperationCompletion" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + <field id="0" name="CompletionErrorCode" type="enum8"> + <mandatoryConform/> + </field> + <field id="1" name="TotalOperationalTime" type="elapsed-s"> + <quality nullable="true"/> + <optionalConform/> + </field> + <field id="2" name="PausedTime" type="elapsed-s"> + <quality nullable="true"/> + <optionalConform/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/OperationalState_Oven.xml b/zcl-builtin/matter/new-data-model/OperationalState_Oven.xml new file mode 100644 index 0000000000000000000000000000000000000000..e876757887a3196624f9885839d650ff5a15c3ee --- /dev/null +++ b/zcl-builtin/matter/new-data-model/OperationalState_Oven.xml @@ -0,0 +1,82 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance + +508 Second Street, Suite 206 + +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0048" name="Oven Cavity Operational State" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial release"/> + </revisionHistory> + <classification hierarchy="derived" baseCluster="Operational State" role="application" picsCode="OVENOPSTATE" scope="Endpoint"/> + <dataTypes> + <enum name="OperationalStateEnum"> + <item value="1" name="Running" summary="The device is operating"> + <disallowConform/> + </item> + <item value="64" name="Preheating" summary="The device is preheating the cavity"> + <mandatoryConform/> + </item> + <item value="65" name="Preheated" summary="The device is finished preheating the cavity"> + <mandatoryConform/> + </item> + <item value="66" name="CoolingDown" summary="The device is finished running and is cooling down"> + <mandatoryConform/> + </item> + <item value="67" name="SelfCleaning" summary="The device is self-cleaning and the cavity cannot be opened"> + <mandatoryConform/> + </item> + </enum> + </dataTypes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/OperationalState_RVC.xml b/zcl-builtin/matter/new-data-model/OperationalState_RVC.xml new file mode 100644 index 0000000000000000000000000000000000000000..c689156831d6f2cad21451103180a73464c7da5c --- /dev/null +++ b/zcl-builtin/matter/new-data-model/OperationalState_RVC.xml @@ -0,0 +1,102 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance + +508 Second Street, Suite 206 + +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0061" name="RVC Operational State" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial release"/> + </revisionHistory> + <classification hierarchy="derived" baseCluster="Operational State" role="application" picsCode="RVCOPSTATE" scope="Endpoint"/> + <dataTypes> + <enum name="ErrorStateEnum"> + <item value="64" name="FailedToFindChargingDock" summary="The device has failed to find or reach the charging dock"> + <mandatoryConform/> + </item> + <item value="65" name="Stuck" summary="The device is stuck and requires manual intervention"> + <mandatoryConform/> + </item> + <item value="66" name="DustBinMissing" summary="The device has detected that its dust bin is missing"> + <mandatoryConform/> + </item> + <item value="67" name="DustBinFull" summary="The device has detected that its dust bin is full"> + <mandatoryConform/> + </item> + <item value="68" name="WaterTankEmpty" summary="The device has detected that its water tank is empty"> + <mandatoryConform/> + </item> + <item value="69" name="WaterTankMissing" summary="The device has detected that its water tank is missing"> + <mandatoryConform/> + </item> + <item value="70" name="WaterTankLidOpen" summary="The device has detected that its water tank lid is open"> + <mandatoryConform/> + </item> + <item value="71" name="MopCleaningPadMissing" summary="The device has detected that its cleaning pad is missing"> + <mandatoryConform/> + </item> + </enum> + <enum name="OperationalStateEnum"> + <item value="64" name="SeekingCharger" summary="The device is en route to the charging dock"> + <mandatoryConform/> + </item> + <item value="65" name="Charging" summary="The device is charging"> + <mandatoryConform/> + </item> + <item value="66" name="Docked" summary="The device is on the dock, not charging"> + <mandatoryConform/> + </item> + </enum> + </dataTypes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/PowerSourceCluster.xml b/zcl-builtin/matter/new-data-model/PowerSourceCluster.xml new file mode 100644 index 0000000000000000000000000000000000000000..9b5e0def9413edad9c25c22f19c61a1ec1d73a09 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/PowerSourceCluster.xml @@ -0,0 +1,1064 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x002f" name="Power Source" revision="2"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + <revision revision="2" summary="Added EndpointList attribute that maps a power source to a list of endpoints"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="PS" scope="Node"/> + <features> + <feature bit="0" code="WIRED" name="Wired" summary="A wired power source"> + <optionalConform/> + </feature> + <feature bit="1" code="BAT" name="Battery" summary="A battery power source"> + <optionalConform/> + </feature> + <feature bit="2" code="RECHG" name="Rechargeable" summary="A rechargeable battery power source"> + <mandatoryConform> + <feature name="BAT"/> + </mandatoryConform> + </feature> + <feature bit="3" code="REPLC" name="Replaceable" summary="A replaceable battery power source"> + <mandatoryConform> + <feature name="BAT"/> + </mandatoryConform> + </feature> + <feature bit="4" code="CHGM" name="ChargeManagement" summary="A battery with charging management"> + <mandatoryConform> + <feature name="BAT"/> + </mandatoryConform> + </feature> + <feature bit="5" code="DCHGM" name="DischargeManagement" summary="A battery with discharging management"> + <mandatoryConform> + <feature name="BAT"/> + </mandatoryConform> + </feature> + </features> + <dataTypes> + <enum name="BatApprovedChemistryEnum"> + <item value="0" name="Unspecified" summary="Cell chemistry is unspecified or unknown"> + <mandatoryConform/> + </item> + <item value="1" name="Alkaline" summary="Cell chemistry is alkaline"> + <mandatoryConform/> + </item> + <item value="2" name="LithiumCarbonFluoride" summary="Cell chemistry is lithium carbon fluoride"> + <mandatoryConform/> + </item> + <item value="3" name="LithiumChromiumOxide" summary="Cell chemistry is lithium chromium oxide"> + <mandatoryConform/> + </item> + <item value="4" name="LithiumCopperOxide" summary="Cell chemistry is lithium copper oxide"> + <mandatoryConform/> + </item> + <item value="5" name="LithiumIronDisulfide" summary="Cell chemistry is lithium iron disulfide"> + <mandatoryConform/> + </item> + <item value="6" name="LithiumManganeseDioxide" summary="Cell chemistry is lithium manganese dioxide"> + <mandatoryConform/> + </item> + <item value="7" name="LithiumThionylChloride" summary="Cell chemistry is lithium thionyl chloride"> + <mandatoryConform/> + </item> + <item value="8" name="Magnesium" summary="Cell chemistry is magnesium"> + <mandatoryConform/> + </item> + <item value="9" name="MercuryOxide" summary="Cell chemistry is mercury oxide"> + <mandatoryConform/> + </item> + <item value="10" name="NickelOxyhydride" summary="Cell chemistry is nickel oxyhydride"> + <mandatoryConform/> + </item> + <item value="11" name="SilverOxide" summary="Cell chemistry is silver oxide"> + <mandatoryConform/> + </item> + <item value="12" name="ZincAir" summary="Cell chemistry is zinc air"> + <mandatoryConform/> + </item> + <item value="13" name="ZincCarbon" summary="Cell chemistry is zinc carbon"> + <mandatoryConform/> + </item> + <item value="14" name="ZincChloride" summary="Cell chemistry is zinc chloride"> + <mandatoryConform/> + </item> + <item value="15" name="ZincManganeseDioxide" summary="Cell chemistry is zinc manganese dioxide"> + <mandatoryConform/> + </item> + <item value="16" name="LeadAcid" summary="Cell chemistry is lead acid"> + <mandatoryConform/> + </item> + <item value="17" name="LithiumCobaltOxide" summary="Cell chemistry is lithium cobalt oxide"> + <mandatoryConform/> + </item> + <item value="18" name="LithiumIon" summary="Cell chemistry is lithium ion"> + <mandatoryConform/> + </item> + <item value="19" name="LithiumIonPolymer" summary="Cell chemistry is lithium ion polymer"> + <mandatoryConform/> + </item> + <item value="20" name="LithiumIronPhosphate" summary="Cell chemistry is lithium iron phosphate"> + <mandatoryConform/> + </item> + <item value="21" name="LithiumSulfur" summary="Cell chemistry is lithium sulfur"> + <mandatoryConform/> + </item> + <item value="22" name="LithiumTitanate" summary="Cell chemistry is lithium titanate"> + <mandatoryConform/> + </item> + <item value="23" name="NickelCadmium" summary="Cell chemistry is nickel cadmium"> + <mandatoryConform/> + </item> + <item value="24" name="NickelHydrogen" summary="Cell chemistry is nickel hydrogen"> + <mandatoryConform/> + </item> + <item value="25" name="NickelIron" summary="Cell chemistry is nickel iron"> + <mandatoryConform/> + </item> + <item value="26" name="NickelMetalHydride" summary="Cell chemistry is nickel metal hydride"> + <mandatoryConform/> + </item> + <item value="27" name="NickelZinc" summary="Cell chemistry is nickel zinc"> + <mandatoryConform/> + </item> + <item value="28" name="SilverZinc" summary="Cell chemistry is silver zinc"> + <mandatoryConform/> + </item> + <item value="29" name="SodiumIon" summary="Cell chemistry is sodium ion"> + <mandatoryConform/> + </item> + <item value="30" name="SodiumSulfur" summary="Cell chemistry is sodium sulfur"> + <mandatoryConform/> + </item> + <item value="31" name="ZincBromide" summary="Cell chemistry is zinc bromide"> + <mandatoryConform/> + </item> + <item value="32" name="ZincCerium" summary="Cell chemistry is zinc cerium"> + <mandatoryConform/> + </item> + </enum> + <enum name="BatChargeFaultEnum"> + <item value="0" name="Unspecified" summary="The Node detects an unspecified fault on this battery source."> + <mandatoryConform/> + </item> + <item value="1" name="AmbientTooHot" summary="The Node detects the ambient temperature is above the nominal range for this battery source."> + <mandatoryConform/> + </item> + <item value="2" name="AmbientTooCold" summary="The Node detects the ambient temperature is below the nominal range for this battery source."> + <mandatoryConform/> + </item> + <item value="3" name="BatteryTooHot" summary="The Node detects the temperature of this battery source is above the nominal range."> + <mandatoryConform/> + </item> + <item value="4" name="BatteryTooCold" summary="The Node detects the temperature of this battery source is below the nominal range."> + <mandatoryConform/> + </item> + <item value="5" name="BatteryAbsent" summary="The Node detects this battery source is not present."> + <mandatoryConform/> + </item> + <item value="6" name="BatteryOverVoltage" summary="The Node detects this battery source is over voltage."> + <mandatoryConform/> + </item> + <item value="7" name="BatteryUnderVoltage" summary="The Node detects this battery source is under voltage."> + <mandatoryConform/> + </item> + <item value="8" name="ChargerOverVoltage" summary="The Node detects the charger for this battery source is over voltage."> + <mandatoryConform/> + </item> + <item value="9" name="ChargerUnderVoltage" summary="The Node detects the charger for this battery source is under voltage."> + <mandatoryConform/> + </item> + <item value="10" name="SafetyTimeout" summary="The Node detects a charging safety timeout for this battery source."> + <mandatoryConform/> + </item> + <item value="11" name="ChargerOverCurrent" summary="The Node detects the charger for this battery source is over current."> + <mandatoryConform/> + </item> + <item value="12" name="UnexpectedVoltage" summary="The Node detects a voltage when it expected none."> + <mandatoryConform/> + </item> + <item value="13" name="ExpectedVoltage" summary="The Node detects no voltage when it expected one."> + <mandatoryConform/> + </item> + <item value="14" name="GroundFault" summary="The Node detects an unbalanced current supply."> + <mandatoryConform/> + </item> + <item value="15" name="ChargeSignalFailure" summary="The Node detects a failure in the signal to control charging."> + <mandatoryConform/> + </item> + <item value="16" name="SafetyTimeout" summary="The Node detects a charging safety timeout for this battery source."> + <mandatoryConform/> + </item> + </enum> + <enum name="BatChargeLevelEnum"> + <item value="0" name="OK" summary="Charge level is nominal"> + <mandatoryConform/> + </item> + <item value="1" name="Warning" summary="Charge level is low, intervention may soon be required."> + <mandatoryConform/> + </item> + <item value="2" name="Critical" summary="Charge level is critical, immediate intervention is required"> + <mandatoryConform/> + </item> + </enum> + <enum name="BatChargePermissionsEnum"> + <item value="0" name="Disabled" summary="The battery is not currently allowed to charge or discharge"> + <mandatoryConform/> + </item> + <item value="1" name="ChargingEnabled" summary="The battery is currently allowed to charge"> + <mandatoryConform/> + </item> + <item value="2" name="DischargingEnabled" summary="The battery is currently allowed to discharge"> + <mandatoryConform/> + </item> + <item value="3" name="DisabledError" summary="The battery is not currently allowed to charge or discharge due to an error."> + <mandatoryConform/> + </item> + <item value="4" name="DisabledDiagnostics" summary="The battery is not currently allowed to charge or discharge due to Diagnostics Mode."> + <mandatoryConform/> + </item> + </enum> + <enum name="BatChargeStateEnum"> + <item value="0" name="Unknown" summary="Unable to determine the charging state"> + <mandatoryConform/> + </item> + <item value="1" name="IsCharging" summary="The battery is charging"> + <mandatoryConform/> + </item> + <item value="2" name="IsAtFullCharge" summary="The battery is at full charge"> + <mandatoryConform/> + </item> + <item value="3" name="IsNotCharging" summary="The battery is not charging"> + <mandatoryConform/> + </item> + <item value="4" name="IsDischarging" summary="The battery is discharging"> + <mandatoryConform/> + </item> + <item value="5" name="IsTransitioning" summary="The battery is transitioning from one charging state to another"> + <mandatoryConform/> + </item> + </enum> + <enum name="BatCommonDesignationEnum"> + <item value="0" name="Unspecified" summary="Common type is unknown or unspecified"> + <mandatoryConform/> + </item> + <item value="1" name="AAA" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="2" name="AA" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="3" name="C" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="4" name="D" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="5" name="4v5" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="6" name="6v0" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="7" name="9v0" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="8" name="1_2AA" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="9" name="AAAA" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="10" name="A" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="11" name="B" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="12" name="F" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="13" name="N" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="14" name="No6" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="15" name="SubC" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="16" name="A23" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="17" name="A27" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="18" name="BA5800" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="19" name="Duplex" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="20" name="4SR44" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="21" name="523" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="22" name="531" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="23" name="15v0" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="24" name="22v5" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="25" name="30v0" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="26" name="45v0" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="27" name="67v5" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="28" name="J" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="29" name="CR123A" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="30" name="CR2" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="31" name="2CR5" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="32" name="CR_P2" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="33" name="CR_V3" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="34" name="SR41" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="35" name="SR43" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="36" name="SR44" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="37" name="SR45" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="38" name="SR48" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="39" name="SR54" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="40" name="SR55" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="41" name="SR57" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="42" name="SR58" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="43" name="SR59" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="44" name="SR60" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="45" name="SR63" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="46" name="SR64" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="47" name="SR65" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="48" name="SR66" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="49" name="SR67" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="50" name="SR68" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="51" name="SR69" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="52" name="SR516" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="53" name="SR731" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="54" name="SR712" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="55" name="LR932" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="56" name="A5" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="57" name="A10" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="58" name="A13" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="59" name="A312" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="60" name="A675" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="61" name="AC41E" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="62" name="10180" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="63" name="10280" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="64" name="10440" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="65" name="14250" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="66" name="14430" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="67" name="14500" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="68" name="14650" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="69" name="15270" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="70" name="16340" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="71" name="RCR123A" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="72" name="17500" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="73" name="17670" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="74" name="18350" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="75" name="18500" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="76" name="18650" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="77" name="19670" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="78" name="25500" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="79" name="26650" summary="Common type is as specified"> + <mandatoryConform/> + </item> + <item value="80" name="32600" summary="Common type is as specified"> + <mandatoryConform/> + </item> + </enum> + <enum name="BatEnergyTransferStopReasonEnum"> + <item value="0" name="BatteryStopped" summary="The battery stopped the energy transfer"> + <mandatoryConform/> + </item> + <item value="1" name="PowerSourceStopped" summary="The power source stopped the energy transfer"> + <mandatoryConform/> + </item> + <item value="255" name="Other" summary="The energy transfer stopped for some unknown reason"> + <mandatoryConform/> + </item> + </enum> + <enum name="BatFaultEnum"> + <item value="0" name="Unspecified" summary="The Node detects an unspecified fault on this battery power source."> + <mandatoryConform/> + </item> + <item value="1" name="OverTemp" summary="The Node detects the temperature of this battery power source is above ideal operating conditions."> + <mandatoryConform/> + </item> + <item value="2" name="UnderTemp" summary="The Node detects the temperature of this battery power source is below ideal operating conditions."> + <mandatoryConform/> + </item> + </enum> + <enum name="BatReplaceabilityEnum"> + <item value="0" name="Unspecified" summary="The replaceability is unspecified or unknown."> + <mandatoryConform/> + </item> + <item value="1" name="NotReplaceable" summary="The battery is not replaceable."> + <mandatoryConform/> + </item> + <item value="2" name="UserReplaceable" summary="The battery is replaceable by the user or customer."> + <mandatoryConform/> + </item> + <item value="3" name="FactoryReplaceable" summary="The battery is replaceable by an authorized factory technician."> + <mandatoryConform/> + </item> + </enum> + <enum name="PowerSourceStatusEnum"> + <item value="0" name="Unspecified" summary="Indicate the source status is not specified"> + <mandatoryConform/> + </item> + <item value="1" name="Active" summary="Indicate the source is available and currently supplying power"> + <mandatoryConform/> + </item> + <item value="2" name="Standby" summary="Indicate the source is available, but is not currently supplying power"> + <mandatoryConform/> + </item> + <item value="3" name="Unavailable" summary="Indicate the source is not currently available to supply power"> + <mandatoryConform/> + </item> + </enum> + <enum name="WiredCurrentTypeEnum"> + <item value="0" name="AC" summary="Indicates AC current"> + <mandatoryConform/> + </item> + <item value="1" name="DC" summary="Indicates DC current"> + <mandatoryConform/> + </item> + </enum> + <enum name="WiredFaultEnum"> + <item value="0" name="Unspecified" summary="The Node detects an unspecified fault on this wired power source."> + <mandatoryConform/> + </item> + <item value="1" name="OverVoltage" summary="The Node detects the supplied voltage is above maximum supported value for this wired power source."> + <mandatoryConform/> + </item> + <item value="2" name="UnderVoltage" summary="The Node detects the supplied voltage is below maximum supported value for this wired power source."> + <mandatoryConform/> + </item> + </enum> + </dataTypes> + <attributes> + <attribute id="0x0000" name="Status" type="PowerSourceStatusEnum"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0001" name="Order" type="uint8"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0002" name="Description" type="string"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="maxLength" value="60"/> + </attribute> + <attribute id="0x0003" name="WiredAssessedInputVoltage" type="uint32"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="WIRED"/> + </optionalConform> + </attribute> + <attribute id="0x0004" name="WiredAssessedInputFrequency" type="uint16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="WIRED"/> + </optionalConform> + </attribute> + <attribute id="0x0005" name="WiredCurrentType" type="WiredCurrentTypeEnum"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="WIRED"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0006" name="WiredAssessedCurrent" type="uint32"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="WIRED"/> + </optionalConform> + </attribute> + <attribute id="0x0007" name="WiredNominalVoltage" type="uint32"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform> + <feature name="WIRED"/> + </optionalConform> + </attribute> + <attribute id="0x0008" name="WiredMaximumCurrent" type="uint32"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform> + <feature name="WIRED"/> + </optionalConform> + </attribute> + <attribute id="0x0009" name="WiredPresent" type="bool"> + <access read="true" readPrivilege="view"/> + <optionalConform> + <feature name="WIRED"/> + </optionalConform> + </attribute> + <attribute id="0x000a" name="ActiveWiredFaults" type="list[WiredFaultEnum Type]"> + <access read="true" readPrivilege="view"/> + <optionalConform> + <feature name="WIRED"/> + </optionalConform> + </attribute> + <attribute id="0x000b" name="BatVoltage" type="uint32"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="BAT"/> + </optionalConform> + </attribute> + <attribute id="0x000c" name="BatPercentRemaining" type="uint8"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="BAT"/> + </optionalConform> + <constraint type="between" from="0" to="200"/> + </attribute> + <attribute id="0x000d" name="BatTimeRemaining" type="uint32"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="BAT"/> + </optionalConform> + </attribute> + <attribute id="0x000e" name="BatChargeLevel" type="BatChargeLevelEnum"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="BAT"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x000f" name="BatReplacementNeeded" type="bool"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="BAT"/> + </mandatoryConform> + </attribute> + <attribute id="0x0010" name="BatReplaceability" type="BatReplaceabilityEnum"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="BAT"/> + </mandatoryConform> + </attribute> + <attribute id="0x0011" name="BatPresent" type="bool"> + <access read="true" readPrivilege="view"/> + <optionalConform> + <feature name="BAT"/> + </optionalConform> + </attribute> + <attribute id="0x0012" name="ActiveBatFaults" type="list[BatFaultEnum Type]"> + <access read="true" readPrivilege="view"/> + <optionalConform> + <feature name="BAT"/> + </optionalConform> + </attribute> + <attribute id="0x0013" name="BatReplacementDescription" type="string"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="REPLC"/> + </mandatoryConform> + <constraint type="maxLength" value="60"/> + </attribute> + <attribute id="0x0014" name="BatCommonDesignation" type="BatCommonDesignationEnum"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform> + <feature name="REPLC"/> + </optionalConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0015" name="BatANSIDesignation" type="string"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform> + <feature name="REPLC"/> + </optionalConform> + <constraint type="maxLength" value="20"/> + </attribute> + <attribute id="0x0016" name="BatIECDesignation" type="string"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform> + <feature name="REPLC"/> + </optionalConform> + <constraint type="maxLength" value="20"/> + </attribute> + <attribute id="0x0017" name="BatApprovedChemistry" type="BatApprovedChemistryEnum"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform> + <feature name="REPLC"/> + </optionalConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0018" name="BatCapacity" type="uint32"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform> + <orTerm> + <feature name="REPLC"/> + <feature name="RECHG"/> + </orTerm> + </optionalConform> + </attribute> + <attribute id="0x0019" name="BatQuantity" type="uint8"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="REPLC"/> + </mandatoryConform> + </attribute> + <attribute id="0x001a" name="BatChargeState" type="BatChargeStateEnum"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="RECHG"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x001b" name="BatTimeToFullCharge" type="uint32"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="RECHG"/> + </optionalConform> + </attribute> + <attribute id="0x001c" name="BatFunctionalWhileCharging" type="bool"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="RECHG"/> + </mandatoryConform> + </attribute> + <attribute id="0x001d" name="BatChargingCurrent" type="uint32"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="RECHG"/> + </optionalConform> + </attribute> + <attribute id="0x001e" name="ActiveBatChargeFaults" type="list[BatChargeFaultEnum Type]"> + <access read="true" readPrivilege="view"/> + <optionalConform> + <feature name="RECHG"/> + </optionalConform> + <constraint type="max" value="16"/> + </attribute> + <attribute id="0x001f" name="EndpointList" type="list"> + <entry type="endpoint-no"/> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0020" name="BatAbsMaxChargeCurrent" type="uint32" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="CHGM"/> + </mandatoryConform> + </attribute> + <attribute id="0x0021" name="BatAbsMinChargeCurrent" type="uint32" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="CHGM"/> + </mandatoryConform> + </attribute> + <attribute id="0x0022" name="BatAbsMaxDischargeCurrent" type="uint32" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="DCHGM"/> + </mandatoryConform> + </attribute> + <attribute id="0x0023" name="BatMaxChargeCurrent" type="uint32" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="CHGM"/> + </mandatoryConform> + </attribute> + <attribute id="0x0024" name="BatMinChargeCurrent" type="uint32" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="CHGM"/> + </mandatoryConform> + </attribute> + <attribute id="0x0025" name="BatMaxDischargeCurrent" type="uint32" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="DCHGM"/> + </mandatoryConform> + </attribute> + <attribute id="0x0026" name="BatChargePermissions" type="BatChargePermissionsEnum"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0027" name="BatEnableChargeTime" type="uint16" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="CHGM"/> + </mandatoryConform> + </attribute> + <attribute id="0x0028" name="BatEnableDischargeTime" type="uint16" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="DCHGM"/> + </mandatoryConform> + </attribute> + <attribute id="0x0029" name="WiredMaxAmperage" type="uint32" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="WIRED"/> + </optionalConform> + </attribute> + <attribute id="0x002a" name="WiredAbsMaxAmperage" type="uint32" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform> + <feature name="WIRED"/> + </optionalConform> + </attribute> + </attributes> + <commands> + <command id="0x01" name="DisableBattery" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="CHGM"/> + </mandatoryConform> + </command> + <command id="0x02" name="EnableBatteryCharging" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="CHGM"/> + </mandatoryConform> + <field id="0" name="EnableTime" type="uint16" default="null"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="1" name="MinimumChargeCurrent" type="uint16"> + <mandatoryConform/> + </field> + <field id="2" name="MaximumChargeCurrent" type="uint16"> + <mandatoryConform/> + </field> + </command> + <command id="0x03" name="EnableBatteryDischarging" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="DCHGM"/> + </mandatoryConform> + <field id="0" name="EnableTime" type="uint16" default="null"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="1" name="MaximumDischargeCurrent" type="uint16"> + <mandatoryConform/> + </field> + </command> + <command id="0x04" name="StartBatteryDiagnostics" response="Y"> + <access invokePrivilege="operate"/> + <optionalConform/> + </command> + </commands> + <events> + <event id="0x00" name="WiredFaultChange" priority="info"> + <access readPrivilege="view"/> + <optionalConform> + <feature name="WIRED"/> + </optionalConform> + <field id="0" name="Current" type="<<ref_DataTypeList>>[WiredFaultEnum Type]" default="empty"> + <mandatoryConform/> + <constraint type="max" value="8"/> + </field> + <field id="1" name="Previous" type="<<ref_DataTypeList>>[WiredFaultEnum Type]" default="empty"> + <mandatoryConform/> + <constraint type="max" value="8"/> + </field> + </event> + <event id="0x01" name="BatFaultChange" priority="info"> + <access readPrivilege="view"/> + <optionalConform> + <feature name="BAT"/> + </optionalConform> + <field id="0" name="Current" type="<<ref_DataTypeList>>[BatFaultEnum Type]" default="empty"> + <mandatoryConform/> + <constraint type="max" value="8"/> + </field> + <field id="1" name="Previous" type="<<ref_DataTypeList>>[BatFaultEnum Type]" default="empty"> + <mandatoryConform/> + <constraint type="max" value="8"/> + </field> + </event> + <event id="0x02" name="BatChargeFaultChange" priority="info"> + <access readPrivilege="view"/> + <optionalConform> + <feature name="RECHG"/> + </optionalConform> + <field id="0" name="Current" type="<<ref_DataTypeList>>[BatChargeFaultEnum Type]" default="empty"> + <mandatoryConform/> + <constraint type="max" value="16"/> + </field> + <field id="1" name="Previous" type="<<ref_DataTypeList>>[BatChargeFaultEnum Type]" default="empty"> + <mandatoryConform/> + <constraint type="max" value="16"/> + </field> + </event> + <event id="0x03" name="BatConnected" priority="info"> + <access readPrivilege="view"/> + <optionalConform> + <feature name="BAT"/> + </optionalConform> + <field id="0" name="SessionID" type="uint32" default="null"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="1" name="ChargeState" type="BatChargeStateEnum"> + <mandatoryConform/> + </field> + </event> + <event id="0x04" name="BatDisconnected" priority="info"> + <access readPrivilege="view"/> + <optionalConform> + <feature name="BAT"/> + </optionalConform> + <field id="0" name="SessionID" type="uint32" default="null"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="1" name="ChargeState" type="BatChargeStateEnum"> + <mandatoryConform/> + </field> + <field id="2" name="SessionDuration" type="elapsed-s" default="null"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="3" name="SessionEnergyCharged" type="int64" default="null"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="4" name="SessionEnergyDischarged" type="int64" default="null"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </event> + <event id="0x05" name="BatEnergyTransferStarted" priority="info"> + <access readPrivilege="view"/> + <optionalConform> + <feature name="RECHG"/> + </optionalConform> + <field id="0" name="SessionID" type="uint32" default="null"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="1" name="ChargeState" type="BatChargeStateEnum"> + <mandatoryConform/> + </field> + </event> + <event id="0x06" name="BatEnergyTransferStopped" priority="info"> + <access readPrivilege="view"/> + <optionalConform> + <feature name="RECHG"/> + </optionalConform> + <field id="0" name="SessionID" type="uint32" default="null"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="1" name="ChargeState" type="BatChargeStateEnum"> + <mandatoryConform/> + </field> + <field id="2" name="Reason" type="BatEnergyTransferStopReasonEnum" default="null"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="3" name="EnergyTransferred" type="int64" default="null"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/PowerSourceConfigurationCluster.xml b/zcl-builtin/matter/new-data-model/PowerSourceConfigurationCluster.xml new file mode 100644 index 0000000000000000000000000000000000000000..3d1b5f986d516b7c84133d1b96b8285b8ec2e2cd --- /dev/null +++ b/zcl-builtin/matter/new-data-model/PowerSourceConfigurationCluster.xml @@ -0,0 +1,71 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x002e" name="Power Source Configuration" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="PSCFG" scope="Endpoint"/> + <attributes> + <attribute id="0x0000" name="Sources" type="list[<<ref_DataTypeEndpointNumber>>]"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="max" value="6"/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/PressureMeasurement.xml b/zcl-builtin/matter/new-data-model/PressureMeasurement.xml new file mode 100644 index 0000000000000000000000000000000000000000..807aaaf91bb6d4684eac95326329fda8d66bf653 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/PressureMeasurement.xml @@ -0,0 +1,133 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0403" name="Pressure Measurement" revision="3"> + <revisionHistory> + <revision revision="1" summary="Mandatory global ClusterRevision attribute added"/> + <revision revision="2" summary="CCB 2241 2370"/> + <revision revision="3" summary="New data model format and notation"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="PRS" scope="Endpoint"/> + <features> + <feature bit="0" code="EXT" name="Extended" summary="Extended range and resolution"> + <optionalConform/> + </feature> + </features> + <attributes> + <attribute id="0x0000" name="MeasuredValue" type="int16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform/> + <constraint type="between" from="MinMeasuredValue" to="MaxMeasuredValue"/> + </attribute> + <attribute id="0x0001" name="MinMeasuredValue" type="int16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="-32767" to="MaxMeasuredValue-1"/> + </attribute> + <attribute id="0x0002" name="MaxMeasuredValue" type="int16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="MinMeasuredValue+1" to="32767"/> + </attribute> + <attribute id="0x0003" name="Tolerance" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + <constraint type="between" from="0" to="2048"/> + </attribute> + <attribute id="0x0010" name="ScaledValue" type="int16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="EXT"/> + </mandatoryConform> + <constraint type="between" from="MinScaledValue" to="MaxScaledValue"/> + </attribute> + <attribute id="0x0011" name="MinScaledValue" type="int16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="EXT"/> + </mandatoryConform> + <constraint type="between" from="-32767" to="MaxScaledValue-1"/> + </attribute> + <attribute id="0x0012" name="MaxScaledValue" type="int16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="EXT"/> + </mandatoryConform> + <constraint type="between" from="MinScaledValue+1" to="32767"/> + </attribute> + <attribute id="0x0013" name="ScaledTolerance" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <optionalConform> + <feature name="EXT"/> + </optionalConform> + <constraint type="between" from="0" to="2048"/> + </attribute> + <attribute id="0x0014" name="Scale" type="int8" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="EXT"/> + </mandatoryConform> + <constraint type="between" from="-127" to="127"/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/PumpConfigurationControl.xml b/zcl-builtin/matter/new-data-model/PumpConfigurationControl.xml new file mode 100644 index 0000000000000000000000000000000000000000..bb75e728c8f88b995e104c90629bd520db9947c1 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/PumpConfigurationControl.xml @@ -0,0 +1,243 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0200" name="Pump Configuration and Control" revision="4"> + <revisionHistory> + <revision revision="1" summary="Mandatory global ClusterRevision attribute added"/> + <revision revision="2" summary="All Hubs changes"/> + <revision revision="3" summary="New data model format and notation, added additional events"/> + <revision revision="4" summary="Added feature map"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="PCC" scope="Endpoint"/> + <features> + <feature bit="0" code="PRSCONST" name="ConstantPressure" summary="Supports operating in constant pressure mode"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="1" code="PRSCOMP" name="CompensatedPressure" summary="Supports operating in compensated pressure mode"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="2" code="FLW" name="ConstantFlow" summary="Supports operating in constant flow mode"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="3" code="SPD" name="ConstantSpeed" summary="Supports operating in constant speed mode"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="4" code="TEMP" name="ConstantTemperature" summary="Supports operating in constant temperature mode"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="5" code="AUTO" name="Automatic" summary="Supports operating in automatic mode"> + <optionalConform/> + </feature> + <feature bit="6" code="LOCAL" name="LocalOperation" summary="Supports operating using local settings"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="ControlModeEnum"> + <item value="0" name="ConstantSpeed" summary="The pump is running at a constant speed."> + <mandatoryConform> + <feature name="SPD"/> + </mandatoryConform> + </item> + <item value="1" name="ConstantPressure" summary="The pump will regulate its speed to maintain a constant differential pressure over its flanges."> + <mandatoryConform> + <feature name="PRSCONST"/> + </mandatoryConform> + </item> + <item value="2" name="ProportionalPressure" summary="The pump will regulate its speed to maintain a constant differential pressure over its flanges."> + <mandatoryConform> + <feature name="PRSCOMP"/> + </mandatoryConform> + </item> + <item value="3" name="ConstantFlow" summary="The pump will regulate its speed to maintain a constant flow through the pump."> + <mandatoryConform> + <feature name="FLW"/> + </mandatoryConform> + </item> + <item value="5" name="ConstantTemperature" summary="The pump will regulate its speed to maintain a constant temperature."> + <mandatoryConform> + <feature name="TEMP"/> + </mandatoryConform> + </item> + <item value="7" name="Automatic" summary="The operation of the pump is automatically optimized to provide the most suitable performance with respect to comfort and energy savings."> + <mandatoryConform> + <feature name="AUTO"/> + </mandatoryConform> + </item> + </enum> + <enum name="OperationModeEnum"> + <item value="0" name="Normal" summary="The pump is controlled by a setpoint, as defined by a connected remote sensor or by the ControlMode attribute."> + <mandatoryConform/> + </item> + <item value="1" name="Minimum" summary="This value sets the pump to run at the minimum possible speed it can without being stopped."> + <mandatoryConform> + <feature name="SPD"/> + </mandatoryConform> + </item> + <item value="2" name="Maximum" summary="This value sets the pump to run at its maximum possible speed."> + <mandatoryConform> + <feature name="SPD"/> + </mandatoryConform> + </item> + <item value="3" name="Local" summary="This value sets the pump to run with the local settings of the pump, regardless of what these are."> + <mandatoryConform> + <feature name="LOCAL"/> + </mandatoryConform> + </item> + </enum> + <bitmap name="PumpStatusBitmap"> + <bitfield name="DeviceFault" bit="0" summary="A fault related to the system or pump device is detected."> + <mandatoryConform/> + </bitfield> + <bitfield name="SupplyFault" bit="1" summary="A fault related to the supply to the pump is detected."> + <mandatoryConform/> + </bitfield> + <bitfield name="SpeedLow" bit="2" summary="Setpoint is too low to achieve."> + <mandatoryConform/> + </bitfield> + <bitfield name="SpeedHigh" bit="3" summary="Setpoint is too high to achieve."> + <mandatoryConform/> + </bitfield> + <bitfield name="LocalOverride" bit="4" summary="Device control is overridden by hardware, such as an external STOP button or via a local HMI."> + <mandatoryConform/> + </bitfield> + <bitfield name="Running" bit="5" summary="Pump is currently running"> + <mandatoryConform/> + </bitfield> + <bitfield name="RemotePressure" bit="6" summary="A remote pressure sensor is used as the sensor for the regulation of the pump."> + <mandatoryConform/> + </bitfield> + <bitfield name="RemoteFlow" bit="7" summary="A remote flow sensor is used as the sensor for the regulation of the pump."> + <mandatoryConform/> + </bitfield> + <bitfield name="RemoteTemperature" bit="8" summary="A remote temperature sensor is used as the sensor for the regulation of the pump."> + <mandatoryConform/> + </bitfield> + </bitmap> + </dataTypes> + <attributes/> + <events> + <event id="0x00" name="SupplyVoltageLow" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x01" name="SupplyVoltageHigh" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x02" name="PowerMissingPhase" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x03" name="SystemPressureLow" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x04" name="SystemPressureHigh" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x05" name="DryRunning" priority="critical"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x06" name="MotorTemperatureHigh" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x07" name="PumpMotorFatalFailure" priority="critical"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x08" name="ElectronicTemperatureHigh" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x09" name="PumpBlocked" priority="critical"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x0a" name="SensorFailure" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x0b" name="ElectronicNonFatalFailure" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x0c" name="ElectronicFatalFailure" priority="critical"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x0d" name="GeneralFault" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x0e" name="Leakage" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x0f" name="AirDetection" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x10" name="TurbineOperation" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/RefrigeratorAlarm.xml b/zcl-builtin/matter/new-data-model/RefrigeratorAlarm.xml new file mode 100644 index 0000000000000000000000000000000000000000..5d8b92e359dd2398cea02e876f5ec8ca46660c78 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/RefrigeratorAlarm.xml @@ -0,0 +1,82 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0057" name="Refrigerator Alarm" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial revision"/> + </revisionHistory> + <classification hierarchy="derived" baseCluster="Alarm Base" role="application" picsCode="REFALM" scope="Endpoint"/> + <features> + <feature bit="0" code="RESET" name="Reset" summary="Supports the ability to reset alarms"> + <disallowConform/> + </feature> + </features> + <dataTypes> + <bitmap name="AlarmMap"> + <bitfield name="DoorOpen" bit="0" summary="The cabinet's door has been open for a vendor defined amount of time."> + <mandatoryConform/> + </bitfield> + </bitmap> + </dataTypes> + <attributes/> + <commands> + <command id="0x01" name="ModifyEnabledAlarms" direction="commandToClient"> + <access invokePrivilege="operate"/> + <disallowConform/> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/ResourceMonitoring.xml b/zcl-builtin/matter/new-data-model/ResourceMonitoring.xml new file mode 100644 index 0000000000000000000000000000000000000000..e3fecfc6273badedeb4fa4351ca80830eb26f2f2 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/ResourceMonitoring.xml @@ -0,0 +1,169 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Resource Monitoring Clusters" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial version of the Resource Monitoring cluster"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="REPM" scope="Endpoint"/> + <features> + <feature bit="0" code="CON" name="Condition" summary="Supports monitoring the condition of the resource in percentage"> + <optionalConform/> + </feature> + <feature bit="1" code="WRN" name="Warning" summary="Supports warning indication"> + <optionalConform/> + </feature> + <feature bit="2" code="REP" name="Replacement Product List" summary="Supports specifying the list of replacement products"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="ChangeIndicationEnum"> + <item value="0" name="OK" summary="Resource is in good condition, no intervention required"> + <mandatoryConform/> + </item> + <item value="1" name="Warning" summary="Resource will be exhausted soon, intervention will shortly be required"> + <mandatoryConform> + <feature name="WRN"/> + </mandatoryConform> + </item> + <item value="2" name="Critical" summary="Resource is exhausted, immediate intervention is required"> + <mandatoryConform/> + </item> + </enum> + <enum name="DegradationDirectionEnum"> + <item value="0" name="Up" summary="The degradation of the resource is indicated by an upwards moving/increasing value"> + <mandatoryConform/> + </item> + <item value="1" name="Down" summary="The degradation of the resource is indicated by a downwards moving/decreasing value"> + <mandatoryConform/> + </item> + </enum> + <enum name="ProductIdentifierTypeEnum"> + <item value="0" name="UPC" summary="12-digit Universal Product Code"> + <mandatoryConform/> + </item> + <item value="1" name="GTIN-8" summary="8-digit Global Trade Item Number"> + <mandatoryConform/> + </item> + <item value="2" name="EAN" summary="13-digit European Article Number"> + <mandatoryConform/> + </item> + <item value="3" name="GTIN-14" summary="14-digit Global Trade Item Number"> + <mandatoryConform/> + </item> + <item value="4" name="OEM" summary="Original Equipment Manufacturer part number"> + <mandatoryConform/> + </item> + </enum> + <struct name="ReplacementProductStruct"> + <field id="0" name="ProductIdentifierType" type="ProductIdentifierTypeEnum"> + <access read="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="ProductIdentifierValue" type="string"> + <access read="true"/> + <mandatoryConform/> + <constraint type="maxLength" value="20"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="Condition" type="percent"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="CON"/> + </mandatoryConform> + </attribute> + <attribute id="0x0001" name="DegradationDirection" type="DegradationDirectionEnum"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="CON"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0002" name="ChangeIndication" type="ChangeIndicationEnum" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0003" name="InPlaceIndicator" type="bool"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + </attribute> + <attribute id="0x0004" name="LastChangedTime" type="epoch-s" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0005" name="ReplacementProductList" type="list[ReplacementProductStruct Type]"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="REP"/> + </mandatoryConform> + <constraint type="max" value="5"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="ResetCondition" response="Y"> + <access invokePrivilege="operate"/> + <optionalConform/> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Scenes.xml b/zcl-builtin/matter/new-data-model/Scenes.xml new file mode 100644 index 0000000000000000000000000000000000000000..6a555ecc161585cfeddf1e3ab569526171cfc55a --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Scenes.xml @@ -0,0 +1,521 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0005" name="Scenes" revision="5"> + <revisionHistory> + <revision revision="1" summary="Global mandatory ClusterRevision attribute added; CCB 1745"/> + <revision revision="2" summary="TransitionTime field added to the RecallScene command"/> + <revision revision="3" summary="CCB 2427 3026"/> + <revision revision="4" summary="New data model format and notation"/> + <revision revision="5" summary="Explicit, TableSize and FabricScenes features; support multi-fabric environment; adding attributes SceneTableSize and RemainingCapacity; add fabric-scoped scene information list"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="S" scope="Endpoint"/> + <features> + <feature bit="0" code="SN" name="SceneNames" summary="The ability to store a name for a scene."> + <optionalConform/> + </feature> + <feature bit="1" code="EX" name="Explicit" summary="Use explicit attribute IDs, not implicit based on order"> + <mandatoryConform/> + </feature> + <feature bit="2" code="TS" name="TableSize" summary="Table size and remaining capacity supported"> + <mandatoryConform/> + </feature> + <feature bit="3" code="FS" name="FabricScenes" summary="Supports current scene, count, group etc, as fabric-scoped."> + <mandatoryConform/> + </feature> + </features> + <dataTypes> + <bitmap name="CopyModeBitmap"> + <bitfield name="CopyAllScenes" bit="0" summary="Copy all scenes in the scene table"> + <mandatoryConform/> + </bitfield> + </bitmap> + <bitmap name="NameSupportBitmap"> + <bitfield name="SceneNames" bit="7" summary="The ability to store a name for a scene."> + <mandatoryConform/> + </bitfield> + </bitmap> + <struct name="AttributeValuePairStruct"> + <field id="0" name="AttributeID" type="attribute-id"> + <access read="true" write="true"/> + <otherwiseConform> + <mandatoryConform> + <feature name="EX"/> + </mandatoryConform> + <optionalConform/> + </otherwiseConform> + </field> + <field id="1" name="ValueUnsigned8" type="uint8"> + <access read="true" write="true"/> + <optionalConform choice="a"/> + </field> + <field id="2" name="ValueSigned8" type="int8"> + <access read="true" write="true"/> + <optionalConform choice="a"/> + </field> + <field id="3" name="ValueUnsigned16" type="uint16"> + <access read="true" write="true"/> + <optionalConform choice="a"/> + </field> + <field id="4" name="ValueSigned16" type="int16"> + <access read="true" write="true"/> + <optionalConform choice="a"/> + </field> + <field id="5" name="ValueUnsigned32" type="uint32"> + <access read="true" write="true"/> + <optionalConform choice="a"/> + </field> + <field id="6" name="ValueSigned32" type="int32"> + <access read="true" write="true"/> + <optionalConform choice="a"/> + </field> + <field id="7" name="ValueUnsigned64" type="uint64"> + <access read="true" write="true"/> + <optionalConform choice="a"/> + </field> + <field id="8" name="ValueSigned64" type="int64"> + <access read="true" write="true"/> + <optionalConform choice="a"/> + </field> + </struct> + <struct name="ExtensionFieldSetStruct"> + <field id="0" name="ClusterID" type="cluster-id"> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + <field id="1" name="AttributeValueList" type="list[AttributeValuePairStruct Type]"> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </struct> + <struct name="Logical Scene Table"> + <field id="0" name="SceneGroupID" type="group-id"> + <mandatoryConform/> + </field> + <field id="1" name="SceneID" type="uint8"> + <mandatoryConform/> + </field> + <field id="2" name="SceneName" type="string"> + <mandatoryConform> + <feature name="SN"/> + </mandatoryConform> + <constraint type="maxLength" value="16"/> + </field> + <field id="3" name="SceneTransitionTime" type="uint16" default="0"> + <mandatoryConform/> + </field> + <field id="4" name="ExtensionFields" type="list[ExtensionFieldSetStruct Type]" default="empty"> + <mandatoryConform/> + </field> + <field id="5" name="TransitionTime100ms" type="uint8" default="0"> + <mandatoryConform/> + <constraint type="max" value="9"/> + </field> + </struct> + <struct name="SceneInfoStruct"> + <field id="0" name="SceneCount" type="uint8" default="0"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="1" name="CurrentScene" type="uint8" default="0"> + <access read="true" fabricSensitive="true"/> + <mandatoryConform/> + </field> + <field id="2" name="CurrentGroup" type="group-id" default="0"> + <access read="true" fabricSensitive="true"/> + <mandatoryConform/> + </field> + <field id="3" name="SceneValid" type="bool" default="False"> + <access read="true" fabricSensitive="true"/> + <mandatoryConform/> + </field> + <field id="4" name="RemainingCapacity" type="uint8" default="MS"> + <access read="true"/> + <mandatoryConform> + <feature name="TS"/> + </mandatoryConform> + <constraint type="max" value="253"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="SceneCount" type="uint8" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <notTerm> + <feature name="FS"/> + </notTerm> + </mandatoryConform> + </attribute> + <attribute id="0x0001" name="CurrentScene" type="uint8" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <notTerm> + <feature name="FS"/> + </notTerm> + </mandatoryConform> + </attribute> + <attribute id="0x0002" name="CurrentGroup" type="group-id" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <notTerm> + <feature name="FS"/> + </notTerm> + </mandatoryConform> + </attribute> + <attribute id="0x0003" name="SceneValid" type="bool" default="False"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <notTerm> + <feature name="FS"/> + </notTerm> + </mandatoryConform> + </attribute> + <attribute id="0x0004" name="NameSupport" type="NameSupportBitmap" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0005" name="LastConfiguredBy" type="node-id" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0006" name="SceneTableSize" type="uint16" default="16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="TS"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0007" name="FabricSceneInfo" type="list[SceneInfoStruct Type]"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="FS"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="AddScene" response="AddSceneResponse"> + <access invokePrivilege="manage"/> + <mandatoryConform/> + <field id="0" name="GroupID" type="group-id"> + <mandatoryConform/> + </field> + <field id="1" name="SceneID" type="uint8"> + <mandatoryConform/> + </field> + <field id="2" name="TransitionTime" type="uint16"> + <mandatoryConform/> + <constraint type="max" value="6000"/> + </field> + <field id="3" name="SceneName" type="string"> + <mandatoryConform/> + <constraint type="maxLength" value="16"/> + </field> + <field id="4" name="ExtensionFieldSetStructs" type="list[ExtensionFieldSetStruct Type]"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x00" name="AddSceneResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Status" type="status"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="GroupID" type="group-id"> + <mandatoryConform/> + </field> + <field id="2" name="SceneID" type="uint8"> + <mandatoryConform/> + </field> + </command> + <command id="0x01" name="ViewScene" response="ViewSceneResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="GroupID" type="group-id"> + <mandatoryConform/> + </field> + <field id="1" name="SceneID" type="uint8"> + <mandatoryConform/> + </field> + </command> + <command id="0x01" name="ViewSceneResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Status" type="status"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="GroupID" type="group-id"> + <mandatoryConform/> + </field> + <field id="2" name="SceneID" type="uint8"> + <mandatoryConform/> + </field> + <field id="3" name="TransitionTime" type="uint16"> + <constraint type="max" value="6000"/> + </field> + <field id="4" name="SceneName" type="string"> + <constraint type="maxLength" value="16"/> + </field> + <field id="5" name="ExtensionFieldSetStructs" type="list[ExtensionFieldSetStruct Type]"/> + </command> + <command id="0x02" name="RemoveScene" response="RemoveSceneResponse"> + <access invokePrivilege="manage"/> + <mandatoryConform/> + <field id="0" name="GroupID" type="group-id"> + <mandatoryConform/> + </field> + <field id="1" name="SceneID" type="uint8"> + <mandatoryConform/> + </field> + </command> + <command id="0x02" name="RemoveSceneResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Status" type="status"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="GroupID" type="group-id"> + <mandatoryConform/> + </field> + <field id="2" name="SceneID" type="uint8"> + <mandatoryConform/> + </field> + </command> + <command id="0x03" name="RemoveAllScenes" response="RemoveAllScenesResponse"> + <access invokePrivilege="manage"/> + <mandatoryConform/> + <field id="0" name="GroupID" type="group-id"> + <mandatoryConform/> + </field> + </command> + <command id="0x03" name="RemoveAllScenesResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Status" type="status"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="GroupID" type="group-id"> + <mandatoryConform/> + </field> + </command> + <command id="0x04" name="StoreScene" response="StoreSceneResponse"> + <access invokePrivilege="manage"/> + <mandatoryConform/> + <field id="0" name="GroupID" type="group-id"> + <mandatoryConform/> + </field> + <field id="1" name="SceneID" type="uint8"> + <mandatoryConform/> + </field> + </command> + <command id="0x04" name="StoreSceneResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Status" type="status"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="GroupID" type="group-id"> + <mandatoryConform/> + </field> + <field id="2" name="SceneID" type="uint8"> + <mandatoryConform/> + </field> + </command> + <command id="0x05" name="RecallScene" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="GroupID" type="group-id"> + <mandatoryConform/> + </field> + <field id="1" name="SceneID" type="uint8"> + <mandatoryConform/> + </field> + <field id="2" name="TransitionTime" type="uint16"> + <quality nullable="true"/> + <optionalConform/> + <constraint type="max" value="60000"/> + </field> + </command> + <command id="0x06" name="GetSceneMembership" response="GetSceneMembershipResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="GroupID" type="group-id"> + <mandatoryConform/> + </field> + </command> + <command id="0x06" name="GetSceneMembershipResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Status" type="status"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="Capacity" type="uint8"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="2" name="GroupID" type="group-id"> + <mandatoryConform/> + </field> + <field id="3" name="SceneList" type="list"> + <entry type="uint8"/> + </field> + </command> + <command id="0x40" name="EnhancedAddScene" response="EnhancedAddSceneResponse"> + <access invokePrivilege="manage"/> + <optionalConform/> + <field id="0" name="GroupID" type="group-id"> + <mandatoryConform/> + </field> + <field id="1" name="SceneID" type="uint8"> + <mandatoryConform/> + </field> + <field id="2" name="TransitionTime" type="uint16"> + <mandatoryConform/> + <constraint type="max" value="60000"/> + </field> + <field id="3" name="SceneName" type="string"> + <mandatoryConform/> + <constraint type="maxLength" value="16"/> + </field> + <field id="4" name="ExtensionFieldSetStructs" type="list[ExtensionFieldSetStruct Type]"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x40" name="EnhancedAddSceneResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <attribute name="EnhancedAddScene"/> + </mandatoryConform> + </command> + <command id="0x41" name="EnhancedViewScene" response="EnhancedViewSceneResponse"> + <access invokePrivilege="operate"/> + <optionalConform/> + </command> + <command id="0x41" name="EnhancedViewSceneResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <attribute name="EnhancedViewScene"/> + </mandatoryConform> + <field id="0" name="Status" type="status"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="GroupID" type="group-id"> + <mandatoryConform/> + </field> + <field id="2" name="SceneID" type="uint8"> + <mandatoryConform/> + </field> + <field id="3" name="TransitionTime" type="uint16"> + <constraint type="max" value="60000"/> + </field> + <field id="4" name="SceneName" type="string"> + <constraint type="maxLength" value="16"/> + </field> + <field id="5" name="ExtensionFieldSetStructs" type="list[ExtensionFieldSetStruct Type]"/> + </command> + <command id="0x42" name="CopyScene" response="CopySceneResponse"> + <access invokePrivilege="manage"/> + <optionalConform/> + <field id="0" name="Mode" type="CopyModeBitmap"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="GroupIdentifierFrom" type="group-id"> + <mandatoryConform/> + </field> + <field id="2" name="SceneIdentifierFrom" type="uint8"> + <mandatoryConform/> + </field> + <field id="3" name="GroupIdentifierTo" type="group-id"> + <mandatoryConform/> + </field> + <field id="4" name="SceneIdentifierTo" type="uint8"> + <mandatoryConform/> + </field> + </command> + <command id="0x42" name="CopySceneResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <attribute name="CopyScene"/> + </mandatoryConform> + <field id="0" name="Status" type="status"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="GroupIdentifierFrom" type="group-id"> + <mandatoryConform/> + </field> + <field id="2" name="SceneIdentifierFrom" type="uint8"> + <mandatoryConform/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/SmokeCOAlarm.xml b/zcl-builtin/matter/new-data-model/SmokeCOAlarm.xml new file mode 100644 index 0000000000000000000000000000000000000000..2585e376c509531d80a400a060847d3da37a5ef4 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/SmokeCOAlarm.xml @@ -0,0 +1,303 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x005c" name="Smoke CO Alarm" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="SMOKECO" scope="Endpoint"/> + <features> + <feature bit="0" code="SMOKE" name="SmokeAlarm" summary="Supports Smoke alarm"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="1" code="CO" name="COAlarm" summary="Supports CO alarm"> + <optionalConform choice="a" more="true"/> + </feature> + </features> + <dataTypes> + <enum name="AlarmStateEnum"> + <item value="0" name="Normal" summary="Nominal state, the device is not alarming"> + <mandatoryConform/> + </item> + <item value="1" name="Warning" summary="Warning state"> + <optionalConform/> + </item> + <item value="2" name="Critical" summary="Critical state"> + <mandatoryConform/> + </item> + </enum> + <enum name="ContaminationStateEnum"> + <item value="0" name="Normal" summary="Nominal state, the sensor is not contaminated"> + <mandatoryConform/> + </item> + <item value="1" name="Low" summary="Low contamination"> + <optionalConform/> + </item> + <item value="2" name="Warning" summary="Warning state"> + <optionalConform/> + </item> + <item value="3" name="Critical" summary="Critical state, will cause nuisance alarms"> + <mandatoryConform/> + </item> + </enum> + <enum name="EndOfServiceEnum"> + <item value="0" name="Normal" summary="Device has not expired"> + <mandatoryConform/> + </item> + <item value="1" name="Expired" summary="Device has reached its end of service"> + <mandatoryConform/> + </item> + </enum> + <enum name="ExpressedStateEnum"> + <item value="0" name="Normal" summary="Nominal state, the device is not alarming"> + <mandatoryConform/> + </item> + <item value="1" name="SmokeAlarm" summary="Smoke Alarm state"> + <mandatoryConform> + <feature name="SMOKE"/> + </mandatoryConform> + </item> + <item value="2" name="COAlarm" summary="CO Alarm state"> + <mandatoryConform> + <feature name="CO"/> + </mandatoryConform> + </item> + <item value="3" name="BatteryAlert" summary="Battery Alert State"> + <mandatoryConform/> + </item> + <item value="4" name="Testing" summary="Test in Progress"> + <mandatoryConform/> + </item> + <item value="5" name="HardwareFault" summary="Hardware Fault Alert State"> + <mandatoryConform/> + </item> + <item value="6" name="EndOfService" summary="End of Service Alert State"> + <mandatoryConform/> + </item> + <item value="7" name="InterconnectSmoke" summary="Interconnected Smoke Alarm State"> + <optionalConform/> + </item> + <item value="8" name="InterconnectCO" summary="Interconnected CO Alarm State"> + <optionalConform/> + </item> + </enum> + <enum name="MuteStateEnum"> + <item value="0" name="NotMuted" summary="Not Muted"> + <mandatoryConform/> + </item> + <item value="1" name="Muted" summary="Muted"> + <mandatoryConform/> + </item> + </enum> + <enum name="SensitivityEnum"> + <item value="0" name="High" summary="High sensitivity"> + <optionalConform/> + </item> + <item value="1" name="Standard" summary="Standard Sensitivity"> + <mandatoryConform/> + </item> + <item value="2" name="Low" summary="Low sensitivity"> + <optionalConform/> + </item> + </enum> + </dataTypes> + <attributes> + <attribute id="0x0000" name="ExpressedState" type="ExpressedStateEnum"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="SmokeState" type="AlarmStateEnum"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="SMOKE"/> + </mandatoryConform> + </attribute> + <attribute id="0x0002" name="COState" type="AlarmStateEnum"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="CO"/> + </mandatoryConform> + </attribute> + <attribute id="0x0003" name="BatteryAlert" type="AlarmStateEnum"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0004" name="DeviceMuted" type="MuteStateEnum"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0005" name="TestInProgress" type="bool"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0006" name="HardwareFaultAlert" type="bool"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0007" name="EndOfServiceAlert" type="EndOfServiceEnum"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0008" name="InterconnectSmokeAlarm" type="AlarmStateEnum"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + </attribute> + <attribute id="0x0009" name="InterconnectCOAlarm" type="AlarmStateEnum"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + </attribute> + <attribute id="0x000a" name="ContaminationState" type="ContaminationStateEnum"> + <access read="true" readPrivilege="view"/> + <optionalConform> + <feature name="SMOKE"/> + </optionalConform> + </attribute> + <attribute id="0x000b" name="SmokeSensitivityLevel" type="SensitivityEnum"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform> + <feature name="SMOKE"/> + </optionalConform> + </attribute> + <attribute id="0x000c" name="ExpiryDate" type="epoch-s"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="SelfTestRequest" response="Y"> + <access invokePrivilege="operate"/> + <optionalConform/> + </command> + </commands> + <events> + <event id="0x00" name="SmokeAlarm" priority="critical"> + <access readPrivilege="view"/> + <mandatoryConform> + <feature name="SMOKE"/> + </mandatoryConform> + <field id="0" name="AlarmSeverityLevel" type="AlarmStateEnum"> + <mandatoryConform/> + </field> + </event> + <event id="0x01" name="COAlarm" priority="critical"> + <access readPrivilege="view"/> + <mandatoryConform> + <feature name="CO"/> + </mandatoryConform> + <field id="0" name="AlarmSeverityLevel" type="AlarmStateEnum"> + <mandatoryConform/> + </field> + </event> + <event id="0x02" name="LowBattery" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform/> + <field id="0" name="AlarmSeverityLevel" type="AlarmStateEnum"> + <mandatoryConform/> + </field> + </event> + <event id="0x03" name="HardwareFault" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform/> + </event> + <event id="0x04" name="EndOfService" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform/> + </event> + <event id="0x05" name="SelfTestComplete" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform/> + </event> + <event id="0x06" name="AlarmMuted" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x07" name="MuteEnded" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x08" name="InterconnectSmokeAlarm" priority="critical"> + <access readPrivilege="view"/> + <optionalConform> + <feature name="SMOKE"/> + </optionalConform> + <field id="0" name="AlarmSeverityLevel" type="AlarmStateEnum"> + <mandatoryConform/> + </field> + </event> + <event id="0x09" name="InterconnectCOAlarm" priority="critical"> + <access readPrivilege="view"/> + <optionalConform> + <feature name="CO"/> + </optionalConform> + <field id="0" name="AlarmSeverityLevel" type="AlarmStateEnum"> + <mandatoryConform/> + </field> + </event> + <event id="0x0a" name="AllClear" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform/> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Switch.xml b/zcl-builtin/matter/new-data-model/Switch.xml new file mode 100644 index 0000000000000000000000000000000000000000..d1991604c246fddaab2262b24e7b495c8be00b49 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Switch.xml @@ -0,0 +1,194 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x003b" name="Switch" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="SWTCH" scope="Endpoint"/> + <features> + <feature bit="0" code="LS" name="LatchingSwitch" summary="Switch is latching"> + <optionalConform choice="a"/> + </feature> + <feature bit="1" code="MS" name="MomentarySwitch" summary="Switch is momentary"> + <optionalConform choice="a"/> + </feature> + <feature bit="2" code="MSR" name="MomentarySwitchRelease" summary="Switch supports release"> + <optionalConform> + <feature name="MS"/> + </optionalConform> + </feature> + <feature bit="3" code="MSL" name="MomentarySwitchLongPress" summary="Switch supports long press"> + <optionalConform> + <andTerm> + <feature name="MS"/> + <feature name="MSR"/> + </andTerm> + </optionalConform> + </feature> + <feature bit="4" code="MSM" name="MomentarySwitchMultiPress" summary="Switch supports multi-press"> + <optionalConform> + <andTerm> + <feature name="MS"/> + <feature name="MSR"/> + </andTerm> + </optionalConform> + </feature> + </features> + <attributes> + <attribute id="0x0000" name="NumberOfPositions" type="uint8" default="2"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="min" value="2"/> + </attribute> + <attribute id="0x0001" name="CurrentPosition" type="uint8" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="max" value="NumberOfPositions-1"/> + </attribute> + <attribute id="0x0002" name="MultiPressMax" type="uint8" default="2"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="MSM"/> + </mandatoryConform> + <constraint type="min" value="2"/> + </attribute> + </attributes> + <events> + <event id="0x00" name="SwitchLatched" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform> + <feature name="LS"/> + </mandatoryConform> + <field id="0" name="NewPosition" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="0" to="NumberOfPositions-1"/> + </field> + </event> + <event id="0x01" name="InitialPress" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform> + <feature name="MS"/> + </mandatoryConform> + <field id="0" name="NewPosition" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="0" to="NumberOfPositions-1"/> + </field> + </event> + <event id="0x02" name="LongPress" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform> + <feature name="MSL"/> + </mandatoryConform> + <field id="0" name="NewPosition" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="0" to="NumberOfPositions-1"/> + </field> + </event> + <event id="0x03" name="ShortRelease" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform> + <feature name="MSR"/> + </mandatoryConform> + <field id="0" name="PreviousPosition" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="0" to="NumberOfPositions-1"/> + </field> + </event> + <event id="0x04" name="LongRelease" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform> + <feature name="MSL"/> + </mandatoryConform> + <field id="0" name="PreviousPosition" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="0" to="NumberOfPositions-1"/> + </field> + </event> + <event id="0x05" name="MultiPressOngoing" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform> + <feature name="MSM"/> + </mandatoryConform> + <field id="0" name="NewPosition" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="0" to="NumberOfPositions-1"/> + </field> + <field id="1" name="CurrentNumberOfPressesCounted" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="2" to="MultiPressMax"/> + </field> + </event> + <event id="0x06" name="MultiPressComplete" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform> + <feature name="MSM"/> + </mandatoryConform> + <field id="0" name="PreviousPosition" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="0" to="NumberOfPositions-1"/> + </field> + <field id="1" name="TotalNumberOfPressesCounted" type="uint8"> + <mandatoryConform/> + <constraint type="between" from="1" to="MultiPressMax"/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/TargetNavigator.xml b/zcl-builtin/matter/new-data-model/TargetNavigator.xml new file mode 100644 index 0000000000000000000000000000000000000000..b861a3f281117b073678ff66df9ebc1f1aa0b81c --- /dev/null +++ b/zcl-builtin/matter/new-data-model/TargetNavigator.xml @@ -0,0 +1,118 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0505" name="Target Navigator" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="TGTNAV" scope="Endpoint"/> + <dataTypes> + <enum name="StatusEnum"> + <item value="0" name="Success" summary="Command succeeded"> + <mandatoryConform/> + </item> + <item value="1" name="TargetNotFound" summary="Requested target was not found in the TargetList"> + <mandatoryConform/> + </item> + <item value="2" name="NotAllowed" summary="Target request is not allowed in current state."> + <mandatoryConform/> + </item> + </enum> + <struct name="TargetInfoStruct"> + <field id="0" name="Identifier" type="uint8"> + <mandatoryConform/> + <constraint type="max" value="254"/> + </field> + <field id="1" name="Name" type="string"> + <mandatoryConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="TargetList" type="list[TargetInfoStruct Type]"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="CurrentTarget" type="uint8" default="0xFF"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="NavigateTarget" response="NavigateTargetResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Target" type="uint8"> + <mandatoryConform/> + </field> + <field id="1" name="Data" type="string" default="MS"> + <optionalConform/> + </field> + </command> + <command id="0x01" name="NavigateTargetResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Status" type="StatusEnum"> + <mandatoryConform/> + </field> + <field id="1" name="Data" type="string" default="MS"> + <optionalConform/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/TemperatureControl.xml b/zcl-builtin/matter/new-data-model/TemperatureControl.xml new file mode 100644 index 0000000000000000000000000000000000000000..111ebd68100c4f28fdcc94318cc412f7ea53338c --- /dev/null +++ b/zcl-builtin/matter/new-data-model/TemperatureControl.xml @@ -0,0 +1,95 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance + +508 Second Street, Suite 206 + +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0056" name="Temperature Control" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="TCTL" scope="Endpoint"/> + <features> + <feature bit="0" code="TN" name="TemperatureNumber" summary="Use actual temperature numbers"> + <optionalConform choice="a"/> + </feature> + <feature bit="1" code="TL" name="TemperatureLevel" summary="Use temperature levels"> + <optionalConform choice="a"/> + </feature> + <feature bit="2" code="STEP" name="TemperatureStep" summary="Use step control with temperature numbers"> + <optionalConform> + <feature name="TN"/> + </optionalConform> + </feature> + </features> + <attributes/> + <commands> + <command id="0x00" name="SetTemperature" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="TargetTemperature" type="temperature"> + <mandatoryConform> + <feature name="TN"/> + </mandatoryConform> + <constraint type="desc"/> + </field> + <field id="1" name="TargetTemperatureLevel" type="uint8"> + <mandatoryConform> + <feature name="TL"/> + </mandatoryConform> + <constraint type="desc"/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/TemperatureMeasurement.xml b/zcl-builtin/matter/new-data-model/TemperatureMeasurement.xml new file mode 100644 index 0000000000000000000000000000000000000000..43df6b331d9b16321f5b938555f9760318d7a4e7 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/TemperatureMeasurement.xml @@ -0,0 +1,91 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0402" name="Temperature Measurement" revision="4"> + <revisionHistory> + <revision revision="1" summary="Mandatory global ClusterRevision attribute added"/> + <revision revision="2" summary="CCB 2241 2370"/> + <revision revision="3" summary="CCB 2823"/> + <revision revision="4" summary="New data model format and notation"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="TMP" scope="Endpoint"/> + <attributes> + <attribute id="0x0000" name="MeasuredValue" type="temperature"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform/> + <constraint type="between" from="MinMeasuredValue" to="MaxMeasuredValue"/> + </attribute> + <attribute id="0x0001" name="MinMeasuredValue" type="temperature"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="-27315" to="MaxMeasuredValue-1"/> + </attribute> + <attribute id="0x0002" name="MaxMeasuredValue" type="temperature"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="MinMeasuredValue+1" to="32767"/> + </attribute> + <attribute id="0x0003" name="Tolerance" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + <constraint type="between" from="0" to="2048"/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Thermostat.xml b/zcl-builtin/matter/new-data-model/Thermostat.xml new file mode 100644 index 0000000000000000000000000000000000000000..40fecee3a2a1f937b0bf81e9535d2d773a92c6b0 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Thermostat.xml @@ -0,0 +1,913 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0201" name="Thermostat" revision="6"> + <revisionHistory> + <revision revision="1" summary="Mandatory global ClusterRevision attribute added; fixed some defaults; CCB 1823, 1480"/> + <revision revision="2" summary="CCB 1981 2186 2249 2250 2251; NFR Thermostat Setback"/> + <revision revision="3" summary="CCB 2477 2560 2773 2777 2815 2816 3029"/> + <revision revision="4" summary="All Hubs changes"/> + <revision revision="5" summary="New data model format and notation, added FeatureMap, collapsed attribute sets, clarified edge cases around limits, default value of xxxSetpointLimit now respects AbsxxxSetpointLimit"/> + <revision revision="6" summary="Introduced the LTNE feature and adapted text (spec issue #5778)"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="TSTAT" scope="Endpoint"/> + <features> + <feature bit="0" code="HEAT" name="Heating" summary="Thermostat is capable of managing a heating device"> + <otherwiseConform> + <mandatoryConform> + <feature name="AUTO"/> + </mandatoryConform> + <optionalConform choice="a" more="true"/> + </otherwiseConform> + </feature> + <feature bit="1" code="COOL" name="Cooling" summary="Thermostat is capable of managing a cooling device"> + <otherwiseConform> + <mandatoryConform> + <feature name="AUTO"/> + </mandatoryConform> + <optionalConform choice="a" more="true"/> + </otherwiseConform> + </feature> + <feature bit="2" code="OCC" name="Occupancy" summary="Supports Occupied and Unoccupied setpoints"> + <optionalConform/> + </feature> + <feature bit="3" code="SCH" name="Zigbee Schedule Configuration" summary="Supports remote configuration of a weekly schedule of setpoint transitions"> + <otherwiseConform> + <deprecateConform/> + <mandatoryConform> + <condition name="Zigbee"/> + </mandatoryConform> + </otherwiseConform> + </feature> + <feature bit="4" code="SB" name="Setback" summary="Supports configurable setback (or span)"> + <optionalConform/> + </feature> + <feature bit="5" code="AUTO" name="Auto Mode" summary="Supports a System Mode of Auto"> + <optionalConform/> + </feature> + <feature bit="6" code="LTNE" name="Local Temperature Not Exposed" summary="Thermostat does not expose the LocalTemperature Value in the LocalTemperature attribute"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <number name="SignedTemperature" type=""/> + <number name="TemperatureDifference" type=""/> + <number name="UnsignedTemperature" type=""/> + <enum name="ACCapacityFormatEnum"> + <item value="0" name="BTUh" summary="British Thermal Unit per Hour"> + <optionalConform/> + </item> + </enum> + <enum name="ACCompressorTypeEnum"> + <item value="0" name="Unknown" summary="Unknown compressor type"> + <optionalConform/> + </item> + <item value="1" name="T1" summary="Max working ambient 43 °C"> + <optionalConform/> + </item> + <item value="2" name="T2" summary="Max working ambient 35 °C"> + <optionalConform/> + </item> + <item value="3" name="T3" summary="Max working ambient 52 °C"> + <optionalConform/> + </item> + </enum> + <enum name="ACLouverPositionEnum"> + <item value="1" name="Closed" summary="Fully Closed"> + <optionalConform/> + </item> + <item value="2" name="Open" summary="Fully Open"> + <optionalConform/> + </item> + <item value="3" name="Quarter" summary="Quarter Open"> + <optionalConform/> + </item> + <item value="4" name="Half" summary="Half Open"> + <optionalConform/> + </item> + <item value="5" name="ThreeQuarters" summary="Three Quarters Open"> + <optionalConform/> + </item> + </enum> + <enum name="ACRefrigerantTypeEnum"> + <item value="0" name="Unknown" summary="Unknown Refrigerant Type"> + <optionalConform/> + </item> + <item value="1" name="R22" summary="R22 Refrigerant"> + <optionalConform/> + </item> + <item value="2" name="R410a" summary="R410a Refrigerant"> + <optionalConform/> + </item> + <item value="3" name="R407c" summary="R407c Refrigerant"> + <optionalConform/> + </item> + </enum> + <enum name="ACTypeEnum"> + <item value="0" name="Unknown" summary="Unknown AC Type"> + <optionalConform/> + </item> + <item value="1" name="CoolingFixed" summary="Cooling and Fixed Speed"> + <optionalConform/> + </item> + <item value="2" name="HeatPumpFixed" summary="Heat Pump and Fixed Speed"> + <optionalConform/> + </item> + <item value="3" name="CoolingInverter" summary="Cooling and Inverter"> + <optionalConform/> + </item> + <item value="4" name="HeatPumpInverter" summary="Heat Pump and Inverter"> + <optionalConform/> + </item> + </enum> + <enum name="SetpointChangeSourceEnum"> + <item value="0" name="Manual" summary="Manual, user-initiated setpoint change via the thermostat"> + <optionalConform/> + </item> + <item value="1" name="Schedule" summary="Schedule/internal programming-initiated setpoint change"> + <optionalConform> + <feature name="SCH"/> + </optionalConform> + </item> + <item value="2" name="External" summary="Externally-initiated setpoint change (e.g., DRLC cluster command, attribute write)"> + <optionalConform/> + </item> + </enum> + <enum name="StartOfWeek"> + <item value="0" name="Sunday"> + <mandatoryConform/> + </item> + <item value="1" name="Monday"> + <mandatoryConform/> + </item> + <item value="2" name="Tuesday"> + <mandatoryConform/> + </item> + <item value="3" name="Wednesday"> + <mandatoryConform/> + </item> + <item value="4" name="Thursday"> + <mandatoryConform/> + </item> + <item value="5" name="Friday"> + <mandatoryConform/> + </item> + <item value="6" name="Saturday"> + <mandatoryConform/> + </item> + </enum> + <enum name="TemperatureSetpointHold"> + <item value="0" name="SetpointHoldOff" summary="Follow scheduling program"> + <mandatoryConform/> + </item> + <item value="1" name="SetpointHoldOn" summary="Maintain current setpoint, regardless of schedule transitions"> + <mandatoryConform/> + </item> + </enum> + <enum name="ThermostatControlSequence"> + <item value="0" name="CoolingOnly" summary="Heat and Emergency are not possible"> + <optionalConform> + <feature name="COOL"/> + </optionalConform> + </item> + <item value="1" name="CoolingWithReheat" summary="Heat and Emergency are not possible"> + <optionalConform> + <feature name="COOL"/> + </optionalConform> + </item> + <item value="2" name="HeatingOnly" summary="Cool and precooling (see <<ref_HvacTerms>>) are not possible"> + <optionalConform> + <feature name="HEAT"/> + </optionalConform> + </item> + <item value="3" name="HeatingWithReheat" summary="Cool and precooling are not possible"> + <optionalConform> + <feature name="HEAT"/> + </optionalConform> + </item> + <item value="4" name="CoolingAndHeating" summary="All modes are possible"> + <optionalConform> + <andTerm> + <feature name="HEAT"/> + <feature name="COOL"/> + </andTerm> + </optionalConform> + </item> + <item value="5" name="CoolingAndHeatingWithReheat" summary="All modes are possible"> + <optionalConform> + <andTerm> + <feature name="HEAT"/> + <feature name="COOL"/> + </andTerm> + </optionalConform> + </item> + </enum> + <enum name="ThermostatSystemMode"> + <item value="0" name="Off" summary="The Thermostat does not generate demand for Cooling or Heating"> + <optionalConform/> + </item> + <item value="1" name="Auto" summary="Demand is generated for either Cooling or Heating, as required"> + <mandatoryConform> + <feature name="AUTO"/> + </mandatoryConform> + </item> + <item value="3" name="Cool" summary="Demand is only generated for Cooling"> + <optionalConform> + <feature name="COOL"/> + </optionalConform> + </item> + <item value="4" name="Heat" summary="Demand is only generated for Heating"> + <optionalConform> + <feature name="HEAT"/> + </optionalConform> + </item> + <item value="5" name="EmergencyHeat" summary="2 stage heating is in use to achieve desired temperature"> + <optionalConform> + <feature name="HEAT"/> + </optionalConform> + </item> + <item value="6" name="Precooling" summary="(see <<ref_HvacTerms>>)"> + <optionalConform> + <feature name="COOL"/> + </optionalConform> + </item> + <item value="7" name="Fan only"> + <optionalConform/> + </item> + <item value="8" name="Dry"> + <optionalConform/> + </item> + <item value="9" name="Sleep"> + <optionalConform/> + </item> + </enum> + <bitmap name="ACErrorCodeBitmap"> + <bitfield name="CompressorFail" bit="0" summary="Compressor Failure or Refrigerant Leakage"> + <mandatoryConform/> + </bitfield> + <bitfield name="RoomSensorFail" bit="1" summary="Room Temperature Sensor Failure"> + <mandatoryConform/> + </bitfield> + <bitfield name="OutdoorSensorFail" bit="2" summary="Outdoor Temperature Sensor Failure"> + <mandatoryConform/> + </bitfield> + <bitfield name="CoilSensorFail" bit="3" summary="Indoor Coil Temperature Sensor Failure"> + <mandatoryConform/> + </bitfield> + <bitfield name="FanFail" bit="4" summary="Fan Failure"> + <mandatoryConform/> + </bitfield> + </bitmap> + <bitmap name="AlarmCodeBitmap"> + <bitfield name="Initialization" bit="0" summary="Initialization failure. The device failed to complete initialization at power-up."> + <mandatoryConform/> + </bitfield> + <bitfield name="Hardware" bit="1" summary="Hardware failure"> + <mandatoryConform/> + </bitfield> + <bitfield name="SelfCalibration" bit="2" summary="Self-calibration failure"> + <mandatoryConform/> + </bitfield> + </bitmap> + <bitmap name="DayOfWeek"> + <bitfield name="Sunday" bit="0" summary="Sunday"> + <mandatoryConform/> + </bitfield> + <bitfield name="Monday" bit="1" summary="Monday"> + <mandatoryConform/> + </bitfield> + <bitfield name="Tuesday" bit="2" summary="Tuesday"> + <mandatoryConform/> + </bitfield> + <bitfield name="Wednesday" bit="3" summary="Wednesday"> + <mandatoryConform/> + </bitfield> + <bitfield name="Thursday" bit="4" summary="Thursday"> + <mandatoryConform/> + </bitfield> + <bitfield name="Friday" bit="5" summary="Friday"> + <mandatoryConform/> + </bitfield> + <bitfield name="Saturday" bit="6" summary="Saturday"> + <mandatoryConform/> + </bitfield> + <bitfield name="Away" bit="7" summary="Away or Vacation"> + <mandatoryConform/> + </bitfield> + </bitmap> + <bitmap name="HVACSystemTypeBitmap"> + <bitfield name="CoolingStage" summary="Stage of cooling the HVAC system is using."> + <mandatoryConform/> + </bitfield> + <bitfield name="HeatingStage" summary="Stage of heating the HVAC system is using."> + <mandatoryConform/> + </bitfield> + <bitfield name="HeatingType" bit="4" summary="Type of heating used by the HVAC system."> + <mandatoryConform/> + </bitfield> + <bitfield name="HeatingFuel" bit="5" summary="Type of fuel used by the HVAC system."> + <mandatoryConform/> + </bitfield> + </bitmap> + <bitmap name="ModeForSequence"> + <bitfield name="HeatSetpointPresent" bit="0" summary="Adjust Heat Setpoint"> + <mandatoryConform/> + </bitfield> + <bitfield name="CoolSetpointPresent" bit="1" summary="Adjust Cool Setpoint"> + <mandatoryConform/> + </bitfield> + </bitmap> + <bitmap name="ProgrammingOperationModeBitmap"> + <bitfield name="ScheduleActive" bit="0" summary="Schedule programming mode. This enables any + programmed weekly schedule configurations."> + <mandatoryConform/> + </bitfield> + <bitfield name="AutoRecovery" bit="1" summary="Auto/recovery mode"> + <mandatoryConform/> + </bitfield> + <bitfield name="Economy" bit="2" summary="Economy/EnergyStar mode"> + <mandatoryConform/> + </bitfield> + </bitmap> + <bitmap name="RelayStateBitmap"> + <bitfield name="Heat" bit="0" summary="Heat State On"> + <mandatoryConform/> + </bitfield> + <bitfield name="Cool" bit="1" summary="Cool State On"> + <mandatoryConform/> + </bitfield> + <bitfield name="Fan" bit="2" summary="Fan State On"> + <mandatoryConform/> + </bitfield> + <bitfield name="HeatStage2" bit="3" summary="Heat 2 State On"> + <mandatoryConform/> + </bitfield> + <bitfield name="CoolStage2" bit="4" summary="Cool 2 State On"> + <mandatoryConform/> + </bitfield> + <bitfield name="FanStage2" bit="5" summary="Fan 2 State On"> + <mandatoryConform/> + </bitfield> + <bitfield name="FanStage3" bit="6" summary="Fan 3 Stage On"> + <mandatoryConform/> + </bitfield> + </bitmap> + <bitmap name="RemoteSensingBitmap"> + <bitfield name="LocalTemperature" bit="0" summary="Calculated Local Temperature is derived from a remote node"> + <mandatoryConform/> + </bitfield> + <bitfield name="OutdoorTemperature" bit="1" summary="OutdoorTemperature is derived from a remote node"/> + <bitfield name="Occupancy" bit="2" summary="Occupancy is derived from a remote node"> + <mandatoryConform> + <feature name="OCC"/> + </mandatoryConform> + </bitfield> + </bitmap> + <bitmap name="SetpointAdjustMode"> + <bitfield name="Heat" bit="0" summary="Adjust Heat Setpoint"> + <mandatoryConform> + <feature name="HEAT"/> + </mandatoryConform> + </bitfield> + <bitfield name="Cool" bit="1" summary="Adjust Cool Setpoint"> + <mandatoryConform> + <feature name="COOL"/> + </mandatoryConform> + </bitfield> + <bitfield name="Both" bit="2" summary="Adjust Heat Setpoint and Cool Setpoint"> + <mandatoryConform> + <orTerm> + <feature name="HEAT"/> + <feature name="COOL"/> + </orTerm> + </mandatoryConform> + </bitfield> + </bitmap> + <bitmap name="TemperatureSetpointHoldPolicy"> + <bitfield name="HoldDurationElapsed" bit="0" summary="Hold will be cleared when the hold duration has elapsed"> + <mandatoryConform/> + </bitfield> + <bitfield name="HoldDurationElapsedOrPresetChanged" bit="1" summary="Hold will be cleared when either the hold duration has elapsed or the preset changes"> + <mandatoryConform/> + </bitfield> + </bitmap> + <struct name="ThermostatScheduleTransition"> + <field id="0" name="TransitionTime" type="uint16"> + <access read="true" write="true"/> + <mandatoryConform/> + <constraint type="between" from="0" to="1439"/> + </field> + <field id="1" name="HeatSetpoint" type="temperature"> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + <field id="2" name="CoolSetpoint" type="temperature"> + <access read="true" write="true"/> + <mandatoryConform/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="LocalTemperature" type="temperature" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="OutdoorTemperature" type="temperature" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0002" name="Occupancy" type="<<ref_OccupancyBitmap>>" default="1"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="OCC"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0003" name="AbsMinHeatSetpointLimit" type="temperature" default="7°C"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform> + <feature name="HEAT"/> + </optionalConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0004" name="AbsMaxHeatSetpointLimit" type="temperature" default="30°C"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform> + <feature name="HEAT"/> + </optionalConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0005" name="AbsMinCoolSetpointLimit" type="temperature" default="16°C"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform> + <feature name="COOL"/> + </optionalConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0006" name="AbsMaxCoolSetpointLimit" type="temperature" default="32°C"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform> + <feature name="COOL"/> + </optionalConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0007" name="PICoolingDemand" type="uint8" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform> + <feature name="COOL"/> + </optionalConform> + <constraint type="between" from="0%" to="100%"/> + </attribute> + <attribute id="0x0008" name="PIHeatingDemand" type="uint8" default="-"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform> + <feature name="HEAT"/> + </optionalConform> + <constraint type="between" from="0%" to="100%"/> + </attribute> + <attribute id="0x0009" name="HVACSystemTypeConfiguration" type="HVACSystemTypeBitmap" default="0"> + <access read="true" write="optional" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <deprecateConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0010" name="LocalTemperatureCalibration" type="SignedTemperature" default="0°C"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform> + <notTerm> + <feature name="LTNE"/> + </notTerm> + </optionalConform> + <constraint type="between" from="-2.5°C" to="2.5°C"/> + </attribute> + <attribute id="0x0011" name="OccupiedCoolingSetpoint" type="temperature" default="26°C"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="false" scene="true" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="COOL"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0012" name="OccupiedHeatingSetpoint" type="temperature" default="20°C"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="false" scene="true" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="HEAT"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0013" name="UnoccupiedCoolingSetpoint" type="temperature" default="26°C"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="COOL"/> + <feature name="OCC"/> + </andTerm> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0014" name="UnoccupiedHeatingSetpoint" type="temperature" default="20°C"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="HEAT"/> + <feature name="OCC"/> + </andTerm> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0015" name="MinHeatSetpointLimit" type="temperature" default="AbsMinHeatSetpointLimit"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform> + <feature name="HEAT"/> + </optionalConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0016" name="MaxHeatSetpointLimit" type="temperature" default="AbsMaxHeatSetpointLimit"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform> + <feature name="HEAT"/> + </optionalConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0017" name="MinCoolSetpointLimit" type="temperature" default="AbsMinCoolSetpointLimit"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform> + <feature name="COOL"/> + </optionalConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0018" name="MaxCoolSetpointLimit" type="temperature" default="AbsMaxCoolSetpointLimit"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform> + <feature name="COOL"/> + </optionalConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0019" name="MinSetpointDeadBand" type="SignedTemperature" default="2.5°C"> + <access read="true" write="optional" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="AUTO"/> + </mandatoryConform> + <constraint type="between" from="0°C" to="2.5°C"/> + </attribute> + <attribute id="0x001a" name="RemoteSensing" type="RemoteSensingBitmap" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform/> + <constraint type="allowed" value="00000xxx"/> + </attribute> + <attribute id="0x001b" name="ControlSequenceOfOperation" type="ThermostatControlSequence" default="4"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x001c" name="SystemMode" type="ThermostatSystemMode" default="1"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="true" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x001d" name="AlarmMask" type="AlarmCodeBitmap" default="0"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x001e" name="ThermostatRunningMode" type="ThermostatSystemMode" default="0"> + <access read="true" readPrivilege="view"/> + <optionalConform> + <feature name="AUTO"/> + </optionalConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0020" name="StartOfWeek" type="StartOfWeek" default="–"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="SCH"/> + </mandatoryConform> + <constraint type="desc"/> + </attribute> + <attribute id="0x0021" name="NumberOfWeeklyTransitions" type="uint8" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="SCH"/> + </mandatoryConform> + </attribute> + <attribute id="0x0022" name="NumberOfDailyTransitions" type="uint8" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="SCH"/> + </mandatoryConform> + </attribute> + <attribute id="0x0023" name="TemperatureSetpointHold" type="TemperatureSetpointHold" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0024" name="TemperatureSetpointHoldDuration" type="uint16" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform/> + <constraint type="between" from="0" to="1440"/> + </attribute> + <attribute id="0x0025" name="ThermostatProgrammingOperationMode" type="ProgrammingOperationModeBitmap" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0029" name="ThermostatRunningState" type="RelayStateBitmap" default="-"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0030" name="SetpointChangeSource" type="SetpointChangeSourceEnum" default="0"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0031" name="SetpointChangeAmount" type="TemperatureDifference" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0032" name="SetpointChangeSourceTimestamp" type="utc" default="0"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + </attribute> + <attribute id="0x0034" name="OccupiedSetback" type="UnsignedTemperature" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <feature name="SB"/> + </mandatoryConform> + <constraint type="between" from="OccupiedSetbackMin" to="OccupiedSetbackMax"/> + </attribute> + <attribute id="0x0035" name="OccupiedSetbackMin" type="UnsignedTemperature" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="SB"/> + </mandatoryConform> + <constraint type="between" from="0" to="OccupiedSetbackMax"/> + </attribute> + <attribute id="0x0036" name="OccupiedSetbackMax" type="UnsignedTemperature" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <feature name="SB"/> + </mandatoryConform> + <constraint type="between" from="OccupiedSetbackMin" to="25.4°C"/> + </attribute> + <attribute id="0x0037" name="UnoccupiedSetback" type="UnsignedTemperature" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="SB"/> + <feature name="OCC"/> + </andTerm> + </mandatoryConform> + <constraint type="between" from="UnoccupiedSetbackMin" to="UnoccupiedSetbackMax"/> + </attribute> + <attribute id="0x0038" name="UnoccupiedSetbackMin" type="UnsignedTemperature" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="SB"/> + <feature name="OCC"/> + </andTerm> + </mandatoryConform> + <constraint type="between" from="0" to="UnoccupiedSetbackMax"/> + </attribute> + <attribute id="0x0039" name="UnoccupiedSetbackMax" type="UnsignedTemperature" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="SB"/> + <feature name="OCC"/> + </andTerm> + </mandatoryConform> + <constraint type="between" from="UnoccupiedSetbackMin" to="25.4°C"/> + </attribute> + <attribute id="0x003a" name="EmergencyHeatDelta" type="UnsignedTemperature" default="25.5°C"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0040" name="ACType" type="ACTypeEnum" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0041" name="ACCapacity" type="uint16" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0042" name="ACRefrigerantType" type="ACRefrigerantTypeEnum" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0043" name="ACCompressorType" type="ACCompressorTypeEnum" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0044" name="ACErrorCode" type="ACErrorCodeBitmap" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform/> + </attribute> + <attribute id="0x0045" name="ACLouverPosition" type="ACLouverPositionEnum" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0046" name="ACCoilTemperature" type="temperature" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0047" name="ACCapacityFormat" type="ACCapacityFormatEnum" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="SetpointRaiseLower" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="Mode" type="SetpointAdjustMode"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="Amount" type="int8"> + <mandatoryConform/> + </field> + </command> + <command id="0x00" name="GetWeeklyScheduleResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="SCH"/> + </mandatoryConform> + </command> + <command id="0x01" name="SetWeeklySchedule" response="Y"> + <access invokePrivilege="manage"/> + <mandatoryConform> + <feature name="SCH"/> + </mandatoryConform> + <field id="0" name="NumberOfTransitionsForSequence" type="uint8"> + <mandatoryConform/> + </field> + <field id="1" name="DayOfWeekforSequence" type="DayOfWeek"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="2" name="ModeForSequence" type="ModeForSequence"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="3" name="Transitions" type="list[ThermostatScheduleTransition Type]"> + <mandatoryConform/> + <constraint type="max" value="10"/> + </field> + </command> + <command id="0x01" name="GetRelayStatusLogResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <attribute name="GetRelayStatusLog"/> + </mandatoryConform> + <field id="0" name="TimeOfDay" type="uint16"> + <mandatoryConform/> + <constraint type="between" from="0" to="1439"/> + </field> + <field id="1" name="RelayStatus" type="RelayStateBitmap"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="2" name="LocalTemperature" type="temperature"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + <field id="3" name="HumidityInPercentage" type="uint8"> + <quality nullable="true"/> + <mandatoryConform/> + <constraint type="between" from="0%" to="100%"/> + </field> + <field id="4" name="SetPoint" type="temperature"> + <mandatoryConform/> + </field> + <field id="5" name="UnreadEntries" type="uint16"> + <mandatoryConform/> + </field> + </command> + <command id="0x02" name="GetWeeklySchedule" response="GetWeeklyScheduleResponse"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="SCH"/> + </mandatoryConform> + <field id="0" name="DaysToReturn" type="DayOfWeek"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="ModeToReturn" type="ModeForSequence"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x03" name="ClearWeeklySchedule"> + <access invokePrivilege="manage"/> + <mandatoryConform> + <feature name="SCH"/> + </mandatoryConform> + </command> + <command id="0x04" name="GetRelayStatusLog" response="GetRelayStatusLogResponse"> + <access invokePrivilege="operate"/> + <optionalConform/> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/ThermostatUserInterfaceConfiguration.xml b/zcl-builtin/matter/new-data-model/ThermostatUserInterfaceConfiguration.xml new file mode 100644 index 0000000000000000000000000000000000000000..02129fa6daf3c4255f1c87b1a6a3c0e7f5793c73 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/ThermostatUserInterfaceConfiguration.xml @@ -0,0 +1,119 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0204" name="Thermostat User Interface Configuration" revision="2"> + <revisionHistory> + <revision revision="1" summary="Global mandatory ClusterRevision attribute added"/> + <revision revision="2" summary="New data model format and notation, added "Conversion of Temperature Values for Display" section"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="TSUIC" scope="Endpoint"/> + <dataTypes> + <enum name="KeypadLockoutEnum"> + <item value="0" name="NoLockout" summary="All functionality available to the user"> + <mandatoryConform/> + </item> + <item value="1" name="Lockout1" summary="Level 1 reduced functionality"> + <mandatoryConform/> + </item> + <item value="2" name="Lockout2" summary="Level 2 reduced functionality"> + <mandatoryConform/> + </item> + <item value="3" name="Lockout3" summary="Level 3 reduced functionality"> + <mandatoryConform/> + </item> + <item value="4" name="Lockout4" summary="Level 4 reduced functionality"> + <mandatoryConform/> + </item> + <item value="5" name="Lockout5" summary="Least functionality available to the user"> + <mandatoryConform/> + </item> + </enum> + <enum name="ScheduleProgrammingVisibilityEnum"> + <item value="0" name="ScheduleProgrammingPermitted" summary="Local schedule programming functionality is enabled at the thermostat"> + <mandatoryConform/> + </item> + <item value="1" name="ScheduleProgrammingDenied" summary="Local schedule programming functionality is disabled at the thermostat"> + <mandatoryConform/> + </item> + </enum> + <enum name="TemperatureDisplayModeEnum"> + <item value="0" name="Celsius" summary="Temperature displayed in °C"> + <mandatoryConform/> + </item> + <item value="1" name="Fahrenheit" summary="Temperature displayed in °F"> + <mandatoryConform/> + </item> + </enum> + </dataTypes> + <attributes> + <attribute id="0x0000" name="TemperatureDisplayMode" type="TemperatureDisplayModeEnum" default="Celsius"> + <access read="true" write="true" readPrivilege="view" writePrivilege="operate"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0001" name="KeypadLockout" type="KeypadLockoutEnum" default="NoLockout"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0002" name="ScheduleProgrammingVisibility" type="ScheduleProgrammingVisibilityEnum" default="ScheduleProgrammingPermitted"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/ThreadBorderRouterDiagnostics.xml b/zcl-builtin/matter/new-data-model/ThreadBorderRouterDiagnostics.xml new file mode 100644 index 0000000000000000000000000000000000000000..64594892a9b50a2c5f4e74d530421d195f0114d1 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/ThreadBorderRouterDiagnostics.xml @@ -0,0 +1,93 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Thread Border Router Diagnostics" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="TODO" scope="Endpoint"/> + <commands> + <command id="0x00" name="OpDatasetRequest" response="OpDatasetResponse"> + <access invokePrivilege="admin"/> + <mandatoryConform/> + </command> + <command id="0x01" name="OpDatasetResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="OperationalDataset" type="octets"> + <mandatoryConform> + <feature name="TH"/> + </mandatoryConform> + <constraint type="maxLength" value="254"/> + </field> + </command> + <command id="0x02" name="TopologyRequest" response="TopologyResponse"> + <access invokePrivilege="admin"/> + <mandatoryConform/> + </command> + <command id="0x03" name="TopologyResponse" direction="responseFromServer"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="ThreadTopology" type="TODO"> + <mandatoryConform> + <feature name="TH"/> + </mandatoryConform> + <constraint type="allowed" value="TODO"/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/TimeSync.xml b/zcl-builtin/matter/new-data-model/TimeSync.xml new file mode 100644 index 0000000000000000000000000000000000000000..3b5610260122e83a2081552dc0428305672a14b7 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/TimeSync.xml @@ -0,0 +1,200 @@ +<?xml version="1.0"?> +<!-- +link:../matter-defines.adoc[] + +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0038" name="Time Sync" revision="2"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + <revision revision="2" summary="Make TrustedTimeSource fabric-aware, add TSC feature, define list max sizes, change writable attributes to commands, remote port, add attribute for DNS support"/> + </revisionHistory> + <classification hierarchy="base" role="utility" picsCode="TIMESYNC" scope="Node"/> + <features> + <feature bit="0" code="TZ" name="TimeZone" summary="Server supports time zone."> + <optionalConform/> + </feature> + <feature bit="1" code="NTPC" name="NTPClient" summary="Server supports an NTP or SNTP client."> + <optionalConform/> + </feature> + <feature bit="2" code="NTPS" name="NTPServer" summary="Server supports an NTP server role."> + <optionalConform/> + </feature> + <feature bit="3" code="TSC" name="TimeSyncClient" summary="Time synchronization client cluster is present."> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="GranularityEnum"> + <item value="0" name="NoTimeGranularity" summary="This indicates that the node is not currently synchronized with a UTC Time source and its clock is based on the Last Known Good UTC Time only."> + <mandatoryConform/> + </item> + <item value="1" name="MinutesGranularity" summary="This indicates the node was synchronized to an upstream source in the past, but sufficient clock drift has occurred such that the clock error is now > 5 seconds."> + <mandatoryConform/> + </item> + <item value="2" name="SecondsGranularity" summary="This indicates the node is synchronized to an upstream source using a low resolution protocol. UTC Time is accurate to ± 5 seconds."> + <mandatoryConform/> + </item> + <item value="3" name="MillisecondsGranularity" summary="This indicates the node is synchronized to an upstream source using high resolution time-synchronization protocol such as NTP, or has built-in GNSS with some amount of jitter applying its GNSS timestamp. UTC Time is accurate to ± 50ms."> + <mandatoryConform/> + </item> + <item value="4" name="MicrosecondsGranularity" summary="This indicates the node is synchronized to an upstream source using a highly precise time-synchronization protocol such as PTP, or has built-in GNSS. UTC time is accurate to ± 10 μs."> + <mandatoryConform/> + </item> + </enum> + <enum name="TimeZoneDatabaseEnum"> + <item value="0" name="Full" summary="Node has a full list of the available time zones"> + <mandatoryConform/> + </item> + <item value="1" name="Partial" summary="Node has a partial list of the available time zones"> + <mandatoryConform/> + </item> + <item value="2" name="None" summary="Node does not have a time zone database"> + <mandatoryConform/> + </item> + </enum> + <struct name="DSTOffsetStruct"> + <field id="0" name="Offset" type="int32"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + <field id="1" name="ValidStarting" type="<<ref_DataTypeEpochUs>>"> + <mandatoryConform/> + </field> + <field id="2" name="ValidUntil" type="<<ref_DataTypeEpochUs>>"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </struct> + <struct name="FabricScopedTrustedTimeSourceStruct"> + <field id="0" name="NodeID" type="<<ref_DataTypeNodeId>>"> + <mandatoryConform/> + </field> + <field id="1" name="Endpoint" type="<<ref_DataTypeEndpointNumber>>"> + <mandatoryConform/> + </field> + </struct> + <struct name="TimeZoneStruct"> + <field id="0" name="Offset" type="int32"> + <mandatoryConform/> + <constraint type="between" from="-43200" to="50400"/> + </field> + <field id="1" name="ValidAt" type="<<ref_DataTypeEpochUs>>"> + <mandatoryConform/> + </field> + <field id="2" name="Name" type="<<ref_DataTypeString>>"> + <optionalConform/> + <constraint type="between" from="0" to="64"/> + </field> + </struct> + <struct name="TrustedTimeSourceStruct"> + <field id="0" name="FabricIndex" type="<<ref_FabricIdx>>"> + <mandatoryConform/> + </field> + <field id="1" name="NodeID" type="<<ref_DataTypeNodeId>>"> + <mandatoryConform/> + </field> + <field id="2" name="Endpoint" type="<<ref_DataTypeEndpointNumber>>"> + <mandatoryConform/> + </field> + </struct> + </dataTypes> + <events> + <event id="0x00" name="DSTTableEmpty" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform> + <feature name="TZ"/> + </mandatoryConform> + </event> + <event id="0x01" name="DSTStatus" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform> + <feature name="TZ"/> + </mandatoryConform> + <field id="0" name="DSTOffsetActive" type="bool"> + <mandatoryConform/> + </field> + </event> + <event id="0x02" name="TimeZoneStatus" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform> + <feature name="TZ"/> + </mandatoryConform> + <field id="0" name="Offset" type="int32"> + <mandatoryConform/> + <constraint type="between" from="-43200" to="50400"/> + </field> + <field id="1" name="Name" type="<<ref_DataTypeString>>"> + <optionalConform/> + <constraint type="between" from="0" to="64"/> + </field> + </event> + <event id="0x03" name="TimeFailure" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform/> + </event> + <event id="0x04" name="MissingTrustedTimeSource" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform> + <feature name="TSC"/> + </mandatoryConform> + <field id="0" name="TrustedTimeSource" type="FabricScopedTrustedTimeSourceStruct"> + <quality nullable="true"/> + <mandatoryConform/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/Timer.xml b/zcl-builtin/matter/new-data-model/Timer.xml new file mode 100644 index 0000000000000000000000000000000000000000..a43313954d90046bb6ed5ae3180a949d678db419 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/Timer.xml @@ -0,0 +1,131 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0047" name="Timer" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial revision"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="TIMER" scope="Endpoint"/> + <features> + <feature bit="0" code="RESET" name="Reset" summary="Supports the ability to reset timers"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="TimerStatusEnum"> + <item value="0" name="Running" summary="The timer is currently in a running state"> + <mandatoryConform/> + </item> + <item value="1" name="Paused" summary="This timer is currently paused"> + <mandatoryConform/> + </item> + <item value="2" name="Expired" summary="This timer has expired"> + <mandatoryConform/> + </item> + <item value="3" name="Ready" summary="This timer is ready to start"> + <mandatoryConform/> + </item> + </enum> + </dataTypes> + <attributes> + <attribute id="0x0000" name="SetTime" type="elapsed-s"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="max" value="259200"/> + </attribute> + <attribute id="0x0001" name="TimeRemaining" type="elapsed-s"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="true" nullable="false" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="SetTime"/> + </attribute> + <attribute id="0x0002" name="TimerState" type="TimerStatusEnum"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="SetTimer" response="Y"> + <access invokePrivilege="operate"/> + <field id="0" name="NewTime" type="elapsed-s"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x01" name="ResetTimer" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="RESET"/> + </mandatoryConform> + </command> + <command id="0x02" name="AddTime" response="Y"> + <access invokePrivilege="operate"/> + <field id="0" name="AdditionalTime" type="elapsed-s"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x03" name="ReduceTime" response="Y"> + <access invokePrivilege="operate"/> + <optionalConform/> + <field id="0" name="TimeReduction" type="elapsed-s"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/ValveConfigurationControl.xml b/zcl-builtin/matter/new-data-model/ValveConfigurationControl.xml new file mode 100644 index 0000000000000000000000000000000000000000..2661ca02880726ffdd1e6f0f7e96e591f0d9fa54 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/ValveConfigurationControl.xml @@ -0,0 +1,196 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0081" name="Valve Configuration and Control" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="VALCC" scope="Endpoint"/> + <features> + <feature bit="0" code="TS" name="TimeSync" summary="UTC time is used for time indications"> + <optionalConform/> + </feature> + <feature bit="1" code="LVL" name="Level" summary="Device supports setting the specific position of the valve"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <enum name="ValveStateEnum"> + <item value="0" name="Open" summary="Valve is in open position"> + <mandatoryConform/> + </item> + <item value="1" name="Closed" summary="Valve is in closed position"> + <mandatoryConform/> + </item> + </enum> + <bitmap name="ValveFaultBitmap"> + <bitfield name="GeneralFault" bit="0" summary="Unspecified fault detected"> + <mandatoryConform/> + </bitfield> + <bitfield name="Blocked" bit="1" summary="Valve is blocked"> + <mandatoryConform/> + </bitfield> + <bitfield name="Leaking" bit="2" summary="Valve has detected a leak"> + <mandatoryConform/> + </bitfield> + </bitmap> + </dataTypes> + <attributes> + <attribute id="0x0000" name="OpenDuration" type="elapsed-s" default="null"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="min" value="1"/> + </attribute> + <attribute id="0x0001" name="AutoCloseTime" type="epoch-us" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform> + <feature name="TS"/> + </optionalConform> + </attribute> + <attribute id="0x0002" name="RemainingDuration" type="elapsed-s" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0003" name="CurrentState" type="ValveStateEnum" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0004" name="TargetState" type="ValveStateEnum" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0005" name="StartUpState" type="ValveStateEnum" default="MS"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform/> + </attribute> + <attribute id="0x0006" name="CurrentLevel" type="percent" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="LVL"/> + </mandatoryConform> + </attribute> + <attribute id="0x0007" name="TargetLevel" type="percent" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform> + <feature name="LVL"/> + </mandatoryConform> + </attribute> + <attribute id="0x0008" name="OpenLevel" type="percent" default="100"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform> + <feature name="LVL"/> + </optionalConform> + <constraint type="between" from="1" to="100"/> + </attribute> + <attribute id="0x0009" name="ValveFault" type="ValveFaultBitmap" default="0"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="Open" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + <field id="0" name="OpenDuration" type="elapsed-s"> + <optionalConform/> + <constraint type="min" value="1"/> + </field> + </command> + <command id="0x01" name="Close" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + </command> + <command id="0x02" name="SetLevel" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform> + <feature name="LVL"/> + </mandatoryConform> + <field id="0" name="Level" type="percent"> + <mandatoryConform/> + </field> + <field id="1" name="OpenDuration" type="elapsed-s"> + <optionalConform/> + <constraint type="min" value="1"/> + </field> + </command> + </commands> + <events> + <event id="0x00" name="ValveStateChanged" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + <field id="0" name="ValveState" type="ValveStateEnum"> + <mandatoryConform/> + </field> + </event> + <event id="0x01" name="ValveFault" priority="info"> + <access readPrivilege="view"/> + <optionalConform/> + <field id="0" name="ValveFault" type="ValveFaultBitmap"> + <mandatoryConform/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/WakeOnLAN.xml b/zcl-builtin/matter/new-data-model/WakeOnLAN.xml new file mode 100644 index 0000000000000000000000000000000000000000..38144fe92655b6be0ee35c780560433b16493223 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/WakeOnLAN.xml @@ -0,0 +1,77 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0503" name="Wake on LAN" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="WAKEONLAN" scope="Endpoint"/> + <attributes> + <attribute id="0x0000" name="MACAddress" type="string"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform/> + <constraint type="maxLength" value="12"/> + </attribute> + <attribute id="0x0001" name="LinkLocalAddress" type="ipv6adr"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/WaterContentMeasurement.xml b/zcl-builtin/matter/new-data-model/WaterContentMeasurement.xml new file mode 100644 index 0000000000000000000000000000000000000000..1654fd5ae3ff8c886605747eaac75b875922de4b --- /dev/null +++ b/zcl-builtin/matter/new-data-model/WaterContentMeasurement.xml @@ -0,0 +1,90 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Water Content Measurement Clusters" revision="3"> + <revisionHistory> + <revision revision="1" summary="Mandatory global ClusterRevision attribute added"/> + <revision revision="2" summary="CCB 2241"/> + <revision revision="3" summary="New data model format and notation"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="RH" scope="Endpoint"/> + <attributes> + <attribute id="0x0000" name="MeasuredValue" type="uint16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform/> + <constraint type="between" from="MinMeasuredValue" to="MaxMeasuredValue"/> + </attribute> + <attribute id="0x0001" name="MinMeasuredValue" type="uint16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="0" to="MaxMeasuredValue-1"/> + </attribute> + <attribute id="0x0002" name="MaxMeasuredValue" type="uint16"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="volatile" reportable="false"/> + <mandatoryConform/> + <constraint type="between" from="MinMeasuredValue+1" to="10000"/> + </attribute> + <attribute id="0x0003" name="Tolerance" type="uint16"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + <constraint type="between" from="0" to="2048"/> + </attribute> + </attributes> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/WaterHeaterManagement.xml b/zcl-builtin/matter/new-data-model/WaterHeaterManagement.xml new file mode 100644 index 0000000000000000000000000000000000000000..fb00de437bd5a657ffb27f529092ad1ecc427be8 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/WaterHeaterManagement.xml @@ -0,0 +1,159 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0094" name="Water Heater Management" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release in Matter"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="WHM" scope="Endpoint"/> + <features> + <feature bit="1" code="EM" name="EnergyManagement" summary="Allows energy management control of the tank"> + <optionalConform/> + </feature> + </features> + <dataTypes> + <bitmap name="WaterHeaterDemandBitmap"> + <bitfield name="ImmersionElement1" bit="0" summary="Immersion Heating Element1 State On"> + <mandatoryConform/> + </bitfield> + <bitfield name="ImmersionElement2" bit="1" summary="Immersion Heating Element2 State On"> + <mandatoryConform/> + </bitfield> + <bitfield name="HeatPump" bit="2" summary="Heat pump Heating State On"> + <mandatoryConform/> + </bitfield> + <bitfield name="Boiler" bit="3" summary="Boiler Heating State On"> + <mandatoryConform/> + </bitfield> + <bitfield name="Other" bit="4" summary="Other Heating State On"> + <mandatoryConform/> + </bitfield> + </bitmap> + <bitmap name="WaterHeaterTypeBitmap"> + <bitfield name="ImmersionElement1" bit="0" summary="Supports Immersion Heating Element1"> + <mandatoryConform/> + </bitfield> + <bitfield name="ImmersionElement2" bit="1" summary="Supports Immersion Heating Element2"> + <mandatoryConform/> + </bitfield> + <bitfield name="HeatPump" bit="2" summary="Supports Heat pump Heating"> + <mandatoryConform/> + </bitfield> + <bitfield name="Boiler" bit="3" summary="Supports Boiler Heating (e.g. Gas or Oil)"> + <mandatoryConform/> + </bitfield> + <bitfield name="Other" bit="4" summary="Supports Other Heating"> + <mandatoryConform/> + </bitfield> + </bitmap> + </dataTypes> + <attributes> + <attribute id="0x0000" name="HeaterTypes" type="WaterHeaterTypeBitmap" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0001" name="HeatDemand" type="WaterHeaterDemandBitmap" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + </attribute> + <attribute id="0x0002" name="TankVolume" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="EM"/> + </mandatoryConform> + </attribute> + <attribute id="0x0003" name="EstimatedHeatRequired" type="<<ref_Energy>>" default="0"> + <access read="true" readPrivilege="view"/> + <mandatoryConform> + <feature name="EM"/> + </mandatoryConform> + </attribute> + <attribute id="0x0004" name="TankPercentage" type="percent" default="0"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + </attribute> + </attributes> + <commands> + <command id="0x01" name="Boost" response="Y"> + <access invokePrivilege="manage"/> + <mandatoryConform/> + <field id="0" name="Duration" type="elapsed-s"> + <mandatoryConform/> + </field> + <field id="1" name="OneShot" type="bool"> + <mandatoryConform/> + </field> + <field id="2" name="EmergencyBoost" type="bool"> + <mandatoryConform/> + </field> + <field id="3" name="TemporarySetpoint" type="temperature"> + <optionalConform/> + </field> + <field id="4" name="TargetPercentage" type="percent"> + <optionalConform/> + </field> + <field id="5" name="TargetReheat" type="percent"> + <optionalConform/> + </field> + </command> + <command id="0x01" name="CancelBoost" response="Y"> + <access invokePrivilege="manage"/> + <mandatoryConform/> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/WiFiPerDeviceCredentials.xml b/zcl-builtin/matter/new-data-model/WiFiPerDeviceCredentials.xml new file mode 100644 index 0000000000000000000000000000000000000000..e74e0b0595a099f00d38e8073945f6da9e8fcea6 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/WiFiPerDeviceCredentials.xml @@ -0,0 +1,58 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Wi-Fi Authentication with Per-Device Credentials" revision=""/> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/WindowCovering.xml b/zcl-builtin/matter/new-data-model/WindowCovering.xml new file mode 100644 index 0000000000000000000000000000000000000000..8ee9e0565c2ad164b13bb11ba9b38a7a2f42e347 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/WindowCovering.xml @@ -0,0 +1,694 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0102" name="Window Covering" revision="5"> + <revisionHistory> + <revision revision="1" summary="Mandatory global ClusterRevision attribute added; CCB 1994 1995 1996 1997 2086 2094 2095 2096 2097"/> + <revision revision="2" summary="CCB 2328"/> + <revision revision="3" summary="CCB 2477 2555 2845 3028"/> + <revision revision="4" summary="All Hubs changes with FeatureMap & OperationalStatus attribute"/> + <revision revision="5" summary="New data model format and notation. Created plus clarified PositionAware and AbsolutePosition features. General cleanup of functionality."/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="WNCV" scope="Endpoint"/> + <features> + <feature bit="0" code="LF" name="Lift" summary="Lift control and behavior for lifting/sliding window coverings"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="1" code="TL" name="Tilt" summary="Tilt control and behavior for tilting window coverings"> + <optionalConform choice="a" more="true"/> + </feature> + <feature bit="2" code="PA_LF" name="PositionAwareLift" summary="Position aware lift control is supported."> + <optionalConform> + <feature name="LF"/> + </optionalConform> + </feature> + <feature bit="3" code="ABS" name="AbsolutePosition" summary="Absolute positioning is supported."> + <optionalConform/> + </feature> + <feature bit="4" code="PA_TL" name="PositionAwareTilt" summary="Position aware tilt control is supported."> + <optionalConform> + <feature name="TL"/> + </optionalConform> + </feature> + </features> + <dataTypes> + <enum name="EndProductTypeEnum"> + <item value="0" name="RollerShade" summary="Simple Roller Shade"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="1" name="RomanShade" summary="Roman Shade"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="2" name="BalloonShade" summary="Balloon Shade"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="3" name="WovenWood" summary="Woven Wood"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="4" name="PleatedShade" summary="Pleated Shade"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="5" name="CellularShade" summary="Cellular Shade"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="6" name="LayeredShade" summary="Layered Shade"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="7" name="LayeredShade2D" summary="Layered Shade 2D"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="8" name="SheerShade" summary="Sheer Shade"> + <mandatoryConform> + <andTerm> + <feature name="LF"/> + <feature name="TL"/> + </andTerm> + </mandatoryConform> + </item> + <item value="9" name="TiltOnlyInteriorBlind" summary="Tilt Only Interior Blind"> + <mandatoryConform> + <feature name="TL"/> + </mandatoryConform> + </item> + <item value="10" name="InteriorBlind" summary="Interior Blind"> + <mandatoryConform> + <andTerm> + <feature name="LF"/> + <feature name="TL"/> + </andTerm> + </mandatoryConform> + </item> + <item value="11" name="VerticalBlindStripCurtain" summary="Vertical Blind, Strip Curtain"> + <mandatoryConform> + <andTerm> + <feature name="LF"/> + <feature name="TL"/> + </andTerm> + </mandatoryConform> + </item> + <item value="12" name="InteriorVenetianBlind" summary="Interior Venetian Blind"> + <mandatoryConform> + <andTerm> + <feature name="LF"/> + <feature name="TL"/> + </andTerm> + </mandatoryConform> + </item> + <item value="13" name="ExteriorVenetianBlind" summary="Exterior Venetian Blind"> + <mandatoryConform> + <andTerm> + <feature name="LF"/> + <feature name="TL"/> + </andTerm> + </mandatoryConform> + </item> + <item value="14" name="LateralLeftCurtain" summary="Lateral Left Curtain"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="15" name="LateralRightCurtain" summary="Lateral Right Curtain"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="16" name="CentralCurtain" summary="Central Curtain"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="17" name="RollerShutter" summary="Roller Shutter"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="18" name="ExteriorVerticalScreen" summary="Exterior Vertical Screen"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="19" name="AwningTerracePatio" summary="Awning Terrace (Patio)"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="20" name="AwningVerticalScreen" summary="Awning Vertical Screen"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="21" name="TiltOnlyPergola" summary="Tilt Only Pergola"> + <mandatoryConform> + <orTerm> + <feature name="LF"/> + <feature name="TL"/> + </orTerm> + </mandatoryConform> + </item> + <item value="22" name="SwingingShutter" summary="Swinging Shutter"> + <mandatoryConform> + <orTerm> + <feature name="LF"/> + <feature name="TL"/> + </orTerm> + </mandatoryConform> + </item> + <item value="23" name="SlidingShutter" summary="Sliding Shutter"> + <mandatoryConform> + <orTerm> + <feature name="LF"/> + <feature name="TL"/> + </orTerm> + </mandatoryConform> + </item> + <item value="255" name="Unknown" summary="Unknown"> + <optionalConform/> + </item> + </enum> + <enum name="TypeEnum"> + <item value="0" name="RollerShade" summary="RollerShade"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="1" name="RollerShade2Motor" summary="RollerShade - 2 Motor"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="2" name="RollerShadeExterior" summary="RollerShade - Exterior"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="3" name="RollerShadeExterior2Motor" summary="RollerShade - Exterior - 2 Motor"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="4" name="Drapery" summary="Drapery (curtain)"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="5" name="Awning" summary="Awning"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="6" name="Shutter" summary="Shutter"> + <mandatoryConform> + <orTerm> + <feature name="LF"/> + <feature name="TL"/> + </orTerm> + </mandatoryConform> + </item> + <item value="7" name="TiltBlindTiltOnly" summary="Tilt Blind - Tilt Only"> + <mandatoryConform> + <feature name="TL"/> + </mandatoryConform> + </item> + <item value="8" name="TiltBlindLiftAndTilt" summary="Tilt Blind - Lift & Tilt"> + <mandatoryConform> + <andTerm> + <feature name="LF"/> + <feature name="TL"/> + </andTerm> + </mandatoryConform> + </item> + <item value="9" name="ProjectorScreen" summary="Projector Screen"> + <mandatoryConform> + <feature name="LF"/> + </mandatoryConform> + </item> + <item value="255" name="Unknown" summary="Unknown"> + <optionalConform/> + </item> + </enum> + <bitmap name="ConfigStatusBitmap"> + <bitfield name="Operational" bit="0" summary="Device is operational."> + <mandatoryConform/> + </bitfield> + <bitfield name="OnlineReserved" bit="1" summary="Deprecated and reserved."> + <mandatoryConform/> + </bitfield> + <bitfield name="LiftMovementReversed" bit="2" summary="The lift movement is reversed."> + <mandatoryConform/> + </bitfield> + <bitfield name="LiftPositionAware" bit="3" summary="Supports the PositionAwareLift feature (PA_LF)."> + <mandatoryConform/> + </bitfield> + <bitfield name="TiltPositionAware" bit="4" summary="Supports the PositionAwareTilt feature (PA_TL)."> + <mandatoryConform/> + </bitfield> + <bitfield name="LiftEncoderControlled" bit="5" summary="Uses an encoder for lift."> + <mandatoryConform/> + </bitfield> + <bitfield name="TiltEncoderControlled" bit="6" summary="Uses an encoder for tilt."> + <mandatoryConform/> + </bitfield> + </bitmap> + <bitmap name="ModeBitmap"> + <bitfield name="MotorDirectionReversed" bit="0" summary="Reverse the lift direction."> + <mandatoryConform/> + </bitfield> + <bitfield name="CalibrationMode" bit="1" summary="Perform a calibration."> + <mandatoryConform/> + </bitfield> + <bitfield name="MaintenanceMode" bit="2" summary="Freeze all motions for maintenance."> + <mandatoryConform/> + </bitfield> + <bitfield name="LedFeedback" bit="3" summary="Control the LEDs feedback."> + <mandatoryConform/> + </bitfield> + </bitmap> + <bitmap name="OperationalStatusBitmap"> + <bitfield name="Global" summary="Global operational state."> + <mandatoryConform/> + </bitfield> + <bitfield name="Lift" summary="Lift operational state."> + <mandatoryConform/> + </bitfield> + <bitfield name="Tilt" summary="Tilt operational state."> + <mandatoryConform/> + </bitfield> + </bitmap> + <bitmap name="SafetyStatusBitmap"> + <bitfield name="RemoteLockout" bit="0" summary="Movement commands are ignored (locked out). e.g. not granted authorization, outside some time/date range."> + <mandatoryConform/> + </bitfield> + <bitfield name="TamperDetection" bit="1" summary="Tampering detected on sensors or any other safety equipment. Ex: a device has been forcedly moved without its actuator(s)."> + <mandatoryConform/> + </bitfield> + <bitfield name="FailedCommunication" bit="2" summary="Communication failure to sensors or other safety equipment."> + <mandatoryConform/> + </bitfield> + <bitfield name="PositionFailure" bit="3" summary="Device has failed to reach the desired position. e.g. with position aware device, time expired before TargetPosition is reached."> + <mandatoryConform/> + </bitfield> + <bitfield name="ThermalProtection" bit="4" summary="Motor(s) and/or electric circuit thermal protection activated."> + <mandatoryConform/> + </bitfield> + <bitfield name="ObstacleDetected" bit="5" summary="An obstacle is preventing actuator movement."> + <mandatoryConform/> + </bitfield> + <bitfield name="Power" bit="6" summary="Device has power related issue or limitation e.g. device is running w/ the help of a backup battery or power might not be fully available at the moment."> + <mandatoryConform/> + </bitfield> + <bitfield name="StopInput" bit="7" summary="Local safety sensor (not a direct obstacle) is preventing movements (e.g. Safety EU Standard EN60335)."> + <mandatoryConform/> + </bitfield> + <bitfield name="MotorJammed" bit="8" summary="Mechanical problem related to the motor(s) detected."> + <mandatoryConform/> + </bitfield> + <bitfield name="HardwareFailure" bit="9" summary="PCB, fuse and other electrics problems."> + <mandatoryConform/> + </bitfield> + <bitfield name="ManualOperation" bit="10" summary="Actuator is manually operated and is preventing actuator movement (e.g. actuator is disengaged/decoupled)."> + <mandatoryConform/> + </bitfield> + <bitfield name="Protection" bit="11" summary="Protection is activated."> + <mandatoryConform/> + </bitfield> + </bitmap> + </dataTypes> + <attributes> + <attribute id="0x0000" name="Type" type="TypeEnum" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0001" name="PhysicalClosedLimitLift" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform> + <andTerm> + <feature name="LF"/> + <feature name="PA_LF"/> + <feature name="ABS"/> + </andTerm> + </optionalConform> + </attribute> + <attribute id="0x0002" name="PhysicalClosedLimitTilt" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <optionalConform> + <andTerm> + <feature name="TL"/> + <feature name="PA_TL"/> + <feature name="ABS"/> + </andTerm> + </optionalConform> + </attribute> + <attribute id="0x0003" name="CurrentPositionLift" type="uint16" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform> + <andTerm> + <feature name="LF"/> + <feature name="PA_LF"/> + <feature name="ABS"/> + </andTerm> + </optionalConform> + <constraint type="between" from="InstalledOpenLimitLift" to="InstalledClosedLimitLift"/> + </attribute> + <attribute id="0x0004" name="CurrentPositionTilt" type="uint16" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform> + <andTerm> + <feature name="TL"/> + <feature name="PA_TL"/> + <feature name="ABS"/> + </andTerm> + </optionalConform> + <constraint type="between" from="InstalledOpenLimitTilt" to="InstalledClosedLimitTilt"/> + </attribute> + <attribute id="0x0005" name="NumberOfActuationsLift" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform> + <feature name="LF"/> + </optionalConform> + </attribute> + <attribute id="0x0006" name="NumberOfActuationsTilt" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <optionalConform> + <feature name="TL"/> + </optionalConform> + </attribute> + <attribute id="0x0007" name="ConfigStatus" type="ConfigStatusBitmap" default="desc"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x0008" name="CurrentPositionLiftPercentage" type="percent" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="true" persistence="nonVolatile" reportable="true"/> + <optionalConform> + <andTerm> + <feature name="LF"/> + <feature name="PA_LF"/> + </andTerm> + </optionalConform> + </attribute> + <attribute id="0x0009" name="CurrentPositionTiltPercentage" type="percent" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="true" persistence="nonVolatile" reportable="true"/> + <optionalConform> + <andTerm> + <feature name="TL"/> + <feature name="PA_TL"/> + </andTerm> + </optionalConform> + <constraint type="between" from="0" to="100"/> + </attribute> + <attribute id="0x000a" name="OperationalStatus" type="OperationalStatusBitmap" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <mandatoryConform/> + <constraint type="allowed" value="0b00xx xxxx"/> + </attribute> + <attribute id="0x000b" name="TargetPositionLiftPercent100ths" type="percent100ths" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="true" persistence="volatile" reportable="true"/> + <mandatoryConform> + <andTerm> + <feature name="LF"/> + <feature name="PA_LF"/> + </andTerm> + </mandatoryConform> + </attribute> + <attribute id="0x000c" name="TargetPositionTiltPercent100ths" type="percent100ths" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="true" persistence="volatile" reportable="true"/> + <mandatoryConform> + <andTerm> + <feature name="TL"/> + <feature name="PA_TL"/> + </andTerm> + </mandatoryConform> + </attribute> + <attribute id="0x000d" name="EndProductType" type="EndProductTypeEnum" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false"/> + <mandatoryConform/> + <constraint type="desc"/> + </attribute> + <attribute id="0x000e" name="CurrentPositionLiftPercent100ths" type="percent100ths" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="true"/> + <mandatoryConform> + <andTerm> + <feature name="LF"/> + <feature name="PA_LF"/> + </andTerm> + </mandatoryConform> + <constraint type="between" from="0" to="10000"/> + </attribute> + <attribute id="0x000f" name="CurrentPositionTiltPercent100ths" type="percent100ths" default="null"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="true" scene="false" persistence="nonVolatile" reportable="true"/> + <mandatoryConform> + <andTerm> + <feature name="TL"/> + <feature name="PA_TL"/> + </andTerm> + </mandatoryConform> + <constraint type="between" from="0" to="10000"/> + </attribute> + <attribute id="0x0010" name="InstalledOpenLimitLift" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="LF"/> + <feature name="PA_LF"/> + <feature name="ABS"/> + </andTerm> + </mandatoryConform> + <constraint type="between" from="0" to="65534"/> + </attribute> + <attribute id="0x0011" name="InstalledClosedLimitLift" type="uint16" default="65534"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="LF"/> + <feature name="PA_LF"/> + <feature name="ABS"/> + </andTerm> + </mandatoryConform> + <constraint type="between" from="0" to="65534"/> + </attribute> + <attribute id="0x0012" name="InstalledOpenLimitTilt" type="uint16" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="TL"/> + <feature name="PA_TL"/> + <feature name="ABS"/> + </andTerm> + </mandatoryConform> + <constraint type="between" from="0" to="65534"/> + </attribute> + <attribute id="0x0013" name="InstalledClosedLimitTilt" type="uint16" default="65534"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform> + <andTerm> + <feature name="TL"/> + <feature name="PA_TL"/> + <feature name="ABS"/> + </andTerm> + </mandatoryConform> + <constraint type="between" from="0" to="65534"/> + </attribute> + <attribute id="0x0014" name="VelocityLift"> + <deprecateConform/> + </attribute> + <attribute id="0x0015" name="AccelerationTimeLift"> + <deprecateConform/> + </attribute> + <attribute id="0x0016" name="DecelerationTimeLift"> + <deprecateConform/> + </attribute> + <attribute id="0x0017" name="Mode" type="ModeBitmap" default="0"> + <access read="true" write="true" readPrivilege="view" writePrivilege="manage"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="nonVolatile" reportable="false"/> + <mandatoryConform/> + <constraint type="allowed" value="0b0000 xxxx"/> + </attribute> + <attribute id="0x0018" name="IntermediateSetpointsLift"> + <deprecateConform/> + </attribute> + <attribute id="0x0019" name="IntermediateSetpointsTilt"> + <deprecateConform/> + </attribute> + <attribute id="0x001a" name="SafetyStatus" type="SafetyStatusBitmap" default="0"> + <access read="true" readPrivilege="view"/> + <quality changeOmitted="false" nullable="false" scene="false" persistence="volatile" reportable="true"/> + <optionalConform/> + <constraint type="desc"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="UpOrOpen" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + </command> + <command id="0x01" name="DownOrClose" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + </command> + <command id="0x02" name="StopMotion" response="Y"> + <access invokePrivilege="operate"/> + <mandatoryConform/> + </command> + <command id="0x04" name="GoToLiftValue" response="Y"> + <access invokePrivilege="operate"/> + <optionalConform> + <andTerm> + <feature name="LF"/> + <feature name="ABS"/> + </andTerm> + </optionalConform> + <field id="0" name="LiftValue" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x05" name="GoToLiftPercentage" response="Y"> + <access invokePrivilege="operate"/> + <otherwiseConform> + <mandatoryConform> + <andTerm> + <feature name="LF"/> + <feature name="PA_LF"/> + </andTerm> + </mandatoryConform> + <optionalConform> + <feature name="LF"/> + </optionalConform> + </otherwiseConform> + <field id="0" name="LiftPercentageValue" type="percent"> + <optionalConform choice="a"/> + <constraint type="desc"/> + </field> + <field id="1" name="LiftPercent100thsValue" type="percent100ths"> + <optionalConform choice="a"/> + <constraint type="desc"/> + </field> + </command> + <command id="0x07" name="GoToTiltValue" response="Y"> + <access invokePrivilege="operate"/> + <optionalConform> + <andTerm> + <feature name="TL"/> + <feature name="ABS"/> + </andTerm> + </optionalConform> + <field id="0" name="TiltValue" type="uint16"> + <mandatoryConform/> + <constraint type="desc"/> + </field> + </command> + <command id="0x08" name="GoToTiltPercentage" response="Y"> + <access invokePrivilege="operate"/> + <otherwiseConform> + <mandatoryConform> + <andTerm> + <feature name="TL"/> + <feature name="PA_TL"/> + </andTerm> + </mandatoryConform> + <optionalConform> + <feature name="TL"/> + </optionalConform> + </otherwiseConform> + <field id="0" name="TiltPercentageValue" type="percent"> + <optionalConform choice="a"/> + <constraint type="desc"/> + </field> + <field id="1" name="TiltPercent100thsValue" type="percent100ths"> + <optionalConform choice="a"/> + <constraint type="desc"/> + </field> + </command> + </commands> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/bridge-clusters-Actions.xml b/zcl-builtin/matter/new-data-model/bridge-clusters-Actions.xml new file mode 100644 index 0000000000000000000000000000000000000000..3ffd669fb9a706d610d6dd1ff546a010428f5efc --- /dev/null +++ b/zcl-builtin/matter/new-data-model/bridge-clusters-Actions.xml @@ -0,0 +1,378 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0025" name="Actions" revision="1"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + </revisionHistory> + <classification hierarchy="base" role="application" picsCode="ACT" scope="Node"/> + <dataTypes> + <enum name="ActionErrorEnum"> + <item value="0" name="Unknown" summary="Other reason not listed in the row(s) below"> + <mandatoryConform/> + </item> + <item value="1" name="Interrupted" summary="The action was interrupted by another command or interaction"> + <mandatoryConform/> + </item> + </enum> + <enum name="ActionStateEnum"> + <item value="0" name="Inactive" summary="The action is not active"> + <mandatoryConform/> + </item> + <item value="1" name="Active" summary="The action is active"> + <mandatoryConform/> + </item> + <item value="2" name="Paused" summary="The action has been paused"> + <mandatoryConform/> + </item> + <item value="3" name="Disabled" summary="The action has been disabled"> + <mandatoryConform/> + </item> + </enum> + <enum name="ActionTypeEnum"> + <item value="0" name="Other" summary="Use this only when none of the other values applies"> + <mandatoryConform/> + </item> + <item value="1" name="Scene" summary="Bring the endpoints into a certain state"> + <mandatoryConform/> + </item> + <item value="2" name="Sequence" summary="A sequence of states with a certain time pattern"> + <mandatoryConform/> + </item> + <item value="3" name="Automation" summary="Control an automation (e.g. motion sensor controlling lights)"> + <mandatoryConform/> + </item> + <item value="4" name="Exception" summary="Sequence that will run when something doesn't happen"> + <mandatoryConform/> + </item> + <item value="5" name="Notification" summary="Use the endpoints to send a message to user"> + <mandatoryConform/> + </item> + <item value="6" name="Alarm" summary="Higher priority notification"> + <mandatoryConform/> + </item> + </enum> + <enum name="EndpointListTypeEnum"> + <item value="0" name="Other" summary="Another group of endpoints"> + <mandatoryConform/> + </item> + <item value="1" name="Room" summary="User-configured group of endpoints where an endpoint can be in only one room"> + <mandatoryConform/> + </item> + <item value="2" name="Zone" summary="User-configured group of endpoints where an endpoint can be in any number of zones"> + <mandatoryConform/> + </item> + </enum> + <bitmap name="CommandBits"> + <bitfield name="InstantAction" bit="0" summary="Indicate support for InstantAction command"> + <mandatoryConform/> + </bitfield> + <bitfield name="InstantActionWithTransition" bit="1" summary="Indicate support for InstantActionWithTransition command"> + <mandatoryConform/> + </bitfield> + <bitfield name="StartAction" bit="2" summary="Indicate support for StartAction command"> + <mandatoryConform/> + </bitfield> + <bitfield name="StartActionWithDuration" bit="3" summary="Indicate support for StartActionWithDuration command"> + <mandatoryConform/> + </bitfield> + <bitfield name="StopAction" bit="4" summary="Indicate support for StopAction command"> + <mandatoryConform/> + </bitfield> + <bitfield name="PauseAction" bit="5" summary="Indicate support for PauseAction command"> + <mandatoryConform/> + </bitfield> + <bitfield name="PauseActionWithDuration" bit="6" summary="Indicate support for PauseActionWithDuration command"> + <mandatoryConform/> + </bitfield> + <bitfield name="ResumeAction" bit="7" summary="Indicate support for ResumeAction command"> + <mandatoryConform/> + </bitfield> + <bitfield name="EnableAction" bit="8" summary="Indicate support for EnableAction command"> + <mandatoryConform/> + </bitfield> + <bitfield name="EnableActionWithDuration" bit="9" summary="Indicate support for EnableActionWithDuration command"> + <mandatoryConform/> + </bitfield> + <bitfield name="DisableAction" bit="10" summary="Indicate support for DisableAction command"> + <mandatoryConform/> + </bitfield> + <bitfield name="DisableActionWithDuration" bit="11" summary="Indicate support for DisableActionWithDuration command"> + <mandatoryConform/> + </bitfield> + </bitmap> + <struct name="ActionStruct"> + <field id="0" name="ActionID" type="uint16"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="1" name="Name" type="<<ref_DataTypeString>>"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="2" name="Type" type="ActionTypeEnum"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="3" name="EndpointListID" type="uint16"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="4" name="SupportedCommands" type="CommandBits"> + <access read="true"/> + <mandatoryConform/> + <constraint type="between" from="0" to="0x0FFF"/> + </field> + <field id="5" name="State" type="ActionStateEnum"> + <access read="true"/> + <mandatoryConform/> + </field> + </struct> + <struct name="EndpointListStruct"> + <field id="0" name="EndpointListID" type="uint16"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="1" name="Name" type="<<ref_DataTypeString>>"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="2" name="Type" type="EndpointListTypeEnum"> + <access read="true"/> + <mandatoryConform/> + </field> + <field id="3" name="Endpoints" type="<<ref_DataTypeList>>[<<ref_DataTypeEndpointNumber>>]"> + <access read="true"/> + <mandatoryConform/> + <constraint type="max" value="256"/> + </field> + </struct> + </dataTypes> + <attributes> + <attribute id="0x0000" name="ActionList" type="<<ref_DataTypeList>>[ActionStruct Type]" default="empty"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="max" value="256"/> + </attribute> + <attribute id="0x0001" name="EndpointLists" type="<<ref_DataTypeList>>[EndpointListStruct Type]" default="empty"> + <access read="true" readPrivilege="view"/> + <mandatoryConform/> + <constraint type="max" value="256"/> + </attribute> + <attribute id="0x0002" name="SetupURL" type="<<ref_DataTypeString>>" default="empty"> + <access read="true" readPrivilege="view"/> + <optionalConform/> + <constraint type="max" value="512"/> + </attribute> + </attributes> + <commands> + <command id="0x00" name="InstantAction" response="Y"> + <access invokePrivilege="operate"/> + <field id="0" name="ActionID" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="InvokeID" type="uint32"> + <optionalConform/> + </field> + </command> + <command id="0x01" name="InstantActionWithTransition" response="Y"> + <access invokePrivilege="operate"/> + <field id="0" name="ActionID" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="InvokeID" type="uint32"> + <optionalConform/> + </field> + <field id="2" name="TransitionTime" type="uint16" default="MS"> + <mandatoryConform/> + </field> + </command> + <command id="0x02" name="StartAction" response="Y"> + <access invokePrivilege="operate"/> + <field id="0" name="ActionID" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="InvokeID" type="uint32"> + <optionalConform/> + </field> + </command> + <command id="0x03" name="StartActionWithDuration" response="Y"> + <access invokePrivilege="operate"/> + <field id="0" name="ActionID" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="InvokeID" type="uint32"> + <optionalConform/> + </field> + <field id="2" name="Duration" type="uint32" default="MS"> + <mandatoryConform/> + </field> + </command> + <command id="0x04" name="StopAction" response="Y"> + <access invokePrivilege="operate"/> + <field id="0" name="ActionID" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="InvokeID" type="uint32"> + <optionalConform/> + </field> + </command> + <command id="0x05" name="PauseAction" response="Y"> + <access invokePrivilege="operate"/> + <field id="0" name="ActionID" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="InvokeID" type="uint32"> + <optionalConform/> + </field> + </command> + <command id="0x06" name="PauseActionWithDuration" response="Y"> + <access invokePrivilege="operate"/> + <field id="0" name="ActionID" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="InvokeID" type="uint32"> + <optionalConform/> + </field> + <field id="2" name="Duration" type="uint32" default="MS"> + <mandatoryConform/> + </field> + </command> + <command id="0x07" name="ResumeAction" response="Y"> + <access invokePrivilege="operate"/> + <field id="0" name="ActionID" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="InvokeID" type="uint32"> + <optionalConform/> + </field> + </command> + <command id="0x08" name="EnableAction" response="Y"> + <access invokePrivilege="operate"/> + <field id="0" name="ActionID" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="InvokeID" type="uint32"> + <optionalConform/> + </field> + </command> + <command id="0x09" name="EnableActionWithDuration" response="Y"> + <access invokePrivilege="operate"/> + <field id="0" name="ActionID" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="InvokeID" type="uint32"> + <optionalConform/> + </field> + <field id="2" name="Duration" type="uint32" default="MS"> + <mandatoryConform/> + </field> + </command> + <command id="0x0a" name="DisableAction" response="Y"> + <access invokePrivilege="operate"/> + <field id="0" name="ActionID" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="InvokeID" type="uint32"> + <optionalConform/> + </field> + </command> + <command id="0x0b" name="DisableActionWithDuration" response="Y"> + <access invokePrivilege="operate"/> + <field id="0" name="ActionID" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="InvokeID" type="uint32"> + <optionalConform/> + </field> + <field id="2" name="Duration" type="uint32" default="MS"> + <mandatoryConform/> + </field> + </command> + </commands> + <events> + <event id="0x00" name="StateChanged" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform/> + <field id="0" name="ActionID" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="InvokeID" type="uint32"> + <mandatoryConform/> + </field> + <field id="2" name="NewState" type="ActionStateEnum"> + <mandatoryConform/> + </field> + </event> + <event id="0x01" name="ActionFailed" priority="info"> + <access readPrivilege="view"/> + <mandatoryConform/> + <field id="0" name="ActionID" type="uint16"> + <mandatoryConform/> + </field> + <field id="1" name="InvokeID" type="uint32"> + <mandatoryConform/> + </field> + <field id="2" name="NewState" type="ActionStateEnum"> + <mandatoryConform/> + </field> + <field id="3" name="Error" type="ActionErrorEnum"> + <mandatoryConform/> + </field> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/bridge-clusters-BridgedDeviceBasicInformation.xml b/zcl-builtin/matter/new-data-model/bridge-clusters-BridgedDeviceBasicInformation.xml new file mode 100644 index 0000000000000000000000000000000000000000..8d839c03def7f132702b99cfba66f530ab0b4eb8 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/bridge-clusters-BridgedDeviceBasicInformation.xml @@ -0,0 +1,154 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2021). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0039" name="Bridged Device Basic Information" revision="3"> + <revisionHistory> + <revision revision="1" summary="Initial Release"/> + <revision revision="2" summary="Added ProductAppearance attribute"/> + <revision revision="3" summary="Added SpecificationVersion and MaxPathsPerInvoke attributes"/> + </revisionHistory> + <classification hierarchy="derived" baseCluster="Basic Information" role="utility" picsCode="BRBINFO" scope="Endpoint"/> + <attributes> + <attribute id="0x0000" name="DataModelRevision"> + <disallowConform/> + </attribute> + <attribute id="0x0001" name="VendorName"> + <optionalConform/> + </attribute> + <attribute id="0x0002" name="VendorID"> + <optionalConform/> + </attribute> + <attribute id="0x0003" name="ProductName"> + <optionalConform/> + </attribute> + <attribute id="0x0004" name="ProductID"> + <disallowConform/> + </attribute> + <attribute id="0x0005" name="NodeLabel"> + <optionalConform/> + </attribute> + <attribute id="0x0006" name="Location"> + <disallowConform/> + </attribute> + <attribute id="0x0007" name="HardwareVersion"> + <optionalConform/> + </attribute> + <attribute id="0x0008" name="HardwareVersionString"> + <optionalConform/> + </attribute> + <attribute id="0x0009" name="SoftwareVersion"> + <optionalConform/> + </attribute> + <attribute id="0x000a" name="SoftwareVersionString"> + <optionalConform/> + </attribute> + <attribute id="0x000b" name="ManufacturingDate"> + <optionalConform/> + </attribute> + <attribute id="0x000c" name="PartNumber"> + <optionalConform/> + </attribute> + <attribute id="0x000d" name="ProductURL"> + <optionalConform/> + </attribute> + <attribute id="0x000e" name="ProductLabel"> + <optionalConform/> + </attribute> + <attribute id="0x000f" name="SerialNumber"> + <optionalConform/> + </attribute> + <attribute id="0x0010" name="LocalConfigDisabled"> + <disallowConform/> + </attribute> + <attribute id="0x0011" name="Reachable"> + <mandatoryConform/> + </attribute> + <attribute id="0x0012" name="UniqueID"> + <optionalConform/> + </attribute> + <attribute id="0x0013" name="CapabilityMinima"> + <disallowConform/> + </attribute> + <attribute id="0x0014" name="ProductAppearance"> + <optionalConform/> + </attribute> + <attribute id="0x0015" name="SpecificationVersion"> + <disallowConform/> + </attribute> + <attribute id="0x0016" name="MaxPathsPerInvoke"> + <disallowConform/> + </attribute> + </attributes> + <events> + <event id="0x00" name="StartUp"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x01" name="ShutDown"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x02" name="Leave"> + <access readPrivilege="view"/> + <optionalConform/> + </event> + <event id="0x03" name="ReachableChanged"> + <access readPrivilege="view"/> + <mandatoryConform/> + </event> + </events> +</cluster> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/energy_management.xml b/zcl-builtin/matter/new-data-model/energy_management.xml new file mode 100644 index 0000000000000000000000000000000000000000..6a5b85d938cf712d2adbaa97be65063dcc116982 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/energy_management.xml @@ -0,0 +1,58 @@ +<?xml version="1.0"?> +<!-- +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Energy Management" revision=""/> \ No newline at end of file diff --git a/zcl-builtin/matter/new-data-model/network_infrastructure.xml b/zcl-builtin/matter/new-data-model/network_infrastructure.xml new file mode 100644 index 0000000000000000000000000000000000000000..c4af2bf04f979afa3f68151a6ec4587af7ee3a88 --- /dev/null +++ b/zcl-builtin/matter/new-data-model/network_infrastructure.xml @@ -0,0 +1,62 @@ +<?xml version="1.0"?> +<!-- +Chapter Document 14-0127 + +Cluster Library 07-5123 + +Copyright (C) Connectivity Standards Alliance (2023). All rights reserved. +The information within this document is the property of the Connectivity +Standards Alliance and its use and disclosure are restricted, except as +expressly set forth herein. + +Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive, +nontransferable, worldwide, limited and revocable license (without the right to +sublicense), under Connectivity Standards Alliance's applicable copyright +rights, to view, download, save, reproduce and use the document solely for your +own internal purposes and in accordance with the terms of the license set forth +herein. This license does not authorize you to, and you expressly warrant that +you shall not: (a) permit others (outside your organization) to use this +document; (b) post or publish this document; (c) modify, adapt, translate, or +otherwise change this document in any manner or create any derivative work +based on this document; (d) remove or modify any notice or label on this +document, including this Copyright Notice, License and Disclaimer. The +Connectivity Standards Alliance does not grant you any license hereunder other +than as expressly stated herein. + +Elements of this document may be subject to third party intellectual property +rights, including without limitation, patent, copyright or trademark rights, +and any such third party may or may not be a member of the Connectivity +Standards Alliance. Connectivity Standards Alliance members grant other +Connectivity Standards Alliance members certain intellectual property rights as +set forth in the Connectivity Standards Alliance IPR Policy. Connectivity +Standards Alliance members do not grant you any rights under this license. The +Connectivity Standards Alliance is not responsible for, and shall not be held +responsible in any manner for, identifying or failing to identify any or all +such third party intellectual property rights. Please visit www.csa-iot.org for +more information on how to become a member of the Connectivity Standards +Alliance. + +This document and the information contained herein are provided on an “AS IS†+basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE +INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING +WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT +OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE +CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF +BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER +DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL +DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT +OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +LOSS OR DAMAGE. + +All company, brand and product names in this document may be trademarks that +are the sole property of their respective owners. + +This notice and disclaimer must be included on all copies of this document. + +Connectivity Standards Alliance +508 Second Street, Suite 206 +Davis, CA 95616, USA +--> +<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="" name="Network Infrastructure" revision=""/> \ No newline at end of file diff --git a/zcl-builtin/matter/zcl.json b/zcl-builtin/matter/zcl.json index a66aaceaa74a3f51dcd2af74f555ce4bfe359ce8..60797dd0b5c1240c42ffa0b611a2a538ba6321c7 100644 --- a/zcl-builtin/matter/zcl.json +++ b/zcl-builtin/matter/zcl.json @@ -9,6 +9,7 @@ "./data-model/silabs/" ], "_comment": "Ensure access-control-definitions.xml is first in xmlFile array", + "newXmlFile": [], "xmlFile": [ "access-control-definitions.xml", "chip-types.xml",