@matter/model 0.17.4 → 0.17.5-alpha.0-20260702-a2cd6f764
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/aspects/Quality.d.ts +1 -1
- package/dist/cjs/common/DeviceClassification.d.ts +6 -6
- package/dist/cjs/common/Specification.d.ts +2 -2
- package/dist/cjs/common/Specification.js +2 -2
- package/dist/cjs/dts/Specifications.d.ts +17 -0
- package/dist/cjs/logic/cluster-variance/InferredComponents.js +32 -2
- package/dist/cjs/logic/cluster-variance/InferredComponents.js.map +1 -1
- package/dist/cjs/models/Globals.d.ts +7 -0
- package/dist/cjs/models/Globals.d.ts.map +1 -1
- package/dist/cjs/standard/elements/access-control.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/access-control.element.js +26 -2
- package/dist/cjs/standard/elements/access-control.element.js.map +1 -1
- package/dist/cjs/standard/elements/ambient-context-sensing.element.d.ts +8 -0
- package/dist/cjs/standard/elements/ambient-context-sensing.element.d.ts.map +1 -0
- package/dist/cjs/standard/elements/ambient-context-sensing.element.js +186 -0
- package/dist/cjs/standard/elements/ambient-context-sensing.element.js.map +6 -0
- package/dist/cjs/standard/elements/base.element.js +1 -1
- package/dist/cjs/standard/elements/base.element.js.map +1 -1
- package/dist/cjs/standard/elements/basic-information.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/basic-information.element.js +24 -2
- package/dist/cjs/standard/elements/basic-information.element.js.map +1 -1
- package/dist/cjs/standard/elements/boolean-state-configuration.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/boolean-state-configuration.element.js +4 -3
- package/dist/cjs/standard/elements/boolean-state-configuration.element.js.map +1 -1
- package/dist/cjs/standard/elements/boolean-state.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/boolean-state.element.js +6 -2
- package/dist/cjs/standard/elements/boolean-state.element.js.map +2 -2
- package/dist/cjs/standard/elements/bridged-device-basic-information.element.js +2 -2
- package/dist/cjs/standard/elements/bridged-device-basic-information.element.js.map +1 -1
- package/dist/cjs/standard/elements/camera-av-stream-management.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/camera-av-stream-management.element.js +13 -3
- package/dist/cjs/standard/elements/camera-av-stream-management.element.js.map +1 -1
- package/dist/cjs/standard/elements/certification-type-enum.element.d.ts +8 -0
- package/dist/cjs/standard/elements/certification-type-enum.element.d.ts.map +1 -0
- package/dist/cjs/standard/elements/certification-type-enum.element.js +38 -0
- package/dist/cjs/standard/elements/certification-type-enum.element.js.map +6 -0
- package/dist/cjs/standard/elements/chime-cluster.element.js +2 -2
- package/dist/cjs/standard/elements/chime-cluster.element.js.map +1 -1
- package/dist/cjs/standard/elements/closure-controller.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/closure-controller.element.js +0 -1
- package/dist/cjs/standard/elements/closure-controller.element.js.map +1 -1
- package/dist/cjs/standard/elements/concentration-measurement.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/concentration-measurement.element.js +12 -4
- package/dist/cjs/standard/elements/concentration-measurement.element.js.map +1 -1
- package/dist/cjs/standard/elements/content-launcher.element.js +7 -7
- package/dist/cjs/standard/elements/content-launcher.element.js.map +1 -1
- package/dist/cjs/standard/elements/definitions.d.ts +7 -0
- package/dist/cjs/standard/elements/definitions.d.ts.map +1 -1
- package/dist/cjs/standard/elements/definitions.js +7 -0
- package/dist/cjs/standard/elements/definitions.js.map +1 -1
- package/dist/cjs/standard/elements/flow-measurement.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/flow-measurement.element.js +13 -4
- package/dist/cjs/standard/elements/flow-measurement.element.js.map +1 -1
- package/dist/cjs/standard/elements/general-commissioning.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/general-commissioning.element.js +6 -4
- package/dist/cjs/standard/elements/general-commissioning.element.js.map +1 -1
- package/dist/cjs/standard/elements/general-diagnostics.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/general-diagnostics.element.js +17 -1
- package/dist/cjs/standard/elements/general-diagnostics.element.js.map +1 -1
- package/dist/cjs/standard/elements/group-key-management.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/group-key-management.element.js +21 -3
- package/dist/cjs/standard/elements/group-key-management.element.js.map +1 -1
- package/dist/cjs/standard/elements/groupcast.element.d.ts +8 -0
- package/dist/cjs/standard/elements/groupcast.element.d.ts.map +1 -0
- package/dist/cjs/standard/elements/groupcast.element.js +198 -0
- package/dist/cjs/standard/elements/groupcast.element.js.map +6 -0
- package/dist/cjs/standard/elements/identified-human-activity.element.d.ts +8 -0
- package/dist/cjs/standard/elements/identified-human-activity.element.d.ts.map +1 -0
- package/dist/cjs/standard/elements/identified-human-activity.element.js +45 -0
- package/dist/cjs/standard/elements/identified-human-activity.element.js.map +6 -0
- package/dist/cjs/standard/elements/identified-object.element.d.ts +8 -0
- package/dist/cjs/standard/elements/identified-object.element.d.ts.map +1 -0
- package/dist/cjs/standard/elements/identified-object.element.js +48 -0
- package/dist/cjs/standard/elements/identified-object.element.js.map +6 -0
- package/dist/cjs/standard/elements/identified-sound.element.d.ts +8 -0
- package/dist/cjs/standard/elements/identified-sound.element.d.ts.map +1 -0
- package/dist/cjs/standard/elements/identified-sound.element.js +57 -0
- package/dist/cjs/standard/elements/identified-sound.element.js.map +6 -0
- package/dist/cjs/standard/elements/illuminance-measurement.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/illuminance-measurement.element.js +13 -5
- package/dist/cjs/standard/elements/illuminance-measurement.element.js.map +1 -1
- package/dist/cjs/standard/elements/joint-fabric-administrator-cluster.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/joint-fabric-administrator-cluster.element.js +20 -18
- package/dist/cjs/standard/elements/joint-fabric-administrator-cluster.element.js.map +1 -1
- package/dist/cjs/standard/elements/joint-fabric-datastore.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/joint-fabric-datastore.element.js +143 -62
- package/dist/cjs/standard/elements/joint-fabric-datastore.element.js.map +1 -1
- package/dist/cjs/standard/elements/mode-base.element.js +1 -1
- package/dist/cjs/standard/elements/mode-base.element.js.map +1 -1
- package/dist/cjs/standard/elements/models.d.ts +7 -0
- package/dist/cjs/standard/elements/models.d.ts.map +1 -1
- package/dist/cjs/standard/elements/models.js +14 -0
- package/dist/cjs/standard/elements/models.js.map +1 -1
- package/dist/cjs/standard/elements/namespace.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/namespace.element.js +4 -1
- package/dist/cjs/standard/elements/namespace.element.js.map +1 -1
- package/dist/cjs/standard/elements/network-commissioning.element.js +14 -14
- package/dist/cjs/standard/elements/network-commissioning.element.js.map +1 -1
- package/dist/cjs/standard/elements/network-infrastructure-manager.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/network-infrastructure-manager.element.js +6 -0
- package/dist/cjs/standard/elements/network-infrastructure-manager.element.js.map +1 -1
- package/dist/cjs/standard/elements/occupancy-sensing.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/occupancy-sensing.element.js +4 -3
- package/dist/cjs/standard/elements/occupancy-sensing.element.js.map +1 -1
- package/dist/cjs/standard/elements/power-topology.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/power-topology.element.js +0 -7
- package/dist/cjs/standard/elements/power-topology.element.js.map +2 -2
- package/dist/cjs/standard/elements/pressure-measurement.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/pressure-measurement.element.js +18 -8
- package/dist/cjs/standard/elements/pressure-measurement.element.js.map +1 -1
- package/dist/cjs/standard/elements/push-av-stream-transport.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/push-av-stream-transport.element.js +1 -3
- package/dist/cjs/standard/elements/push-av-stream-transport.element.js.map +1 -1
- package/dist/cjs/standard/elements/rain-sensor.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/rain-sensor.element.js +3 -2
- package/dist/cjs/standard/elements/rain-sensor.element.js.map +1 -1
- package/dist/cjs/standard/elements/refrigerator-device.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/refrigerator-device.element.js +4 -1
- package/dist/cjs/standard/elements/refrigerator-device.element.js.map +1 -1
- package/dist/cjs/standard/elements/relative-humidity-measurement.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/relative-humidity-measurement.element.js +12 -4
- package/dist/cjs/standard/elements/relative-humidity-measurement.element.js.map +1 -1
- package/dist/cjs/standard/elements/root-node.element.js +1 -1
- package/dist/cjs/standard/elements/root-node.element.js.map +1 -1
- package/dist/cjs/standard/elements/smoke-co-alarm-cluster.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/smoke-co-alarm-cluster.element.js +4 -2
- package/dist/cjs/standard/elements/smoke-co-alarm-cluster.element.js.map +1 -1
- package/dist/cjs/standard/elements/software-diagnostics.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/software-diagnostics.element.js +12 -4
- package/dist/cjs/standard/elements/software-diagnostics.element.js.map +1 -1
- package/dist/cjs/standard/elements/temperature-alarm.element.d.ts +8 -0
- package/dist/cjs/standard/elements/temperature-alarm.element.d.ts.map +1 -0
- package/dist/cjs/standard/elements/temperature-alarm.element.js +160 -0
- package/dist/cjs/standard/elements/temperature-alarm.element.js.map +6 -0
- package/dist/cjs/standard/elements/temperature-controlled-cabinet.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/temperature-controlled-cabinet.element.js +2 -1
- package/dist/cjs/standard/elements/temperature-controlled-cabinet.element.js.map +1 -1
- package/dist/cjs/standard/elements/temperature-measurement.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/temperature-measurement.element.js +13 -4
- package/dist/cjs/standard/elements/temperature-measurement.element.js.map +1 -1
- package/dist/cjs/standard/elements/thermostat-cluster.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/thermostat-cluster.element.js +143 -3
- package/dist/cjs/standard/elements/thermostat-cluster.element.js.map +2 -2
- package/dist/cjs/standard/elements/thermostat-device.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/thermostat-device.element.js +3 -2
- package/dist/cjs/standard/elements/thermostat-device.element.js.map +1 -1
- package/dist/cjs/standard/elements/water-freeze-detector.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/water-freeze-detector.element.js +3 -2
- package/dist/cjs/standard/elements/water-freeze-detector.element.js.map +1 -1
- package/dist/cjs/standard/elements/water-leak-detector.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/water-leak-detector.element.js +3 -2
- package/dist/cjs/standard/elements/water-leak-detector.element.js.map +1 -1
- package/dist/cjs/standard/elements/web-rtc-transport-provider.element.d.ts.map +1 -1
- package/dist/cjs/standard/elements/web-rtc-transport-provider.element.js +0 -8
- package/dist/cjs/standard/elements/web-rtc-transport-provider.element.js.map +2 -2
- package/dist/cjs/standard/resources/access-control.resource.js +68 -21
- package/dist/cjs/standard/resources/access-control.resource.js.map +1 -1
- package/dist/cjs/standard/resources/account-login.resource.js +3 -3
- package/dist/cjs/standard/resources/ambient-context-sensing.resource.d.ts +7 -0
- package/dist/cjs/standard/resources/ambient-context-sensing.resource.d.ts.map +1 -0
- package/dist/cjs/standard/resources/ambient-context-sensing.resource.js +241 -0
- package/dist/cjs/standard/resources/ambient-context-sensing.resource.js.map +6 -0
- package/dist/cjs/standard/resources/base.resource.js +38 -8
- package/dist/cjs/standard/resources/base.resource.js.map +1 -1
- package/dist/cjs/standard/resources/basic-information.resource.js +24 -0
- package/dist/cjs/standard/resources/basic-information.resource.js.map +1 -1
- package/dist/cjs/standard/resources/boolean-state-configuration.resource.js +7 -1
- package/dist/cjs/standard/resources/boolean-state-configuration.resource.js.map +1 -1
- package/dist/cjs/standard/resources/boolean-state.resource.js +14 -3
- package/dist/cjs/standard/resources/boolean-state.resource.js.map +1 -1
- package/dist/cjs/standard/resources/camera-av-stream-management.resource.js +7 -1
- package/dist/cjs/standard/resources/camera-av-stream-management.resource.js.map +1 -1
- package/dist/cjs/standard/resources/certification-type-enum.resource.d.ts +7 -0
- package/dist/cjs/standard/resources/certification-type-enum.resource.d.ts.map +1 -0
- package/dist/cjs/standard/resources/certification-type-enum.resource.js +22 -0
- package/dist/cjs/standard/resources/certification-type-enum.resource.js.map +6 -0
- package/dist/cjs/standard/resources/closure-controller.resource.js +0 -1
- package/dist/cjs/standard/resources/closure-controller.resource.js.map +1 -1
- package/dist/cjs/standard/resources/color-control.resource.js +12 -12
- package/dist/cjs/standard/resources/color-control.resource.js.map +1 -1
- package/dist/cjs/standard/resources/energy-preference.resource.js +1 -1
- package/dist/cjs/standard/resources/energy-preference.resource.js.map +1 -1
- package/dist/cjs/standard/resources/general-commissioning.resource.js +2 -2
- package/dist/cjs/standard/resources/general-diagnostics.resource.js +44 -0
- package/dist/cjs/standard/resources/general-diagnostics.resource.js.map +1 -1
- package/dist/cjs/standard/resources/group-key-management.resource.js +37 -15
- package/dist/cjs/standard/resources/group-key-management.resource.js.map +1 -1
- package/dist/cjs/standard/resources/groupcast.resource.d.ts +7 -0
- package/dist/cjs/standard/resources/groupcast.resource.d.ts.map +1 -0
- package/dist/cjs/standard/resources/groupcast.resource.js +375 -0
- package/dist/cjs/standard/resources/groupcast.resource.js.map +6 -0
- package/dist/cjs/standard/resources/groups.resource.js +1 -1
- package/dist/cjs/standard/resources/groups.resource.js.map +1 -1
- package/dist/cjs/standard/resources/icd-management.resource.js +1 -1
- package/dist/cjs/standard/resources/icd-management.resource.js.map +1 -1
- package/dist/cjs/standard/resources/identified-human-activity.resource.d.ts +7 -0
- package/dist/cjs/standard/resources/identified-human-activity.resource.d.ts.map +1 -0
- package/dist/cjs/standard/resources/identified-human-activity.resource.js +26 -0
- package/dist/cjs/standard/resources/identified-human-activity.resource.js.map +6 -0
- package/dist/cjs/standard/resources/identified-object.resource.d.ts +7 -0
- package/dist/cjs/standard/resources/identified-object.resource.d.ts.map +1 -0
- package/dist/cjs/standard/resources/identified-object.resource.js +29 -0
- package/dist/cjs/standard/resources/identified-object.resource.js.map +6 -0
- package/dist/cjs/standard/resources/identified-sound.resource.d.ts +7 -0
- package/dist/cjs/standard/resources/identified-sound.resource.d.ts.map +1 -0
- package/dist/cjs/standard/resources/identified-sound.resource.js +42 -0
- package/dist/cjs/standard/resources/identified-sound.resource.js.map +6 -0
- package/dist/cjs/standard/resources/index.d.ts +7 -0
- package/dist/cjs/standard/resources/index.d.ts.map +1 -1
- package/dist/cjs/standard/resources/index.js +7 -0
- package/dist/cjs/standard/resources/index.js.map +1 -1
- package/dist/cjs/standard/resources/joint-fabric-administrator-cluster.resource.js +23 -18
- package/dist/cjs/standard/resources/joint-fabric-administrator-cluster.resource.js.map +1 -1
- package/dist/cjs/standard/resources/joint-fabric-datastore.resource.js +353 -39
- package/dist/cjs/standard/resources/joint-fabric-datastore.resource.js.map +1 -1
- package/dist/cjs/standard/resources/mode-base.resource.js +1 -1
- package/dist/cjs/standard/resources/namespace.resource.js +15 -0
- package/dist/cjs/standard/resources/namespace.resource.js.map +1 -1
- package/dist/cjs/standard/resources/network-commissioning.resource.js +13 -13
- package/dist/cjs/standard/resources/network-commissioning.resource.js.map +1 -1
- package/dist/cjs/standard/resources/network-infrastructure-manager.resource.js +12 -6
- package/dist/cjs/standard/resources/network-infrastructure-manager.resource.js.map +1 -1
- package/dist/cjs/standard/resources/occupancy-sensing.resource.js +2 -1
- package/dist/cjs/standard/resources/occupancy-sensing.resource.js.map +1 -1
- package/dist/cjs/standard/resources/on-off.resource.js +2 -2
- package/dist/cjs/standard/resources/on-off.resource.js.map +1 -1
- package/dist/cjs/standard/resources/oven-mode.resource.js +1 -1
- package/dist/cjs/standard/resources/oven-mode.resource.js.map +1 -1
- package/dist/cjs/standard/resources/power-topology.resource.js +2 -28
- package/dist/cjs/standard/resources/power-topology.resource.js.map +1 -1
- package/dist/cjs/standard/resources/push-av-stream-transport.resource.js +3 -15
- package/dist/cjs/standard/resources/push-av-stream-transport.resource.js.map +1 -1
- package/dist/cjs/standard/resources/refrigerator-device.resource.js +1 -0
- package/dist/cjs/standard/resources/refrigerator-device.resource.js.map +1 -1
- package/dist/cjs/standard/resources/smoke-co-alarm-cluster.resource.js +10 -2
- package/dist/cjs/standard/resources/smoke-co-alarm-cluster.resource.js.map +1 -1
- package/dist/cjs/standard/resources/temperature-alarm.resource.d.ts +7 -0
- package/dist/cjs/standard/resources/temperature-alarm.resource.d.ts.map +1 -0
- package/dist/cjs/standard/resources/temperature-alarm.resource.js +183 -0
- package/dist/cjs/standard/resources/temperature-alarm.resource.js.map +6 -0
- package/dist/cjs/standard/resources/temperature-controlled-cabinet.resource.js +1 -0
- package/dist/cjs/standard/resources/temperature-controlled-cabinet.resource.js.map +1 -1
- package/dist/cjs/standard/resources/thermostat-cluster.resource.js +459 -135
- package/dist/cjs/standard/resources/thermostat-cluster.resource.js.map +1 -1
- package/dist/cjs/standard/resources/thermostat-device.resource.js +2 -1
- package/dist/cjs/standard/resources/thermostat-device.resource.js.map +1 -1
- package/dist/cjs/standard/resources/web-rtc-transport-definitions.resource.js +21 -21
- package/dist/cjs/standard/resources/web-rtc-transport-provider.resource.js +42 -80
- package/dist/cjs/standard/resources/web-rtc-transport-provider.resource.js.map +1 -1
- package/dist/cjs/standard/resources/window-covering-cluster.resource.js +14 -14
- package/dist/esm/aspects/Quality.d.ts +1 -1
- package/dist/esm/common/DeviceClassification.d.ts +6 -6
- package/dist/esm/common/Specification.d.ts +2 -2
- package/dist/esm/common/Specification.js +2 -2
- package/dist/esm/dts/Specifications.d.ts +17 -0
- package/dist/esm/logic/cluster-variance/InferredComponents.js +32 -2
- package/dist/esm/logic/cluster-variance/InferredComponents.js.map +1 -1
- package/dist/esm/models/Globals.d.ts +7 -0
- package/dist/esm/models/Globals.d.ts.map +1 -1
- package/dist/esm/standard/elements/access-control.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/access-control.element.js +26 -2
- package/dist/esm/standard/elements/access-control.element.js.map +1 -1
- package/dist/esm/standard/elements/ambient-context-sensing.element.d.ts +8 -0
- package/dist/esm/standard/elements/ambient-context-sensing.element.d.ts.map +1 -0
- package/dist/esm/standard/elements/ambient-context-sensing.element.js +172 -0
- package/dist/esm/standard/elements/ambient-context-sensing.element.js.map +6 -0
- package/dist/esm/standard/elements/base.element.js +1 -1
- package/dist/esm/standard/elements/base.element.js.map +1 -1
- package/dist/esm/standard/elements/basic-information.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/basic-information.element.js +24 -2
- package/dist/esm/standard/elements/basic-information.element.js.map +1 -1
- package/dist/esm/standard/elements/boolean-state-configuration.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/boolean-state-configuration.element.js +4 -3
- package/dist/esm/standard/elements/boolean-state-configuration.element.js.map +1 -1
- package/dist/esm/standard/elements/boolean-state.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/boolean-state.element.js +8 -4
- package/dist/esm/standard/elements/boolean-state.element.js.map +1 -1
- package/dist/esm/standard/elements/bridged-device-basic-information.element.js +2 -2
- package/dist/esm/standard/elements/bridged-device-basic-information.element.js.map +1 -1
- package/dist/esm/standard/elements/camera-av-stream-management.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/camera-av-stream-management.element.js +13 -3
- package/dist/esm/standard/elements/camera-av-stream-management.element.js.map +1 -1
- package/dist/esm/standard/elements/certification-type-enum.element.d.ts +8 -0
- package/dist/esm/standard/elements/certification-type-enum.element.d.ts.map +1 -0
- package/dist/esm/standard/elements/certification-type-enum.element.js +18 -0
- package/dist/esm/standard/elements/certification-type-enum.element.js.map +6 -0
- package/dist/esm/standard/elements/chime-cluster.element.js +2 -2
- package/dist/esm/standard/elements/chime-cluster.element.js.map +1 -1
- package/dist/esm/standard/elements/closure-controller.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/closure-controller.element.js +0 -1
- package/dist/esm/standard/elements/closure-controller.element.js.map +1 -1
- package/dist/esm/standard/elements/concentration-measurement.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/concentration-measurement.element.js +12 -4
- package/dist/esm/standard/elements/concentration-measurement.element.js.map +1 -1
- package/dist/esm/standard/elements/content-launcher.element.js +7 -7
- package/dist/esm/standard/elements/content-launcher.element.js.map +1 -1
- package/dist/esm/standard/elements/definitions.d.ts +7 -0
- package/dist/esm/standard/elements/definitions.d.ts.map +1 -1
- package/dist/esm/standard/elements/definitions.js +7 -0
- package/dist/esm/standard/elements/definitions.js.map +1 -1
- package/dist/esm/standard/elements/flow-measurement.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/flow-measurement.element.js +13 -4
- package/dist/esm/standard/elements/flow-measurement.element.js.map +1 -1
- package/dist/esm/standard/elements/general-commissioning.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/general-commissioning.element.js +6 -4
- package/dist/esm/standard/elements/general-commissioning.element.js.map +1 -1
- package/dist/esm/standard/elements/general-diagnostics.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/general-diagnostics.element.js +17 -1
- package/dist/esm/standard/elements/general-diagnostics.element.js.map +1 -1
- package/dist/esm/standard/elements/group-key-management.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/group-key-management.element.js +21 -3
- package/dist/esm/standard/elements/group-key-management.element.js.map +1 -1
- package/dist/esm/standard/elements/groupcast.element.d.ts +8 -0
- package/dist/esm/standard/elements/groupcast.element.d.ts.map +1 -0
- package/dist/esm/standard/elements/groupcast.element.js +185 -0
- package/dist/esm/standard/elements/groupcast.element.js.map +6 -0
- package/dist/esm/standard/elements/identified-human-activity.element.d.ts +8 -0
- package/dist/esm/standard/elements/identified-human-activity.element.d.ts.map +1 -0
- package/dist/esm/standard/elements/identified-human-activity.element.js +28 -0
- package/dist/esm/standard/elements/identified-human-activity.element.js.map +6 -0
- package/dist/esm/standard/elements/identified-object.element.d.ts +8 -0
- package/dist/esm/standard/elements/identified-object.element.d.ts.map +1 -0
- package/dist/esm/standard/elements/identified-object.element.js +31 -0
- package/dist/esm/standard/elements/identified-object.element.js.map +6 -0
- package/dist/esm/standard/elements/identified-sound.element.d.ts +8 -0
- package/dist/esm/standard/elements/identified-sound.element.d.ts.map +1 -0
- package/dist/esm/standard/elements/identified-sound.element.js +40 -0
- package/dist/esm/standard/elements/identified-sound.element.js.map +6 -0
- package/dist/esm/standard/elements/illuminance-measurement.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/illuminance-measurement.element.js +13 -5
- package/dist/esm/standard/elements/illuminance-measurement.element.js.map +1 -1
- package/dist/esm/standard/elements/joint-fabric-administrator-cluster.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/joint-fabric-administrator-cluster.element.js +20 -18
- package/dist/esm/standard/elements/joint-fabric-administrator-cluster.element.js.map +1 -1
- package/dist/esm/standard/elements/joint-fabric-datastore.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/joint-fabric-datastore.element.js +143 -62
- package/dist/esm/standard/elements/joint-fabric-datastore.element.js.map +1 -1
- package/dist/esm/standard/elements/mode-base.element.js +1 -1
- package/dist/esm/standard/elements/mode-base.element.js.map +1 -1
- package/dist/esm/standard/elements/models.d.ts +7 -0
- package/dist/esm/standard/elements/models.d.ts.map +1 -1
- package/dist/esm/standard/elements/models.js +14 -0
- package/dist/esm/standard/elements/models.js.map +1 -1
- package/dist/esm/standard/elements/namespace.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/namespace.element.js +4 -1
- package/dist/esm/standard/elements/namespace.element.js.map +1 -1
- package/dist/esm/standard/elements/network-commissioning.element.js +14 -14
- package/dist/esm/standard/elements/network-commissioning.element.js.map +1 -1
- package/dist/esm/standard/elements/network-infrastructure-manager.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/network-infrastructure-manager.element.js +6 -0
- package/dist/esm/standard/elements/network-infrastructure-manager.element.js.map +1 -1
- package/dist/esm/standard/elements/occupancy-sensing.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/occupancy-sensing.element.js +4 -3
- package/dist/esm/standard/elements/occupancy-sensing.element.js.map +1 -1
- package/dist/esm/standard/elements/power-topology.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/power-topology.element.js +1 -9
- package/dist/esm/standard/elements/power-topology.element.js.map +1 -1
- package/dist/esm/standard/elements/pressure-measurement.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/pressure-measurement.element.js +18 -8
- package/dist/esm/standard/elements/pressure-measurement.element.js.map +1 -1
- package/dist/esm/standard/elements/push-av-stream-transport.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/push-av-stream-transport.element.js +1 -3
- package/dist/esm/standard/elements/push-av-stream-transport.element.js.map +1 -1
- package/dist/esm/standard/elements/rain-sensor.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/rain-sensor.element.js +3 -2
- package/dist/esm/standard/elements/rain-sensor.element.js.map +1 -1
- package/dist/esm/standard/elements/refrigerator-device.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/refrigerator-device.element.js +4 -1
- package/dist/esm/standard/elements/refrigerator-device.element.js.map +1 -1
- package/dist/esm/standard/elements/relative-humidity-measurement.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/relative-humidity-measurement.element.js +12 -4
- package/dist/esm/standard/elements/relative-humidity-measurement.element.js.map +1 -1
- package/dist/esm/standard/elements/root-node.element.js +1 -1
- package/dist/esm/standard/elements/root-node.element.js.map +1 -1
- package/dist/esm/standard/elements/smoke-co-alarm-cluster.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/smoke-co-alarm-cluster.element.js +4 -2
- package/dist/esm/standard/elements/smoke-co-alarm-cluster.element.js.map +1 -1
- package/dist/esm/standard/elements/software-diagnostics.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/software-diagnostics.element.js +12 -4
- package/dist/esm/standard/elements/software-diagnostics.element.js.map +1 -1
- package/dist/esm/standard/elements/temperature-alarm.element.d.ts +8 -0
- package/dist/esm/standard/elements/temperature-alarm.element.d.ts.map +1 -0
- package/dist/esm/standard/elements/temperature-alarm.element.js +146 -0
- package/dist/esm/standard/elements/temperature-alarm.element.js.map +6 -0
- package/dist/esm/standard/elements/temperature-controlled-cabinet.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/temperature-controlled-cabinet.element.js +2 -1
- package/dist/esm/standard/elements/temperature-controlled-cabinet.element.js.map +1 -1
- package/dist/esm/standard/elements/temperature-measurement.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/temperature-measurement.element.js +13 -4
- package/dist/esm/standard/elements/temperature-measurement.element.js.map +1 -1
- package/dist/esm/standard/elements/thermostat-cluster.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/thermostat-cluster.element.js +144 -3
- package/dist/esm/standard/elements/thermostat-cluster.element.js.map +1 -1
- package/dist/esm/standard/elements/thermostat-device.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/thermostat-device.element.js +3 -2
- package/dist/esm/standard/elements/thermostat-device.element.js.map +1 -1
- package/dist/esm/standard/elements/water-freeze-detector.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/water-freeze-detector.element.js +3 -2
- package/dist/esm/standard/elements/water-freeze-detector.element.js.map +1 -1
- package/dist/esm/standard/elements/water-leak-detector.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/water-leak-detector.element.js +3 -2
- package/dist/esm/standard/elements/water-leak-detector.element.js.map +1 -1
- package/dist/esm/standard/elements/web-rtc-transport-provider.element.d.ts.map +1 -1
- package/dist/esm/standard/elements/web-rtc-transport-provider.element.js +1 -10
- package/dist/esm/standard/elements/web-rtc-transport-provider.element.js.map +1 -1
- package/dist/esm/standard/resources/access-control.resource.js +68 -21
- package/dist/esm/standard/resources/access-control.resource.js.map +1 -1
- package/dist/esm/standard/resources/account-login.resource.js +3 -3
- package/dist/esm/standard/resources/ambient-context-sensing.resource.d.ts +7 -0
- package/dist/esm/standard/resources/ambient-context-sensing.resource.d.ts.map +1 -0
- package/dist/esm/standard/resources/ambient-context-sensing.resource.js +240 -0
- package/dist/esm/standard/resources/ambient-context-sensing.resource.js.map +6 -0
- package/dist/esm/standard/resources/base.resource.js +38 -8
- package/dist/esm/standard/resources/base.resource.js.map +1 -1
- package/dist/esm/standard/resources/basic-information.resource.js +24 -0
- package/dist/esm/standard/resources/basic-information.resource.js.map +1 -1
- package/dist/esm/standard/resources/boolean-state-configuration.resource.js +7 -1
- package/dist/esm/standard/resources/boolean-state-configuration.resource.js.map +1 -1
- package/dist/esm/standard/resources/boolean-state.resource.js +14 -3
- package/dist/esm/standard/resources/boolean-state.resource.js.map +1 -1
- package/dist/esm/standard/resources/camera-av-stream-management.resource.js +7 -1
- package/dist/esm/standard/resources/camera-av-stream-management.resource.js.map +1 -1
- package/dist/esm/standard/resources/certification-type-enum.resource.d.ts +7 -0
- package/dist/esm/standard/resources/certification-type-enum.resource.d.ts.map +1 -0
- package/dist/esm/standard/resources/certification-type-enum.resource.js +21 -0
- package/dist/esm/standard/resources/certification-type-enum.resource.js.map +6 -0
- package/dist/esm/standard/resources/closure-controller.resource.js +0 -1
- package/dist/esm/standard/resources/closure-controller.resource.js.map +1 -1
- package/dist/esm/standard/resources/color-control.resource.js +12 -12
- package/dist/esm/standard/resources/color-control.resource.js.map +1 -1
- package/dist/esm/standard/resources/energy-preference.resource.js +1 -1
- package/dist/esm/standard/resources/energy-preference.resource.js.map +1 -1
- package/dist/esm/standard/resources/general-commissioning.resource.js +2 -2
- package/dist/esm/standard/resources/general-diagnostics.resource.js +44 -0
- package/dist/esm/standard/resources/general-diagnostics.resource.js.map +1 -1
- package/dist/esm/standard/resources/group-key-management.resource.js +37 -15
- package/dist/esm/standard/resources/group-key-management.resource.js.map +1 -1
- package/dist/esm/standard/resources/groupcast.resource.d.ts +7 -0
- package/dist/esm/standard/resources/groupcast.resource.d.ts.map +1 -0
- package/dist/esm/standard/resources/groupcast.resource.js +374 -0
- package/dist/esm/standard/resources/groupcast.resource.js.map +6 -0
- package/dist/esm/standard/resources/groups.resource.js +1 -1
- package/dist/esm/standard/resources/groups.resource.js.map +1 -1
- package/dist/esm/standard/resources/icd-management.resource.js +1 -1
- package/dist/esm/standard/resources/icd-management.resource.js.map +1 -1
- package/dist/esm/standard/resources/identified-human-activity.resource.d.ts +7 -0
- package/dist/esm/standard/resources/identified-human-activity.resource.d.ts.map +1 -0
- package/dist/esm/standard/resources/identified-human-activity.resource.js +25 -0
- package/dist/esm/standard/resources/identified-human-activity.resource.js.map +6 -0
- package/dist/esm/standard/resources/identified-object.resource.d.ts +7 -0
- package/dist/esm/standard/resources/identified-object.resource.d.ts.map +1 -0
- package/dist/esm/standard/resources/identified-object.resource.js +28 -0
- package/dist/esm/standard/resources/identified-object.resource.js.map +6 -0
- package/dist/esm/standard/resources/identified-sound.resource.d.ts +7 -0
- package/dist/esm/standard/resources/identified-sound.resource.d.ts.map +1 -0
- package/dist/esm/standard/resources/identified-sound.resource.js +41 -0
- package/dist/esm/standard/resources/identified-sound.resource.js.map +6 -0
- package/dist/esm/standard/resources/index.d.ts +7 -0
- package/dist/esm/standard/resources/index.d.ts.map +1 -1
- package/dist/esm/standard/resources/index.js +7 -0
- package/dist/esm/standard/resources/index.js.map +1 -1
- package/dist/esm/standard/resources/joint-fabric-administrator-cluster.resource.js +23 -18
- package/dist/esm/standard/resources/joint-fabric-administrator-cluster.resource.js.map +1 -1
- package/dist/esm/standard/resources/joint-fabric-datastore.resource.js +353 -39
- package/dist/esm/standard/resources/joint-fabric-datastore.resource.js.map +1 -1
- package/dist/esm/standard/resources/mode-base.resource.js +1 -1
- package/dist/esm/standard/resources/namespace.resource.js +15 -0
- package/dist/esm/standard/resources/namespace.resource.js.map +1 -1
- package/dist/esm/standard/resources/network-commissioning.resource.js +13 -13
- package/dist/esm/standard/resources/network-commissioning.resource.js.map +1 -1
- package/dist/esm/standard/resources/network-infrastructure-manager.resource.js +12 -6
- package/dist/esm/standard/resources/network-infrastructure-manager.resource.js.map +1 -1
- package/dist/esm/standard/resources/occupancy-sensing.resource.js +2 -1
- package/dist/esm/standard/resources/occupancy-sensing.resource.js.map +1 -1
- package/dist/esm/standard/resources/on-off.resource.js +2 -2
- package/dist/esm/standard/resources/on-off.resource.js.map +1 -1
- package/dist/esm/standard/resources/oven-mode.resource.js +1 -1
- package/dist/esm/standard/resources/oven-mode.resource.js.map +1 -1
- package/dist/esm/standard/resources/power-topology.resource.js +2 -28
- package/dist/esm/standard/resources/power-topology.resource.js.map +1 -1
- package/dist/esm/standard/resources/push-av-stream-transport.resource.js +3 -15
- package/dist/esm/standard/resources/push-av-stream-transport.resource.js.map +1 -1
- package/dist/esm/standard/resources/refrigerator-device.resource.js +1 -0
- package/dist/esm/standard/resources/refrigerator-device.resource.js.map +1 -1
- package/dist/esm/standard/resources/smoke-co-alarm-cluster.resource.js +10 -2
- package/dist/esm/standard/resources/smoke-co-alarm-cluster.resource.js.map +1 -1
- package/dist/esm/standard/resources/temperature-alarm.resource.d.ts +7 -0
- package/dist/esm/standard/resources/temperature-alarm.resource.d.ts.map +1 -0
- package/dist/esm/standard/resources/temperature-alarm.resource.js +182 -0
- package/dist/esm/standard/resources/temperature-alarm.resource.js.map +6 -0
- package/dist/esm/standard/resources/temperature-controlled-cabinet.resource.js +1 -0
- package/dist/esm/standard/resources/temperature-controlled-cabinet.resource.js.map +1 -1
- package/dist/esm/standard/resources/thermostat-cluster.resource.js +459 -135
- package/dist/esm/standard/resources/thermostat-cluster.resource.js.map +1 -1
- package/dist/esm/standard/resources/thermostat-device.resource.js +2 -1
- package/dist/esm/standard/resources/thermostat-device.resource.js.map +1 -1
- package/dist/esm/standard/resources/web-rtc-transport-definitions.resource.js +21 -21
- package/dist/esm/standard/resources/web-rtc-transport-provider.resource.js +42 -80
- package/dist/esm/standard/resources/web-rtc-transport-provider.resource.js.map +1 -1
- package/dist/esm/standard/resources/window-covering-cluster.resource.js +14 -14
- package/package.json +3 -3
- package/src/aspects/Quality.ts +1 -1
- package/src/common/DeviceClassification.ts +6 -6
- package/src/common/Specification.ts +2 -2
- package/src/dts/Specifications.d.ts +17 -0
- package/src/logic/cluster-variance/InferredComponents.ts +43 -3
- package/src/standard/elements/access-control.element.ts +26 -2
- package/src/standard/elements/ambient-context-sensing.element.ts +140 -0
- package/src/standard/elements/base.element.ts +1 -1
- package/src/standard/elements/basic-information.element.ts +15 -2
- package/src/standard/elements/boolean-state-configuration.element.ts +4 -3
- package/src/standard/elements/boolean-state.element.ts +8 -4
- package/src/standard/elements/bridged-device-basic-information.element.ts +2 -2
- package/src/standard/elements/camera-av-stream-management.element.ts +8 -3
- package/src/standard/elements/certification-type-enum.element.ts +19 -0
- package/src/standard/elements/chime-cluster.element.ts +2 -2
- package/src/standard/elements/closure-controller.element.ts +0 -1
- package/src/standard/elements/concentration-measurement.element.ts +7 -4
- package/src/standard/elements/content-launcher.element.ts +7 -7
- package/src/standard/elements/definitions.ts +7 -0
- package/src/standard/elements/flow-measurement.element.ts +7 -4
- package/src/standard/elements/general-commissioning.element.ts +6 -4
- package/src/standard/elements/general-diagnostics.element.ts +14 -1
- package/src/standard/elements/group-key-management.element.ts +19 -3
- package/src/standard/elements/groupcast.element.ts +165 -0
- package/src/standard/elements/identified-human-activity.element.ts +29 -0
- package/src/standard/elements/identified-object.element.ts +32 -0
- package/src/standard/elements/identified-sound.element.ts +41 -0
- package/src/standard/elements/illuminance-measurement.element.ts +8 -5
- package/src/standard/elements/joint-fabric-administrator-cluster.element.ts +21 -19
- package/src/standard/elements/joint-fabric-datastore.element.ts +101 -60
- package/src/standard/elements/mode-base.element.ts +1 -1
- package/src/standard/elements/models.ts +7 -0
- package/src/standard/elements/namespace.element.ts +4 -1
- package/src/standard/elements/network-commissioning.element.ts +14 -14
- package/src/standard/elements/network-infrastructure-manager.element.ts +6 -0
- package/src/standard/elements/occupancy-sensing.element.ts +4 -3
- package/src/standard/elements/power-topology.element.ts +1 -10
- package/src/standard/elements/pressure-measurement.element.ts +11 -8
- package/src/standard/elements/push-av-stream-transport.element.ts +1 -3
- package/src/standard/elements/rain-sensor.element.ts +3 -2
- package/src/standard/elements/refrigerator-device.element.ts +4 -1
- package/src/standard/elements/relative-humidity-measurement.element.ts +7 -4
- package/src/standard/elements/root-node.element.ts +1 -1
- package/src/standard/elements/smoke-co-alarm-cluster.element.ts +4 -2
- package/src/standard/elements/software-diagnostics.element.ts +9 -4
- package/src/standard/elements/temperature-alarm.element.ts +109 -0
- package/src/standard/elements/temperature-controlled-cabinet.element.ts +2 -1
- package/src/standard/elements/temperature-measurement.element.ts +7 -4
- package/src/standard/elements/thermostat-cluster.element.ts +123 -3
- package/src/standard/elements/thermostat-device.element.ts +3 -2
- package/src/standard/elements/water-freeze-detector.element.ts +3 -2
- package/src/standard/elements/water-leak-detector.element.ts +3 -2
- package/src/standard/elements/web-rtc-transport-provider.element.ts +1 -11
- package/src/standard/resources/access-control.resource.ts +111 -21
- package/src/standard/resources/account-login.resource.ts +3 -3
- package/src/standard/resources/ambient-context-sensing.resource.ts +288 -0
- package/src/standard/resources/base.resource.ts +26 -8
- package/src/standard/resources/basic-information.resource.ts +29 -0
- package/src/standard/resources/boolean-state-configuration.resource.ts +6 -1
- package/src/standard/resources/boolean-state.resource.ts +12 -3
- package/src/standard/resources/camera-av-stream-management.resource.ts +17 -1
- package/src/standard/resources/certification-type-enum.resource.ts +22 -0
- package/src/standard/resources/closure-controller.resource.ts +0 -2
- package/src/standard/resources/color-control.resource.ts +12 -13
- package/src/standard/resources/energy-preference.resource.ts +1 -5
- package/src/standard/resources/general-commissioning.resource.ts +4 -4
- package/src/standard/resources/general-diagnostics.resource.ts +48 -0
- package/src/standard/resources/group-key-management.resource.ts +106 -41
- package/src/standard/resources/groupcast.resource.ts +568 -0
- package/src/standard/resources/groups.resource.ts +10 -1
- package/src/standard/resources/icd-management.resource.ts +2 -1
- package/src/standard/resources/identified-human-activity.resource.ts +28 -0
- package/src/standard/resources/identified-object.resource.ts +47 -0
- package/src/standard/resources/identified-sound.resource.ts +46 -0
- package/src/standard/resources/index.ts +7 -0
- package/src/standard/resources/joint-fabric-administrator-cluster.resource.ts +21 -22
- package/src/standard/resources/joint-fabric-datastore.resource.ts +814 -581
- package/src/standard/resources/mode-base.resource.ts +1 -1
- package/src/standard/resources/namespace.resource.ts +37 -0
- package/src/standard/resources/network-commissioning.resource.ts +28 -22
- package/src/standard/resources/network-infrastructure-manager.resource.ts +12 -6
- package/src/standard/resources/occupancy-sensing.resource.ts +2 -1
- package/src/standard/resources/on-off.resource.ts +15 -5
- package/src/standard/resources/oven-mode.resource.ts +6 -4
- package/src/standard/resources/power-topology.resource.ts +2 -25
- package/src/standard/resources/push-av-stream-transport.resource.ts +4 -18
- package/src/standard/resources/refrigerator-device.resource.ts +1 -0
- package/src/standard/resources/smoke-co-alarm-cluster.resource.ts +27 -2
- package/src/standard/resources/temperature-alarm.resource.ts +165 -0
- package/src/standard/resources/temperature-controlled-cabinet.resource.ts +1 -0
- package/src/standard/resources/thermostat-cluster.resource.ts +492 -135
- package/src/standard/resources/thermostat-device.resource.ts +2 -1
- package/src/standard/resources/web-rtc-transport-definitions.resource.ts +21 -21
- package/src/standard/resources/web-rtc-transport-provider.resource.ts +42 -80
- package/src/standard/resources/window-covering-cluster.resource.ts +14 -14
|
@@ -0,0 +1,568 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/*** THIS FILE IS GENERATED, DO NOT EDIT ***/
|
|
8
|
+
|
|
9
|
+
import { Resource } from "#models/Resource.js";
|
|
10
|
+
|
|
11
|
+
Resource.add(
|
|
12
|
+
{
|
|
13
|
+
tag: "cluster", name: "Groupcast", pics: "GC", xref: "core§11.27",
|
|
14
|
+
|
|
15
|
+
details: "The Groupcast Cluster defines a unified, simpler, and more scalable mechanism for configuring, " +
|
|
16
|
+
"managing, and using groups in Matter. It is designed to replace the legacy Groups cluster, " +
|
|
17
|
+
"addressing long-standing limitations that have made group configuration complex and inconsistently " +
|
|
18
|
+
"supported across devices and ecosystems." +
|
|
19
|
+
"\n" +
|
|
20
|
+
"The Groupcast Cluster consolidates group-related functionality that was previously distributed " +
|
|
21
|
+
"across multiple clusters into a single, coherent model for membership, addressing, key management, " +
|
|
22
|
+
"and ACL permissions. It introduces the usage of a unique, IANA-defined multicast address, usable by " +
|
|
23
|
+
"all groups, improving support for devices with limited multicast address capacity. The cluster also " +
|
|
24
|
+
"defines a streamlined key management and access control model that reduces storage requirements and " +
|
|
25
|
+
"simplifies controller logic, while remaining compatible with existing security concepts." +
|
|
26
|
+
"\n" +
|
|
27
|
+
"In addition, the Groupcast Cluster explicitly supports specialization of device roles, allowing " +
|
|
28
|
+
"endpoints to operate as group senders, receivers, or both. This enables low-power and " +
|
|
29
|
+
"resource-constrained devices to participate in group communication without incurring unnecessary " +
|
|
30
|
+
"state or processing overhead. Together, these design elements provide a clearer and more " +
|
|
31
|
+
"interoperable basis for group functionality and form the replacement for the legacy Groups cluster." +
|
|
32
|
+
"\n" +
|
|
33
|
+
"> [!NOTE]" +
|
|
34
|
+
"\n" +
|
|
35
|
+
"> NOTE: Support for Groupcast cluster is provisional.",
|
|
36
|
+
|
|
37
|
+
children: [
|
|
38
|
+
{
|
|
39
|
+
tag: "attribute", name: "FeatureMap", xref: "core§11.27.4",
|
|
40
|
+
|
|
41
|
+
children: [
|
|
42
|
+
{
|
|
43
|
+
tag: "field", name: "LN", xref: "core§11.27.4.1",
|
|
44
|
+
details: "This feature indicates that the device can join one or more Groupcast groups and receive multicast " +
|
|
45
|
+
"messages targeted to those groups."
|
|
46
|
+
},
|
|
47
|
+
|
|
48
|
+
{
|
|
49
|
+
tag: "field", name: "SD", xref: "core§11.27.4.2",
|
|
50
|
+
details: "This feature indicates the ability to send multicast messages to one or more targeted groups of " +
|
|
51
|
+
"nodes to which it belongs. Being a sender does not imply the ability to listen to messages sent to " +
|
|
52
|
+
"those multicast addresses."
|
|
53
|
+
},
|
|
54
|
+
|
|
55
|
+
{ tag: "field", name: "PGA", details: "Supports PerGroup multicast addresses." }
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
|
|
59
|
+
{
|
|
60
|
+
tag: "attribute", name: "Membership", xref: "core§11.27.6.1",
|
|
61
|
+
|
|
62
|
+
details: "Indicates the list of groups memberships currently active on the node." +
|
|
63
|
+
"\n" +
|
|
64
|
+
"Each entry specifies the group ID and the list of the endpoints that participate in that group, as " +
|
|
65
|
+
"well as policy for that group." +
|
|
66
|
+
"\n" +
|
|
67
|
+
"For any single fabric, the server shall limit the total number of GroupIDs used across all entries " +
|
|
68
|
+
"in the Membership attribute to no more than half (rounded down) of the MaxMembershipCount value." +
|
|
69
|
+
"\n" +
|
|
70
|
+
"If processing a command would cause this per-fabric limit to be exceeded, then the resource " +
|
|
71
|
+
"exhaustion behavior of the associated command shall apply." +
|
|
72
|
+
"\n" +
|
|
73
|
+
"Since every MembershipStruct entry only supports up to 255 endpoints in the case where the Listener " +
|
|
74
|
+
"feature is enabled in the FeatureMap, there may be situations where the server has to employ more " +
|
|
75
|
+
"than one entry to represent the full list of joined endpoints in the list. In those cases:" +
|
|
76
|
+
"\n" +
|
|
77
|
+
" - The entries associated with such a group shall be consecutive." +
|
|
78
|
+
"\n" +
|
|
79
|
+
" - These entries shall be identical in all fields except the Endpoints field." +
|
|
80
|
+
"\n" +
|
|
81
|
+
" - These entries shall NOT have any intersection of EndpointID values between their Endpoints " +
|
|
82
|
+
"field." +
|
|
83
|
+
"\n" +
|
|
84
|
+
" - The maximum number of entries over which a group membership is split shall NOT be more than the " +
|
|
85
|
+
"minimum number of entries needed to fully encode the Endpoints list while respecting that no " +
|
|
86
|
+
"entry has more than 255 Endpoints listed." +
|
|
87
|
+
"\n" +
|
|
88
|
+
" - Therefore, the maximum number of entries for that group shall be ceil(length(Endpoints) / 255)." +
|
|
89
|
+
"\n" +
|
|
90
|
+
"The actual number of entries in the list across all fabrics shall be at most " +
|
|
91
|
+
"ceil(num_endpoints_in_node / 255) * MaxMembershipCount." +
|
|
92
|
+
"\n" +
|
|
93
|
+
"For example, if a Group 123 is joined on endpoints 1 through 300 (i.e. a large group on a large " +
|
|
94
|
+
"bridge), the following Membership list contents would both be valid examples, and there may be more " +
|
|
95
|
+
"valid entries matching the rules." +
|
|
96
|
+
"\n" +
|
|
97
|
+
"The following examples would be ILLEGAL:"
|
|
98
|
+
},
|
|
99
|
+
|
|
100
|
+
{
|
|
101
|
+
tag: "attribute", name: "MaxMembershipCount", xref: "core§11.27.6.2",
|
|
102
|
+
|
|
103
|
+
details: "Indicates the maximum number of Groups which can be joined and appear in entries of the Membership " +
|
|
104
|
+
"attribute." +
|
|
105
|
+
"\n" +
|
|
106
|
+
"This attribute does not specify the maximum number of list entries in the Membership attribute list, " +
|
|
107
|
+
"but rather the maximum number of different GroupID values which can appear across all entries of the " +
|
|
108
|
+
"list."
|
|
109
|
+
},
|
|
110
|
+
|
|
111
|
+
{
|
|
112
|
+
tag: "attribute", name: "MaxMcastAddrCount", xref: "core§11.27.6.3",
|
|
113
|
+
|
|
114
|
+
details: "Indicates the maximum number of unique multicast addresses the node can support. The value of this " +
|
|
115
|
+
"attribute shall be at least 1, to support the IANA Assigned IPv6 Multicast Address." +
|
|
116
|
+
"\n" +
|
|
117
|
+
"When the PerGroup feature is supported, this attribute SHOULD be equal to MaxMembershipCount. " +
|
|
118
|
+
"However, the value may be less than MaxMembershipCount. When the PerGroup feature is supported, the " +
|
|
119
|
+
"value of this attribute shall be at least 4."
|
|
120
|
+
},
|
|
121
|
+
|
|
122
|
+
{
|
|
123
|
+
tag: "attribute", name: "UsedMcastAddrCount", xref: "core§11.27.6.4",
|
|
124
|
+
details: "Indicates the number of unique multicast addresses currently in use by the Groupcast cluster. This " +
|
|
125
|
+
"count shall include the IANA Assigned IPv6 Multicast Address if at least one group is configured to " +
|
|
126
|
+
"use the IanaAddr policy. This count shall include one unique multicast address for each group " +
|
|
127
|
+
"configured to use the PerGroup policy. The value of this attribute shall NOT exceed " +
|
|
128
|
+
"MaxMcastAddrCount."
|
|
129
|
+
},
|
|
130
|
+
|
|
131
|
+
{
|
|
132
|
+
tag: "attribute", name: "FabricUnderTest", xref: "core§11.27.6.5",
|
|
133
|
+
|
|
134
|
+
details: "Indicates the FabricIndex of the fabric currently testing the Groupcast feature with the " +
|
|
135
|
+
"GroupcastTesting command." +
|
|
136
|
+
"\n" +
|
|
137
|
+
"The last accessing fabric to have invoked a successful TestGroupcast command that caused testing " +
|
|
138
|
+
"mode to be engaged shall be the value indicated." +
|
|
139
|
+
"\n" +
|
|
140
|
+
"Otherwise, if Groupcast testing is currently disabled, this attribute shall have a value of zero, " +
|
|
141
|
+
"which is the invalid FabricIndex value." +
|
|
142
|
+
"\n" +
|
|
143
|
+
"This attribute shall be set to zero when the server initializes."
|
|
144
|
+
},
|
|
145
|
+
|
|
146
|
+
{
|
|
147
|
+
tag: "event", name: "GroupcastTesting", xref: "core§11.27.8.1",
|
|
148
|
+
details: "This event shall be generated during Groupcast testing processing after invocation of the " +
|
|
149
|
+
"GroupcastTesting command, under the conditions stated in that command's Effect on Receipt section. " +
|
|
150
|
+
"Some of the fields may be present or absent depending of the test mode involved." +
|
|
151
|
+
"\n" +
|
|
152
|
+
"This event shall contain the following fields:",
|
|
153
|
+
|
|
154
|
+
children: [
|
|
155
|
+
{
|
|
156
|
+
tag: "field", name: "SourceIpAddress", xref: "core§11.27.8.1.1",
|
|
157
|
+
details: "This field, if present, shall be set to the source IPv6 address obtained from the UDP datagram of " +
|
|
158
|
+
"the groupcast message."
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
tag: "field", name: "DestinationIpAddress", xref: "core§11.27.8.1.2",
|
|
162
|
+
details: "This field, if present, shall be set to the destination IPv6 group address obtained from the UDP " +
|
|
163
|
+
"datagram of a groupcast message."
|
|
164
|
+
},
|
|
165
|
+
|
|
166
|
+
{
|
|
167
|
+
tag: "field", name: "GroupId", xref: "core§11.27.8.1.3",
|
|
168
|
+
details: "This field, if present, shall be set to the GroupID associated with the groupcast message. This " +
|
|
169
|
+
"represents the initial Group ID that led to InvokeRequest processing, the Group ID from the request, " +
|
|
170
|
+
"or the Group ID used for message transmission."
|
|
171
|
+
},
|
|
172
|
+
|
|
173
|
+
{
|
|
174
|
+
tag: "field", name: "EndpointId", xref: "core§11.27.8.1.4",
|
|
175
|
+
details: "This field, if present, shall be set to the concrete path's endpoint ID derived from the processed " +
|
|
176
|
+
"request."
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
tag: "field", name: "ClusterId", xref: "core§11.27.8.1.5",
|
|
180
|
+
details: "This field, if present, shall be set to the concrete path's cluster ID derived from the processed " +
|
|
181
|
+
"request."
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
tag: "field", name: "ElementId", xref: "core§11.27.8.1.6",
|
|
185
|
+
details: "This field, if present, shall be set to the concrete path's element ID (Command ID or Attribute ID) " +
|
|
186
|
+
"derived from the processed request."
|
|
187
|
+
},
|
|
188
|
+
|
|
189
|
+
{
|
|
190
|
+
tag: "field", name: "AccessAllowed", xref: "core§11.27.8.1.7",
|
|
191
|
+
details: "This field, if present, shall indicate whether the Groupcast sender was allowed to invoke the " +
|
|
192
|
+
"command by Access Control, in this Node. The value shall be set to true if the request was allowed, " +
|
|
193
|
+
"and false otherwise."
|
|
194
|
+
},
|
|
195
|
+
|
|
196
|
+
{
|
|
197
|
+
tag: "field", name: "GroupcastTestResult", xref: "core§11.27.8.1.8",
|
|
198
|
+
details: "This field shall indicate the outcome of the groupcast operation or the specific error encountered. " +
|
|
199
|
+
"The value shall be one of the values defined in GroupcastTestResultEnum."
|
|
200
|
+
}
|
|
201
|
+
]
|
|
202
|
+
},
|
|
203
|
+
|
|
204
|
+
{
|
|
205
|
+
tag: "command", name: "JoinGroup", xref: "core§11.27.7.1",
|
|
206
|
+
|
|
207
|
+
details: "This command shall be used to instruct the server to join a multicast group. It provides a " +
|
|
208
|
+
"comprehensive way to add all information required to create a new group in one command. This command " +
|
|
209
|
+
"shall be used to create a new GroupID or to add specified endpoints to an existing GroupID. This " +
|
|
210
|
+
"command may also be used to change the OperationalGroupKey associated with an existing GroupID, but " +
|
|
211
|
+
"if this is the only operation desired, the UpdateGroupKey command SHOULD be used instead. This " +
|
|
212
|
+
"command shall be used following the rules defined in Groupcast Key Management section." +
|
|
213
|
+
"\n" +
|
|
214
|
+
"This command shall have the following data fields subject to the listed conformance.",
|
|
215
|
+
|
|
216
|
+
children: [
|
|
217
|
+
{
|
|
218
|
+
tag: "field", name: "GroupId", xref: "core§11.27.7.1.1",
|
|
219
|
+
details: "This field shall indicate the destination group to which the server is to be added."
|
|
220
|
+
},
|
|
221
|
+
|
|
222
|
+
{
|
|
223
|
+
tag: "field", name: "Endpoints", xref: "core§11.27.7.1.2",
|
|
224
|
+
details: "This field shall indicate the list of endpoints that shall receive this multicast group's messages. " +
|
|
225
|
+
"When joining a group as a Sender only, this field shall be empty. For Listeners, this field shall " +
|
|
226
|
+
"list at least 1 endpoint and up to 20 endpoints. The RootEndpoint (Endpoint 0) shall never be " +
|
|
227
|
+
"included in the Endpoints list as groupcast commands shall not interact with clusters on the " +
|
|
228
|
+
"RootEndpoint."
|
|
229
|
+
},
|
|
230
|
+
|
|
231
|
+
{
|
|
232
|
+
tag: "field", name: "KeySetId", xref: "core§11.27.7.1.3",
|
|
233
|
+
|
|
234
|
+
details: "This field shall indicate the value used to identify the OperationalGroupKey used for this group." +
|
|
235
|
+
"\n" +
|
|
236
|
+
"This field is generated by the administrator in any manner it deems appropriate, ensuring that there " +
|
|
237
|
+
"is no collision within the fabric. Some examples may include but are not limited to:" +
|
|
238
|
+
"\n" +
|
|
239
|
+
" - Truncated Key Hash" +
|
|
240
|
+
"\n" +
|
|
241
|
+
" - Randomly Generated Value" +
|
|
242
|
+
"\n" +
|
|
243
|
+
" - Key creation count" +
|
|
244
|
+
"\n" +
|
|
245
|
+
" > [!NOTE]" +
|
|
246
|
+
"\n" +
|
|
247
|
+
" > NOTE: This field represents maps to the GroupKeySetID as defined in the Group Key Management " +
|
|
248
|
+
"cluster."
|
|
249
|
+
},
|
|
250
|
+
|
|
251
|
+
{
|
|
252
|
+
tag: "field", name: "Key", xref: "core§11.27.7.1.4",
|
|
253
|
+
|
|
254
|
+
details: "This field shall indicate the value used to derive the OperationalGroupKey." +
|
|
255
|
+
"\n" +
|
|
256
|
+
"This key shall be new for the group, with a unique KeySetID that does not exist on the node yet. " +
|
|
257
|
+
"When a new key is added using this field, a GroupKeySetStruct shall be added automatically to the " +
|
|
258
|
+
"Group Key Management cluster with the following entries:" +
|
|
259
|
+
"\n" +
|
|
260
|
+
" - GroupKeySetID = KeySetID field" +
|
|
261
|
+
"\n" +
|
|
262
|
+
" - GroupKeySecurityPolicy = TrustFirst" +
|
|
263
|
+
"\n" +
|
|
264
|
+
" - EpochKey0 = Key" +
|
|
265
|
+
"\n" +
|
|
266
|
+
" - EpochStartTime0 = 1" +
|
|
267
|
+
"\n" +
|
|
268
|
+
" - EpochKey1 = null" +
|
|
269
|
+
"\n" +
|
|
270
|
+
" - EpochStartTime1 = null" +
|
|
271
|
+
"\n" +
|
|
272
|
+
" - EpochKey2 = null" +
|
|
273
|
+
"\n" +
|
|
274
|
+
" - EpochStartTime2 = null The derived OperationalGroupKey shall be persistently stored for the " +
|
|
275
|
+
"lifetime of the group; however, the InputKey itself shall NOT be stored. This field may be " +
|
|
276
|
+
"omitted to join endpoints to an existing GroupID or to associate the group to a different, " +
|
|
277
|
+
"pre-existing KeySetID."
|
|
278
|
+
},
|
|
279
|
+
|
|
280
|
+
{
|
|
281
|
+
tag: "field", name: "UseAuxiliaryAcl", xref: "core§11.27.7.1.5",
|
|
282
|
+
details: "When this field is present and set to true, necessary AuxiliaryACL entries shall be generated in the " +
|
|
283
|
+
"Access Control Cluster referring to each endpoint in the group identified by the given GroupID. When " +
|
|
284
|
+
"this field is present and set to false, all previously auto-generated AuxiliaryACL entries for the " +
|
|
285
|
+
"endpoints in this group shall be removed. If this field is omitted, there shall NOT be any change. " +
|
|
286
|
+
"See the Effect on Receipt section of this command for more detail."
|
|
287
|
+
},
|
|
288
|
+
|
|
289
|
+
{
|
|
290
|
+
tag: "field", name: "ReplaceEndpoints", xref: "core§11.27.7.1.6",
|
|
291
|
+
details: "This field shall indicate whether the Endpoints list of the membership is replaced by the command's " +
|
|
292
|
+
"Endpoints field, or whether those endpoints are added to the existing membership. See Section " +
|
|
293
|
+
"11.27.7.1.7, \"Effect on Receipt\"."
|
|
294
|
+
},
|
|
295
|
+
|
|
296
|
+
{
|
|
297
|
+
tag: "field", name: "McastAddrPolicy", xref: "core§11.27.7.1.8",
|
|
298
|
+
details: "This field shall indicate the IPv6 Multicast Address that shall be used by the group. If omitted, " +
|
|
299
|
+
"the group shall use the IANA-assigned Multicast Address."
|
|
300
|
+
}
|
|
301
|
+
]
|
|
302
|
+
},
|
|
303
|
+
|
|
304
|
+
{
|
|
305
|
+
tag: "command", name: "LeaveGroup", xref: "core§11.27.7.2",
|
|
306
|
+
details: "This command shall allow a maintainer to request that the server withdraws itself or specific " +
|
|
307
|
+
"endpoints from a specific group or from all groups of this client's fabric." +
|
|
308
|
+
"\n" +
|
|
309
|
+
"This command shall have the following data fields subject to the listed conformance.",
|
|
310
|
+
|
|
311
|
+
children: [
|
|
312
|
+
{
|
|
313
|
+
tag: "field", name: "GroupId", xref: "core§11.27.7.2.1",
|
|
314
|
+
details: "This field shall indicate the group affected by this command. The unspecified GroupID 0 shall " +
|
|
315
|
+
"indicate that all groups on the node for this fabric are affected by the command."
|
|
316
|
+
},
|
|
317
|
+
|
|
318
|
+
{
|
|
319
|
+
tag: "field", name: "Endpoints", xref: "core§11.27.7.2.2",
|
|
320
|
+
details: "This field shall indicate a list of endpoints that shall leave the group identified by the GroupID " +
|
|
321
|
+
"field. See 4. Omitting this field indicates that the server shall remove itself completely from the " +
|
|
322
|
+
"group identified by the GroupID field. See 5."
|
|
323
|
+
}
|
|
324
|
+
]
|
|
325
|
+
},
|
|
326
|
+
|
|
327
|
+
{
|
|
328
|
+
tag: "command", name: "LeaveGroupResponse", xref: "core§11.27.7.3",
|
|
329
|
+
details: "This command shall allow the server to inform the client about the result of the LeaveGroup command." +
|
|
330
|
+
"\n" +
|
|
331
|
+
"This command shall have the following data fields subject to the listed conformance.",
|
|
332
|
+
|
|
333
|
+
children: [
|
|
334
|
+
{
|
|
335
|
+
tag: "field", name: "GroupId", xref: "core§11.27.7.3.1",
|
|
336
|
+
details: "This field shall indicate the group affected by the LeaveGroup command. The value of this field " +
|
|
337
|
+
"shall be the same value as the GroupID field in the LeaveGroup command triggering the response."
|
|
338
|
+
},
|
|
339
|
+
|
|
340
|
+
{
|
|
341
|
+
tag: "field", name: "Endpoints", xref: "core§11.27.7.3.2",
|
|
342
|
+
|
|
343
|
+
details: "This field shall indicate a list of endpoints that were removed from the group identified by the " +
|
|
344
|
+
"GroupID field. Endpoints listed in the Endpoints field of the LeaveGroup command that were not " +
|
|
345
|
+
"members of the affected group shall be excluded from this response." +
|
|
346
|
+
"\n" +
|
|
347
|
+
"This field shall be an empty list if any of the following conditions is true: The Endpoints list " +
|
|
348
|
+
"size exceeds the maximum constraint. The GroupID field is 0, indicating multiple groups were " +
|
|
349
|
+
"affected, resulting in ambiguous Endpoints list content."
|
|
350
|
+
}
|
|
351
|
+
]
|
|
352
|
+
},
|
|
353
|
+
|
|
354
|
+
{
|
|
355
|
+
tag: "command", name: "UpdateGroupKey", xref: "core§11.27.7.4",
|
|
356
|
+
details: "This command shall allow a fabric administrator to update the OperationalGroupKey associated with " +
|
|
357
|
+
"the existing group identified by GroupID, which is already joined. This command shall be used " +
|
|
358
|
+
"following the rules defined in Groupcast Key Management section." +
|
|
359
|
+
"\n" +
|
|
360
|
+
"This command shall have the following data fields subject to the listed conformance.",
|
|
361
|
+
|
|
362
|
+
children: [
|
|
363
|
+
{
|
|
364
|
+
tag: "field", name: "GroupId", xref: "core§11.27.7.4.1",
|
|
365
|
+
details: "This field shall indicate the destination group for which the operational key is being updated."
|
|
366
|
+
},
|
|
367
|
+
|
|
368
|
+
{
|
|
369
|
+
tag: "field", name: "KeySetId", xref: "core§11.27.7.4.2",
|
|
370
|
+
|
|
371
|
+
details: "This field shall indicate the value used to identify the operational group key used for this group." +
|
|
372
|
+
"\n" +
|
|
373
|
+
"This field is generated by the administrator in any manner it deems appropriate, ensuring that there " +
|
|
374
|
+
"is no collision within the fabric. Some examples may include but are not limited to:" +
|
|
375
|
+
"\n" +
|
|
376
|
+
" - Truncated Key Hash with deduplication such as Cuckoo Hashing" +
|
|
377
|
+
"\n" +
|
|
378
|
+
" - Randomly Generated Value" +
|
|
379
|
+
"\n" +
|
|
380
|
+
" - Key creation count"
|
|
381
|
+
},
|
|
382
|
+
|
|
383
|
+
{
|
|
384
|
+
tag: "field", name: "Key", xref: "core§11.27.7.4.3",
|
|
385
|
+
details: "This field shall indicate the 128-bit InputKey used to derive the OperationalGroupKey for the " +
|
|
386
|
+
"specified GroupID (per Operational Group Key Derivation). The derived OperationalGroupKey shall be " +
|
|
387
|
+
"persistently stored for the lifetime of the group; however, the InputKey itself shall NOT be stored."
|
|
388
|
+
}
|
|
389
|
+
]
|
|
390
|
+
},
|
|
391
|
+
|
|
392
|
+
{
|
|
393
|
+
tag: "command", name: "ConfigureAuxiliaryAcl", xref: "core§11.27.7.5",
|
|
394
|
+
details: "This command shall allow an Administrator to enable or disable the generation of AuxiliaryACL " +
|
|
395
|
+
"entries in the Access Control Cluster based on the groups joined (see Groupcast Auxiliary ACL " +
|
|
396
|
+
"Handling)." +
|
|
397
|
+
"\n" +
|
|
398
|
+
"This command shall have the following data fields subject to the listed conformance.",
|
|
399
|
+
|
|
400
|
+
children: [
|
|
401
|
+
{
|
|
402
|
+
tag: "field", name: "GroupId", xref: "core§11.27.7.5.1",
|
|
403
|
+
details: "This field shall indicate the group for which Auxiliary ACL entry generation state will be " +
|
|
404
|
+
"enabled/disabled."
|
|
405
|
+
},
|
|
406
|
+
|
|
407
|
+
{
|
|
408
|
+
tag: "field", name: "UseAuxiliaryAcl", xref: "core§11.27.7.5.2",
|
|
409
|
+
|
|
410
|
+
details: "This field shall indicate if Auxiliary ACL entries shall be generated or removed." +
|
|
411
|
+
"\n" +
|
|
412
|
+
"If the field is set to true, necessary AuxiliaryACL entries shall be generated in the Access Control " +
|
|
413
|
+
"Cluster referring to each endpoint in the group identified by the given GroupID. Otherwise, if the " +
|
|
414
|
+
"field is set to false, all previously auto-generated AuxiliaryACL entries for the endpoints in this " +
|
|
415
|
+
"group shall be removed."
|
|
416
|
+
}
|
|
417
|
+
]
|
|
418
|
+
},
|
|
419
|
+
|
|
420
|
+
{
|
|
421
|
+
tag: "command", name: "GroupcastTesting", xref: "core§11.27.7.6",
|
|
422
|
+
details: "This command shall allow an Administrator to configure test modes that allow validation of Groupcast " +
|
|
423
|
+
"communication." +
|
|
424
|
+
"\n" +
|
|
425
|
+
"This command shall have the following data fields subject to the listed conformance.",
|
|
426
|
+
|
|
427
|
+
children: [
|
|
428
|
+
{
|
|
429
|
+
tag: "field", name: "TestOperation", xref: "core§11.27.7.6.1",
|
|
430
|
+
details: "This field shall identify the type of TestOperation to execute. See Effect on Receipt."
|
|
431
|
+
},
|
|
432
|
+
|
|
433
|
+
{
|
|
434
|
+
tag: "field", name: "DurationSeconds", xref: "core§11.27.7.6.2",
|
|
435
|
+
details: "This field shall indicate the time duration in seconds for the test operation until all testing " +
|
|
436
|
+
"operations reverts to a disabled state." +
|
|
437
|
+
"\n" +
|
|
438
|
+
"This field is ignored when the TestOperation field has a value of DisableTesting."
|
|
439
|
+
}
|
|
440
|
+
]
|
|
441
|
+
},
|
|
442
|
+
|
|
443
|
+
{
|
|
444
|
+
tag: "datatype", name: "MulticastAddrPolicyEnum", xref: "core§11.27.5.1",
|
|
445
|
+
|
|
446
|
+
children: [
|
|
447
|
+
{
|
|
448
|
+
tag: "field", name: "IanaAddr",
|
|
449
|
+
description: "Indicates group uses the IANA-assigned multicast address (default)",
|
|
450
|
+
xref: "core§11.27.5.1.1",
|
|
451
|
+
|
|
452
|
+
details: "The Multicast Address of the group shall be the IANA Assigned IPv6 Multicast Address." +
|
|
453
|
+
"\n" +
|
|
454
|
+
"The IanaAddr method minimizes the number of multicast addresses to which a node must subscribe, " +
|
|
455
|
+
"reducing the state it must maintain. This approach comes at the cost of receiving multicast traffic " +
|
|
456
|
+
"for all groups that use this policy, potentially from any fabric. The node will then filter this " +
|
|
457
|
+
"traffic at the message layer by attempting decryption with its available group keys. Due to various " +
|
|
458
|
+
"network infrastructure scalability limits, such as the maximum number of MPL registrations a Border " +
|
|
459
|
+
"Router can support, a controller SHOULD default to configure all groups to use the AllNodes address."
|
|
460
|
+
},
|
|
461
|
+
|
|
462
|
+
{
|
|
463
|
+
tag: "field", name: "PerGroup",
|
|
464
|
+
description: "Group uses multicast address scoped to Fabric ID and Group ID",
|
|
465
|
+
xref: "core§11.27.5.1.2",
|
|
466
|
+
|
|
467
|
+
details: "The 16-bit Group Identifier of the Multicast Address shall be the Group ID of the group." +
|
|
468
|
+
"\n" +
|
|
469
|
+
"The PerGroupID multicast address policy maximizes network-layer filtering, ensuring that a node only " +
|
|
470
|
+
"receives multicast traffic for groups to which it has subscribed. This method requires a node to " +
|
|
471
|
+
"join a unique multicast group for each (fabric, group) combination that uses this policy. This " +
|
|
472
|
+
"method SHOULD be reserved for the following purposes: . Use by groups with listener members that " +
|
|
473
|
+
"require extra filtering at the network layer, such as low power devices. . Use by groups with " +
|
|
474
|
+
"members that include legacy listeners running a version 2 or earlier of this cluster. Controllers " +
|
|
475
|
+
"SHOULD limit the number of groups that use this policy within a network environment to account for " +
|
|
476
|
+
"infrastructure limits mentioned above."
|
|
477
|
+
}
|
|
478
|
+
]
|
|
479
|
+
},
|
|
480
|
+
|
|
481
|
+
{
|
|
482
|
+
tag: "datatype", name: "GroupcastTestingEnum", xref: "core§11.27.5.2",
|
|
483
|
+
details: "See the GroupcastTesting command for a description of these operations.",
|
|
484
|
+
children: [
|
|
485
|
+
{ tag: "field", name: "DisableTesting", description: "Disable all test event generation" },
|
|
486
|
+
{ tag: "field", name: "EnableListenerTesting", description: "Enable Listener test event generation" },
|
|
487
|
+
{ tag: "field", name: "EnableSenderTesting", description: "Enable Sender test event generation" }
|
|
488
|
+
]
|
|
489
|
+
},
|
|
490
|
+
|
|
491
|
+
{
|
|
492
|
+
tag: "datatype", name: "GroupcastTestResultEnum", xref: "core§11.27.5.3",
|
|
493
|
+
|
|
494
|
+
children: [
|
|
495
|
+
{ tag: "field", name: "Success", description: "There was no failure" },
|
|
496
|
+
{
|
|
497
|
+
tag: "field", name: "GeneralError",
|
|
498
|
+
description: "Other error during processing not otherwise covered"
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
tag: "field", name: "MessageReplay",
|
|
502
|
+
description: "Message counter was <= counter from last received"
|
|
503
|
+
},
|
|
504
|
+
{ tag: "field", name: "FailedAuth", description: "Message authentication failed" },
|
|
505
|
+
{ tag: "field", name: "NoAvailableKey", description: "No key was found to process the message" },
|
|
506
|
+
{
|
|
507
|
+
tag: "field", name: "SendFailure",
|
|
508
|
+
description: "Issue with attempting to send a multicast IPv6 message"
|
|
509
|
+
}
|
|
510
|
+
]
|
|
511
|
+
},
|
|
512
|
+
|
|
513
|
+
{
|
|
514
|
+
tag: "datatype", name: "MembershipStruct", xref: "core§11.27.5.4",
|
|
515
|
+
|
|
516
|
+
children: [
|
|
517
|
+
{
|
|
518
|
+
tag: "field", name: "GroupId", xref: "core§11.27.5.4.1",
|
|
519
|
+
details: "This field shall indicate an identifier for the multicast group within the fabric. Group Identifier " +
|
|
520
|
+
"is a 16-bit value that shall be assigned by the administrator when the group is created."
|
|
521
|
+
},
|
|
522
|
+
|
|
523
|
+
{
|
|
524
|
+
tag: "field", name: "Endpoints", xref: "core§11.27.5.4.2",
|
|
525
|
+
|
|
526
|
+
details: "This field shall indicate a list of endpoint numbers that are members of the multicast group. This " +
|
|
527
|
+
"field is only relevant for Listeners. The content of this field shall be considered in Request Path " +
|
|
528
|
+
"Expansion when processing the relevant Interaction for the received Groupcast message for the " +
|
|
529
|
+
"associated GroupID. When the device is acting as a Listener as member of the group, the Endpoints " +
|
|
530
|
+
"field shall list at least one endpoint and shall NOT contain more than 255 endpoints." +
|
|
531
|
+
"\n" +
|
|
532
|
+
"If both the Listener and Sender bits are set in the FeatureMap attribute, then the list may be " +
|
|
533
|
+
"either empty or missing, until such time that the JoinGroup command is done with a non-empty " +
|
|
534
|
+
"Endpoints field. With these FeatureMap bits both set, the empty or missing list indicates that the " +
|
|
535
|
+
"group is joined for sending, but since there are not endpoints available in the group membership, no " +
|
|
536
|
+
"group messages will be possible to receive."
|
|
537
|
+
},
|
|
538
|
+
|
|
539
|
+
{
|
|
540
|
+
tag: "field", name: "KeySetId", xref: "core§11.27.5.4.3",
|
|
541
|
+
|
|
542
|
+
details: "This field shall indicate the value used to identify the group operational key used for this group." +
|
|
543
|
+
"\n" +
|
|
544
|
+
"This field maps directly to the GroupKeySetID as defined in the Group Key Management cluster. This " +
|
|
545
|
+
"field is provided by the administrator with the provided Key within the JoinGroup or UpdateGroupKey " +
|
|
546
|
+
"commands. This field shall be used by administrators of the fabric to determine if the server has " +
|
|
547
|
+
"the correct group operational key for their group. If not, the administrator may update the GroupKey " +
|
|
548
|
+
"using the UpdateGroupKey command to recover communication."
|
|
549
|
+
},
|
|
550
|
+
|
|
551
|
+
{
|
|
552
|
+
tag: "field", name: "HasAuxiliaryAcl", xref: "core§11.27.5.4.4",
|
|
553
|
+
details: "This field shall indicate if AuxiliaryACL entries are to be generated. The field shall be set to " +
|
|
554
|
+
"true if the group membership was configured to cause AuxiliaryACL entries to be generated, or false " +
|
|
555
|
+
"otherwise. See Groupcast Auxiliary ACL Handling for the handling of this field." +
|
|
556
|
+
"\n" +
|
|
557
|
+
"See also the ConfigureAuxiliaryACL command."
|
|
558
|
+
},
|
|
559
|
+
|
|
560
|
+
{
|
|
561
|
+
tag: "field", name: "McastAddrPolicy", xref: "core§11.27.5.4.5",
|
|
562
|
+
details: "This field shall indicate how the IPv6 Multicast Address shall be constructed for this group."
|
|
563
|
+
}
|
|
564
|
+
]
|
|
565
|
+
}
|
|
566
|
+
]
|
|
567
|
+
}
|
|
568
|
+
);
|
|
@@ -11,7 +11,16 @@ import { Resource } from "#models/Resource.js";
|
|
|
11
11
|
Resource.add({
|
|
12
12
|
tag: "cluster", name: "Groups", pics: "G", xref: "cluster§1.3",
|
|
13
13
|
|
|
14
|
-
details: "
|
|
14
|
+
details: "> [!NOTE]" +
|
|
15
|
+
"\n" +
|
|
16
|
+
"> NOTE: Starting with the release of Matter when the Groupcast Cluster becomes certifiable, that " +
|
|
17
|
+
"cluster supersedes this Groups Cluster. Groups created on devices prior to that Matter release " +
|
|
18
|
+
"remain operational via the PerGroup feature in the Groupcast Cluster. All new group management " +
|
|
19
|
+
"operations SHOULD be performed through the Groupcast Cluster. Device types with existing mandatory " +
|
|
20
|
+
"conformance to the Groups Cluster shall retain Groups server cluster support for backward " +
|
|
21
|
+
"compatibility." +
|
|
22
|
+
"\n" +
|
|
23
|
+
"The Groups cluster manages, per endpoint, the content of the node-wide Group Table that is part of " +
|
|
15
24
|
"the underlying interaction layer." +
|
|
16
25
|
"\n" +
|
|
17
26
|
"In a network supporting fabrics, group IDs referenced by attributes or other elements of this " +
|
|
@@ -73,7 +73,8 @@ Resource.add({
|
|
|
73
73
|
|
|
74
74
|
{
|
|
75
75
|
tag: "attribute", name: "IcdCounter", xref: "core§9.16.6.5",
|
|
76
|
-
details: "
|
|
76
|
+
details: "Indicates the value of the ICD Counter. The ICD Counter is used as the Check-In Counter to encrypt " +
|
|
77
|
+
"the check-in message for this client."
|
|
77
78
|
},
|
|
78
79
|
{
|
|
79
80
|
tag: "attribute", name: "ClientsSupportedPerFabric", xref: "core§9.16.6.6",
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/*** THIS FILE IS GENERATED, DO NOT EDIT ***/
|
|
8
|
+
|
|
9
|
+
import { Resource } from "#models/Resource.js";
|
|
10
|
+
|
|
11
|
+
Resource.add({
|
|
12
|
+
tag: "semanticNamespace", name: "IdentifiedHumanActivity", xref: "namespace§29",
|
|
13
|
+
details: "The tags contained in this namespace are intended to be used to identify human activity by some " +
|
|
14
|
+
"detection or sensing implementation.",
|
|
15
|
+
|
|
16
|
+
children: [
|
|
17
|
+
{ tag: "semanticTag", name: "Unknown", description: "Unknown human activity is detected." },
|
|
18
|
+
{ tag: "semanticTag", name: "Fall", description: "Human fall is detected." },
|
|
19
|
+
{ tag: "semanticTag", name: "Sleeping", description: "Human sleeping is detected." },
|
|
20
|
+
{ tag: "semanticTag", name: "Walking", description: "Human walking is detected." },
|
|
21
|
+
{ tag: "semanticTag", name: "Workout", description: "Human workout is detected." },
|
|
22
|
+
{ tag: "semanticTag", name: "Sitting", description: "Human sitting is detected." },
|
|
23
|
+
{ tag: "semanticTag", name: "Standing", description: "Human standing is detected." },
|
|
24
|
+
{ tag: "semanticTag", name: "Dancing", description: "Human dancing is detected." },
|
|
25
|
+
{ tag: "semanticTag", name: "PackageDelivery", description: "Human delivery of package is detected." },
|
|
26
|
+
{ tag: "semanticTag", name: "PackageRetrieval", description: "Human retrieval of package is detected." }
|
|
27
|
+
]
|
|
28
|
+
});
|