| <?xml version="1.0"?> |
| <!-- |
| Copyright (C) Connectivity Standards Alliance (2025). 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 |
| |
| :xrefstyle: basic |
| --> |
| <cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0006" name="On/Off Cluster" revision="6"> |
| <revisionHistory> |
| <revision revision="1" summary="Mandatory global 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> |
| <clusterIds> |
| <clusterId id="0x0006" name="On/Off"/> |
| </clusterIds> |
| <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 Dead Front behavior"> |
| <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="0x00" name="DelayedOffFastFade" summary="Fade to off in 0.8 seconds"> |
| <mandatoryConform/> |
| </item> |
| <item value="0x01" name="NoFade" summary="No fade"> |
| <mandatoryConform/> |
| </item> |
| <item value="0x02" 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="0x00" name="DyingLightFadeOff" summary="20% dim up in 0.5s then fade to off in 1 second"> |
| <mandatoryConform/> |
| </item> |
| </enum> |
| <enum name="EffectIdentifierEnum"> |
| <item value="0x00" name="DelayedAllOff" summary="Delayed All Off"> |
| <mandatoryConform/> |
| </item> |
| <item value="0x01" 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 scene="true" persistence="nonVolatile"/> |
| <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 nullable="true" persistence="nonVolatile"/> |
| <mandatoryConform> |
| <feature name="LT"/> |
| </mandatoryConform> |
| <constraint type="desc"/> |
| </attribute> |
| </attributes> |
| <commands> |
| <command id="0x00" name="Off" direction="commandToServer" response="Y"> |
| <access invokePrivilege="operate"/> |
| <mandatoryConform/> |
| </command> |
| <command id="0x01" name="On" direction="commandToServer" response="Y"> |
| <access invokePrivilege="operate"/> |
| <mandatoryConform> |
| <notTerm> |
| <feature name="OFFONLY"/> |
| </notTerm> |
| </mandatoryConform> |
| </command> |
| <command id="0x02" name="Toggle" direction="commandToServer" response="Y"> |
| <access invokePrivilege="operate"/> |
| <mandatoryConform> |
| <notTerm> |
| <feature name="OFFONLY"/> |
| </notTerm> |
| </mandatoryConform> |
| </command> |
| <command id="0x40" name="OffWithEffect" direction="commandToServer" 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" direction="commandToServer" response="Y"> |
| <access invokePrivilege="operate"/> |
| <mandatoryConform> |
| <feature name="LT"/> |
| </mandatoryConform> |
| </command> |
| <command id="0x42" name="OnWithTimedOff" direction="commandToServer" 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> |