@matterbridge/core 3.7.10 → 3.8.0-dev-20260524-eed6b4a
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/behaviors/activatedCarbonFilterMonitoringServer.d.ts +5 -2
- package/dist/behaviors/bindingServer.js +0 -2
- package/dist/behaviors/booleanStateConfigurationServer.d.ts +6 -1
- package/dist/behaviors/colorControlServer.d.ts +20 -774
- package/dist/behaviors/deviceEnergyManagementServer.d.ts +9 -299
- package/dist/behaviors/doorLockServer.d.ts +29 -47
- package/dist/behaviors/doorLockServer.js +11 -299
- package/dist/behaviors/fanControlServer.d.ts +8 -1
- package/dist/behaviors/hepaFilterMonitoringServer.d.ts +5 -2
- package/dist/behaviors/smokeCoAlarmServer.d.ts +4 -77
- package/dist/behaviors/thermostatServer.d.ts +20 -722
- package/dist/behaviors/valveConfigurationAndControlServer.d.ts +4 -1
- package/dist/behaviors/windowCoveringServer.d.ts +28 -564
- package/dist/clusters/closure-control.d.ts +130 -620
- package/dist/clusters/closure-control.js +15 -170
- package/dist/clusters/closure-dimension.d.ts +148 -814
- package/dist/clusters/closure-dimension.js +15 -202
- package/dist/clusters/export.d.ts +1 -3
- package/dist/clusters/export.js +1 -3
- package/dist/clusters/soil-measurement.d.ts +31 -31
- package/dist/clusters/soil-measurement.js +29 -19
- package/dist/devices/closure.d.ts +14 -291
- package/dist/devices/closure.js +6 -13
- package/dist/devices/closurePanel.d.ts +13 -370
- package/dist/devices/closurePanel.js +9 -15
- package/dist/devices/evse.d.ts +7 -1
- package/dist/devices/heatPump.js +5 -5
- package/dist/devices/irrigationSystem.js +2 -2
- package/dist/devices/microwaveOven.d.ts +5 -76
- package/dist/devices/roboticVacuumCleaner.js +5 -5
- package/dist/devices/soilSensor.d.ts +0 -15
- package/dist/devices/soilSensor.js +4 -20
- package/dist/devices/temperatureControl.d.ts +10 -130
- package/dist/frontend.js +9 -9
- package/dist/helpers.js +0 -8
- package/dist/jestutils/jestBroadcastServerSpy.d.ts +2 -2
- package/dist/jestutils/jestMatterTest.js +4 -4
- package/dist/jestutils/jestMatterbridgeEndpointSpy.d.ts +34 -37
- package/dist/jestutils/jestMatterbridgePlatformSpy.d.ts +4 -4
- package/dist/jestutils/jestMatterbridgeTest.js +1 -1
- package/dist/matter/export.d.ts +11 -0
- package/dist/matter/export.js +11 -0
- package/dist/matterbridge.d.ts +3 -0
- package/dist/matterbridge.js +10 -4
- package/dist/matterbridgeDeviceTypes.d.ts +15 -0
- package/dist/matterbridgeDeviceTypes.js +305 -162
- package/dist/matterbridgeEndpoint.d.ts +35 -25
- package/dist/matterbridgeEndpoint.js +6 -7
- package/dist/matterbridgeEndpointCommandHandler.d.ts +3 -59
- package/dist/matterbridgeEndpointHelpers.d.ts +83 -1382
- package/dist/matterbridgeEndpointHelpers.js +20 -5
- package/package.json +8 -8
|
@@ -1,202 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
})(Feature = ClosureDimension.Feature || (ClosureDimension.Feature = {}));
|
|
17
|
-
let ClosureUnit;
|
|
18
|
-
(function (ClosureUnit) {
|
|
19
|
-
ClosureUnit[ClosureUnit["Millimeter"] = 0] = "Millimeter";
|
|
20
|
-
ClosureUnit[ClosureUnit["Degree"] = 1] = "Degree";
|
|
21
|
-
})(ClosureUnit = ClosureDimension.ClosureUnit || (ClosureDimension.ClosureUnit = {}));
|
|
22
|
-
let ModulationType;
|
|
23
|
-
(function (ModulationType) {
|
|
24
|
-
ModulationType[ModulationType["SlatsOrientation"] = 0] = "SlatsOrientation";
|
|
25
|
-
ModulationType[ModulationType["SlatsOpenwork"] = 1] = "SlatsOpenwork";
|
|
26
|
-
ModulationType[ModulationType["StripesAlignment"] = 2] = "StripesAlignment";
|
|
27
|
-
ModulationType[ModulationType["Opacity"] = 3] = "Opacity";
|
|
28
|
-
ModulationType[ModulationType["Ventilation"] = 4] = "Ventilation";
|
|
29
|
-
})(ModulationType = ClosureDimension.ModulationType || (ClosureDimension.ModulationType = {}));
|
|
30
|
-
let Overflow;
|
|
31
|
-
(function (Overflow) {
|
|
32
|
-
Overflow[Overflow["NoOverflow"] = 0] = "NoOverflow";
|
|
33
|
-
Overflow[Overflow["Inside"] = 1] = "Inside";
|
|
34
|
-
Overflow[Overflow["Outside"] = 2] = "Outside";
|
|
35
|
-
Overflow[Overflow["TopInside"] = 3] = "TopInside";
|
|
36
|
-
Overflow[Overflow["TopOutside"] = 4] = "TopOutside";
|
|
37
|
-
Overflow[Overflow["BottomInside"] = 5] = "BottomInside";
|
|
38
|
-
Overflow[Overflow["BottomOutside"] = 6] = "BottomOutside";
|
|
39
|
-
Overflow[Overflow["LeftInside"] = 7] = "LeftInside";
|
|
40
|
-
Overflow[Overflow["LeftOutside"] = 8] = "LeftOutside";
|
|
41
|
-
Overflow[Overflow["RightInside"] = 9] = "RightInside";
|
|
42
|
-
Overflow[Overflow["RightOutside"] = 10] = "RightOutside";
|
|
43
|
-
})(Overflow = ClosureDimension.Overflow || (ClosureDimension.Overflow = {}));
|
|
44
|
-
let RotationAxis;
|
|
45
|
-
(function (RotationAxis) {
|
|
46
|
-
RotationAxis[RotationAxis["Left"] = 0] = "Left";
|
|
47
|
-
RotationAxis[RotationAxis["CenteredVertical"] = 1] = "CenteredVertical";
|
|
48
|
-
RotationAxis[RotationAxis["LeftAndRight"] = 2] = "LeftAndRight";
|
|
49
|
-
RotationAxis[RotationAxis["Right"] = 3] = "Right";
|
|
50
|
-
RotationAxis[RotationAxis["Top"] = 4] = "Top";
|
|
51
|
-
RotationAxis[RotationAxis["CenteredHorizontal"] = 5] = "CenteredHorizontal";
|
|
52
|
-
RotationAxis[RotationAxis["TopAndBottom"] = 6] = "TopAndBottom";
|
|
53
|
-
RotationAxis[RotationAxis["Bottom"] = 7] = "Bottom";
|
|
54
|
-
RotationAxis[RotationAxis["LeftBarrier"] = 8] = "LeftBarrier";
|
|
55
|
-
RotationAxis[RotationAxis["LeftAndRightBarriers"] = 9] = "LeftAndRightBarriers";
|
|
56
|
-
RotationAxis[RotationAxis["RightBarrier"] = 10] = "RightBarrier";
|
|
57
|
-
})(RotationAxis = ClosureDimension.RotationAxis || (ClosureDimension.RotationAxis = {}));
|
|
58
|
-
let StepDirection;
|
|
59
|
-
(function (StepDirection) {
|
|
60
|
-
StepDirection[StepDirection["Decrease"] = 0] = "Decrease";
|
|
61
|
-
StepDirection[StepDirection["Increase"] = 1] = "Increase";
|
|
62
|
-
})(StepDirection = ClosureDimension.StepDirection || (ClosureDimension.StepDirection = {}));
|
|
63
|
-
let TranslationDirection;
|
|
64
|
-
(function (TranslationDirection) {
|
|
65
|
-
TranslationDirection[TranslationDirection["Downward"] = 0] = "Downward";
|
|
66
|
-
TranslationDirection[TranslationDirection["Upward"] = 1] = "Upward";
|
|
67
|
-
TranslationDirection[TranslationDirection["VerticalMask"] = 2] = "VerticalMask";
|
|
68
|
-
TranslationDirection[TranslationDirection["VerticalSymmetry"] = 3] = "VerticalSymmetry";
|
|
69
|
-
TranslationDirection[TranslationDirection["Leftward"] = 4] = "Leftward";
|
|
70
|
-
TranslationDirection[TranslationDirection["Rightward"] = 5] = "Rightward";
|
|
71
|
-
TranslationDirection[TranslationDirection["HorizontalMask"] = 6] = "HorizontalMask";
|
|
72
|
-
TranslationDirection[TranslationDirection["HorizontalSymmetry"] = 7] = "HorizontalSymmetry";
|
|
73
|
-
TranslationDirection[TranslationDirection["Forward"] = 8] = "Forward";
|
|
74
|
-
TranslationDirection[TranslationDirection["Backward"] = 9] = "Backward";
|
|
75
|
-
TranslationDirection[TranslationDirection["DepthMask"] = 10] = "DepthMask";
|
|
76
|
-
TranslationDirection[TranslationDirection["DepthSymmetry"] = 11] = "DepthSymmetry";
|
|
77
|
-
})(TranslationDirection = ClosureDimension.TranslationDirection || (ClosureDimension.TranslationDirection = {}));
|
|
78
|
-
ClosureDimension.LatchControlModes = {
|
|
79
|
-
remoteLatching: BitFlag(0),
|
|
80
|
-
remoteUnlatching: BitFlag(1),
|
|
81
|
-
};
|
|
82
|
-
ClosureDimension.TlvDimensionState = TlvObject({
|
|
83
|
-
position: TlvOptionalField(0, TlvNullable(TlvPercent100ths)),
|
|
84
|
-
latch: TlvOptionalField(1, TlvNullable(TlvBoolean)),
|
|
85
|
-
speed: TlvOptionalField(2, TlvEnum()),
|
|
86
|
-
});
|
|
87
|
-
ClosureDimension.TlvRangePercent100ths = TlvObject({
|
|
88
|
-
min: TlvField(0, TlvPercent100ths),
|
|
89
|
-
max: TlvField(1, TlvPercent100ths),
|
|
90
|
-
});
|
|
91
|
-
ClosureDimension.TlvUnitRange = TlvObject({
|
|
92
|
-
min: TlvField(0, TlvInt16),
|
|
93
|
-
max: TlvField(1, TlvInt16),
|
|
94
|
-
});
|
|
95
|
-
ClosureDimension.TlvSetTargetRequest = TlvObject({
|
|
96
|
-
position: TlvOptionalField(0, TlvPercent100ths),
|
|
97
|
-
latch: TlvOptionalField(1, TlvBoolean),
|
|
98
|
-
speed: TlvOptionalField(2, TlvEnum()),
|
|
99
|
-
});
|
|
100
|
-
ClosureDimension.TlvStepRequest = TlvObject({
|
|
101
|
-
direction: TlvField(0, TlvEnum()),
|
|
102
|
-
numberOfSteps: TlvField(1, TlvUInt16.bound({ min: 1 })),
|
|
103
|
-
speed: TlvOptionalField(2, TlvEnum()),
|
|
104
|
-
});
|
|
105
|
-
ClosureDimension.PositioningComponent = MutableCluster.Component({
|
|
106
|
-
attributes: {
|
|
107
|
-
resolution: FixedAttribute(0x2, TlvPercent100ths, { default: 1 }),
|
|
108
|
-
stepValue: FixedAttribute(0x3, TlvPercent100ths, { default: 1 }),
|
|
109
|
-
},
|
|
110
|
-
commands: {
|
|
111
|
-
step: Command(0x1, ClosureDimension.TlvStepRequest, 0x1, TlvNoResponse, { timed: true }),
|
|
112
|
-
},
|
|
113
|
-
});
|
|
114
|
-
ClosureDimension.MotionLatchingComponent = MutableCluster.Component({
|
|
115
|
-
attributes: {
|
|
116
|
-
latchControlModes: FixedAttribute(0xb, TlvBitmap(TlvUInt8, ClosureDimension.LatchControlModes)),
|
|
117
|
-
},
|
|
118
|
-
});
|
|
119
|
-
ClosureDimension.UnitComponent = MutableCluster.Component({
|
|
120
|
-
attributes: {
|
|
121
|
-
unit: FixedAttribute(0x4, TlvEnum()),
|
|
122
|
-
unitRange: Attribute(0x5, TlvNullable(ClosureDimension.TlvUnitRange), { default: null }),
|
|
123
|
-
},
|
|
124
|
-
});
|
|
125
|
-
ClosureDimension.LimitationComponent = MutableCluster.Component({
|
|
126
|
-
attributes: {
|
|
127
|
-
limitRange: Attribute(0x6, ClosureDimension.TlvRangePercent100ths),
|
|
128
|
-
},
|
|
129
|
-
});
|
|
130
|
-
ClosureDimension.TranslationComponent = MutableCluster.Component({
|
|
131
|
-
attributes: {
|
|
132
|
-
translationDirection: FixedAttribute(0x7, TlvEnum()),
|
|
133
|
-
},
|
|
134
|
-
});
|
|
135
|
-
ClosureDimension.RotationComponent = MutableCluster.Component({
|
|
136
|
-
attributes: {
|
|
137
|
-
rotationAxis: FixedAttribute(0x8, TlvEnum()),
|
|
138
|
-
overflow: FixedAttribute(0x9, TlvEnum()),
|
|
139
|
-
},
|
|
140
|
-
});
|
|
141
|
-
ClosureDimension.ModulationComponent = MutableCluster.Component({
|
|
142
|
-
attributes: {
|
|
143
|
-
modulationType: FixedAttribute(0xa, TlvEnum()),
|
|
144
|
-
},
|
|
145
|
-
});
|
|
146
|
-
ClosureDimension.Base = MutableCluster.Component({
|
|
147
|
-
id: 0x0105,
|
|
148
|
-
name: 'ClosureDimension',
|
|
149
|
-
revision: 1,
|
|
150
|
-
features: {
|
|
151
|
-
positioning: BitFlag(0),
|
|
152
|
-
motionLatching: BitFlag(1),
|
|
153
|
-
unit: BitFlag(2),
|
|
154
|
-
limitation: BitFlag(3),
|
|
155
|
-
speed: BitFlag(4),
|
|
156
|
-
translation: BitFlag(5),
|
|
157
|
-
rotation: BitFlag(6),
|
|
158
|
-
modulation: BitFlag(7),
|
|
159
|
-
},
|
|
160
|
-
attributes: {
|
|
161
|
-
currentState: Attribute(0x0, TlvNullable(ClosureDimension.TlvDimensionState), { default: null }),
|
|
162
|
-
targetState: Attribute(0x1, TlvNullable(ClosureDimension.TlvDimensionState), { default: null }),
|
|
163
|
-
},
|
|
164
|
-
commands: {
|
|
165
|
-
setTarget: Command(0x0, ClosureDimension.TlvSetTargetRequest, 0x0, TlvNoResponse, { timed: true }),
|
|
166
|
-
},
|
|
167
|
-
extensions: MutableCluster.Extensions({ flags: { positioning: true }, component: ClosureDimension.PositioningComponent }, { flags: { motionLatching: true }, component: ClosureDimension.MotionLatchingComponent }, { flags: { unit: true }, component: ClosureDimension.UnitComponent }, { flags: { limitation: true }, component: ClosureDimension.LimitationComponent }, { flags: { translation: true }, component: ClosureDimension.TranslationComponent }, { flags: { rotation: true }, component: ClosureDimension.RotationComponent }, { flags: { modulation: true }, component: ClosureDimension.ModulationComponent }, { flags: { positioning: false, motionLatching: false }, component: false }, { flags: { unit: true, positioning: false }, component: false }, { flags: { limitation: true, positioning: false }, component: false }, { flags: { speed: true, positioning: false }, component: false }, { flags: { translation: true, positioning: false }, component: false }, { flags: { rotation: true, positioning: false }, component: false }, { flags: { modulation: true, positioning: false }, component: false }, { flags: { translation: true, rotation: true }, component: false }, { flags: { translation: true, modulation: true }, component: false }, { flags: { rotation: true, modulation: true }, component: false }),
|
|
168
|
-
});
|
|
169
|
-
ClosureDimension.Cluster = MutableCluster.ExtensibleOnly(ClosureDimension.Base);
|
|
170
|
-
const PS = { positioning: true };
|
|
171
|
-
const LT = { motionLatching: true };
|
|
172
|
-
const UT = { unit: true };
|
|
173
|
-
const LM = { limitation: true };
|
|
174
|
-
const TR = { translation: true };
|
|
175
|
-
const RO = { rotation: true };
|
|
176
|
-
const MD = { modulation: true };
|
|
177
|
-
ClosureDimension.Complete = MutableCluster({
|
|
178
|
-
id: ClosureDimension.Base.id,
|
|
179
|
-
name: ClosureDimension.Base.name,
|
|
180
|
-
revision: ClosureDimension.Base.revision,
|
|
181
|
-
features: ClosureDimension.Base.features,
|
|
182
|
-
attributes: {
|
|
183
|
-
...ClosureDimension.Base.attributes,
|
|
184
|
-
resolution: MutableCluster.AsConditional(ClosureDimension.PositioningComponent.attributes.resolution, { mandatoryIf: [PS] }),
|
|
185
|
-
stepValue: MutableCluster.AsConditional(ClosureDimension.PositioningComponent.attributes.stepValue, { mandatoryIf: [PS] }),
|
|
186
|
-
unit: MutableCluster.AsConditional(ClosureDimension.UnitComponent.attributes.unit, { mandatoryIf: [UT] }),
|
|
187
|
-
unitRange: MutableCluster.AsConditional(ClosureDimension.UnitComponent.attributes.unitRange, { mandatoryIf: [UT] }),
|
|
188
|
-
limitRange: MutableCluster.AsConditional(ClosureDimension.LimitationComponent.attributes.limitRange, { mandatoryIf: [LM] }),
|
|
189
|
-
translationDirection: MutableCluster.AsConditional(ClosureDimension.TranslationComponent.attributes.translationDirection, { mandatoryIf: [TR] }),
|
|
190
|
-
rotationAxis: MutableCluster.AsConditional(ClosureDimension.RotationComponent.attributes.rotationAxis, { mandatoryIf: [RO] }),
|
|
191
|
-
overflow: MutableCluster.AsConditional(ClosureDimension.RotationComponent.attributes.overflow, { mandatoryIf: [RO] }),
|
|
192
|
-
modulationType: MutableCluster.AsConditional(ClosureDimension.ModulationComponent.attributes.modulationType, { mandatoryIf: [MD] }),
|
|
193
|
-
latchControlModes: MutableCluster.AsConditional(ClosureDimension.MotionLatchingComponent.attributes.latchControlModes, { mandatoryIf: [LT] }),
|
|
194
|
-
},
|
|
195
|
-
commands: {
|
|
196
|
-
...ClosureDimension.Base.commands,
|
|
197
|
-
step: MutableCluster.AsConditional(ClosureDimension.PositioningComponent.commands.step, { mandatoryIf: [PS] }),
|
|
198
|
-
},
|
|
199
|
-
});
|
|
200
|
-
})(ClosureDimension || (ClosureDimension = {}));
|
|
201
|
-
export const ClosureDimensionCluster = ClosureDimension.Cluster;
|
|
202
|
-
ClusterRegistry.register(ClosureDimension.Complete);
|
|
1
|
+
import { AttributeElement, ClusterElement, ClusterModel, CommandElement, DatatypeElement, FieldElement, Matter, MatterDefinition } from '@matter/main/model';
|
|
2
|
+
import { ClusterType } from '@matter/types/cluster';
|
|
3
|
+
export const ClosureDimensionDefinition = ClusterElement({
|
|
4
|
+
name: 'ClosureDimension',
|
|
5
|
+
id: 0x0105,
|
|
6
|
+
classification: 'application',
|
|
7
|
+
}, AttributeElement({ name: 'ClusterRevision', id: 0xfffd, type: 'ClusterRevision', default: 1 }), AttributeElement({ name: 'FeatureMap', id: 0xfffc, type: 'FeatureMap' }, FieldElement({ name: 'PS', conformance: 'O', constraint: '0', title: 'Positioning' }), FieldElement({ name: 'LT', conformance: 'O', constraint: '1', title: 'MotionLatching' }), FieldElement({ name: 'UT', conformance: '[PS]', constraint: '2', title: 'Unit' }), FieldElement({ name: 'LM', conformance: '[PS]', constraint: '3', title: 'Limitation' }), FieldElement({ name: 'SP', conformance: '[PS]', constraint: '4', title: 'Speed' }), FieldElement({ name: 'TR', conformance: '[PS]', constraint: '5', title: 'Translation' }), FieldElement({ name: 'RO', conformance: '[PS]', constraint: '6', title: 'Rotation' }), FieldElement({ name: 'MD', conformance: '[PS]', constraint: '7', title: 'Modulation' })), AttributeElement({ name: 'CurrentState', id: 0x0000, type: 'DimensionStateStruct', access: 'R V', conformance: 'M', default: null, quality: 'X' }), AttributeElement({ name: 'TargetState', id: 0x0001, type: 'DimensionStateStruct', access: 'R V', conformance: 'M', default: null, quality: 'X' }), AttributeElement({ name: 'Resolution', id: 0x0002, type: 'percent100ths', access: 'R V', conformance: 'PS', default: 1, quality: 'F' }), AttributeElement({ name: 'StepValue', id: 0x0003, type: 'percent100ths', access: 'R V', conformance: 'PS', default: 1, quality: 'F' }), AttributeElement({ name: 'Unit', id: 0x0004, type: 'ClosureUnitEnum', access: 'R V', conformance: 'UT', quality: 'F' }), AttributeElement({ name: 'UnitRange', id: 0x0005, type: 'UnitRangeStruct', access: 'R V', conformance: 'UT', default: null, quality: 'X' }), AttributeElement({ name: 'LimitRange', id: 0x0006, type: 'RangePercent100thsStruct', access: 'R V', conformance: 'LM' }), AttributeElement({ name: 'TranslationDirection', id: 0x0007, type: 'TranslationDirectionEnum', access: 'R V', conformance: 'TR', quality: 'F' }), AttributeElement({ name: 'RotationAxis', id: 0x0008, type: 'RotationAxisEnum', access: 'R V', conformance: 'RO', quality: 'F' }), AttributeElement({ name: 'Overflow', id: 0x0009, type: 'OverflowEnum', access: 'R V', conformance: 'RO', quality: 'F' }), AttributeElement({ name: 'ModulationType', id: 0x000a, type: 'ModulationTypeEnum', access: 'R V', conformance: 'MD', quality: 'F' }), AttributeElement({ name: 'LatchControlModes', id: 0x000b, type: 'LatchControlModesBitmap', access: 'R V', conformance: 'LT', quality: 'F' }), CommandElement({ name: 'SetTarget', id: 0x0000, access: 'O T', conformance: 'M', direction: 'request', response: 'status' }, FieldElement({ name: 'Position', id: 0x0, type: 'percent100ths', conformance: 'O' }), FieldElement({ name: 'Latch', id: 0x1, type: 'bool', conformance: 'O' }), FieldElement({ name: 'Speed', id: 0x2, type: 'ThreeLevelAutoEnum', conformance: 'O' })), CommandElement({ name: 'Step', id: 0x0001, access: 'O T', conformance: 'PS', direction: 'request', response: 'status' }, FieldElement({ name: 'Direction', id: 0x0, type: 'StepDirectionEnum', conformance: 'M' }), FieldElement({ name: 'NumberOfSteps', id: 0x1, type: 'uint16', conformance: 'M', constraint: 'min 1' }), FieldElement({ name: 'Speed', id: 0x2, type: 'ThreeLevelAutoEnum', conformance: 'O' })), DatatypeElement({ name: 'ClosureUnitEnum', type: 'enum8' }, FieldElement({ name: 'Millimeter', id: 0x0, conformance: 'M' }), FieldElement({ name: 'Degree', id: 0x1, conformance: 'M' })), DatatypeElement({ name: 'ModulationTypeEnum', type: 'enum8' }, FieldElement({ name: 'SlatsOrientation', id: 0x0, conformance: 'M' }), FieldElement({ name: 'SlatsOpenwork', id: 0x1, conformance: 'M' }), FieldElement({ name: 'StripesAlignment', id: 0x2, conformance: 'M' }), FieldElement({ name: 'Opacity', id: 0x3, conformance: 'M' }), FieldElement({ name: 'Ventilation', id: 0x4, conformance: 'M' })), DatatypeElement({ name: 'OverflowEnum', type: 'enum8' }, FieldElement({ name: 'NoOverflow', id: 0x0, conformance: 'M' }), FieldElement({ name: 'Inside', id: 0x1, conformance: 'M' }), FieldElement({ name: 'Outside', id: 0x2, conformance: 'M' }), FieldElement({ name: 'TopInside', id: 0x3, conformance: 'M' }), FieldElement({ name: 'TopOutside', id: 0x4, conformance: 'M' }), FieldElement({ name: 'BottomInside', id: 0x5, conformance: 'M' }), FieldElement({ name: 'BottomOutside', id: 0x6, conformance: 'M' }), FieldElement({ name: 'LeftInside', id: 0x7, conformance: 'M' }), FieldElement({ name: 'LeftOutside', id: 0x8, conformance: 'M' }), FieldElement({ name: 'RightInside', id: 0x9, conformance: 'M' }), FieldElement({ name: 'RightOutside', id: 0x0a, conformance: 'M' })), DatatypeElement({ name: 'RotationAxisEnum', type: 'enum8' }, FieldElement({ name: 'Left', id: 0x0, conformance: 'M' }), FieldElement({ name: 'CenteredVertical', id: 0x1, conformance: 'M' }), FieldElement({ name: 'LeftAndRight', id: 0x2, conformance: 'M' }), FieldElement({ name: 'Right', id: 0x3, conformance: 'M' }), FieldElement({ name: 'Top', id: 0x4, conformance: 'M' }), FieldElement({ name: 'CenteredHorizontal', id: 0x5, conformance: 'M' }), FieldElement({ name: 'TopAndBottom', id: 0x6, conformance: 'M' }), FieldElement({ name: 'Bottom', id: 0x7, conformance: 'M' }), FieldElement({ name: 'LeftBarrier', id: 0x8, conformance: 'M' }), FieldElement({ name: 'LeftAndRightBarriers', id: 0x9, conformance: 'M' }), FieldElement({ name: 'RightBarrier', id: 0x0a, conformance: 'M' })), DatatypeElement({ name: 'StepDirectionEnum', type: 'enum8' }, FieldElement({ name: 'Decrease', id: 0x0, conformance: 'M' }), FieldElement({ name: 'Increase', id: 0x1, conformance: 'M' })), DatatypeElement({ name: 'TranslationDirectionEnum', type: 'enum8' }, FieldElement({ name: 'Downward', id: 0x0, conformance: 'M' }), FieldElement({ name: 'Upward', id: 0x1, conformance: 'M' }), FieldElement({ name: 'VerticalMask', id: 0x2, conformance: 'M' }), FieldElement({ name: 'VerticalSymmetry', id: 0x3, conformance: 'M' }), FieldElement({ name: 'Leftward', id: 0x4, conformance: 'M' }), FieldElement({ name: 'Rightward', id: 0x5, conformance: 'M' }), FieldElement({ name: 'HorizontalMask', id: 0x6, conformance: 'M' }), FieldElement({ name: 'HorizontalSymmetry', id: 0x7, conformance: 'M' }), FieldElement({ name: 'Forward', id: 0x8, conformance: 'M' }), FieldElement({ name: 'Backward', id: 0x9, conformance: 'M' }), FieldElement({ name: 'DepthMask', id: 0x0a, conformance: 'M' }), FieldElement({ name: 'DepthSymmetry', id: 0x0b, conformance: 'M' })), DatatypeElement({ name: 'LatchControlModesBitmap', type: 'map8' }, FieldElement({ name: 'RemoteLatching', constraint: '0' }), FieldElement({ name: 'RemoteUnlatching', constraint: '1' })), DatatypeElement({ name: 'DimensionStateStruct', type: 'struct' }, FieldElement({ name: 'Position', id: 0x0, type: 'percent100ths', conformance: 'O', default: null, quality: 'X' }), FieldElement({ name: 'Latch', id: 0x1, type: 'bool', conformance: 'O', default: null, quality: 'X' }), FieldElement({ name: 'Speed', id: 0x2, type: 'ThreeLevelAutoEnum', conformance: 'O' })), DatatypeElement({ name: 'RangePercent100thsStruct', type: 'struct' }, FieldElement({ name: 'Min', id: 0x0, type: 'percent100ths', conformance: 'M' }), FieldElement({ name: 'Max', id: 0x1, type: 'percent100ths', conformance: 'M' })), DatatypeElement({ name: 'UnitRangeStruct', type: 'struct' }, FieldElement({ name: 'Min', id: 0x0, type: 'int16', conformance: 'M' }), FieldElement({ name: 'Max', id: 0x1, type: 'int16', conformance: 'M' })));
|
|
8
|
+
export const ClosureDimensionModel = new ClusterModel(ClosureDimensionDefinition);
|
|
9
|
+
if (!MatterDefinition.children.some((child) => child.id === ClosureDimensionDefinition.id)) {
|
|
10
|
+
MatterDefinition.children.push(ClosureDimensionDefinition);
|
|
11
|
+
}
|
|
12
|
+
if (Matter.clusters(ClosureDimensionModel.id) === undefined) {
|
|
13
|
+
Matter.children.push(ClosureDimensionModel);
|
|
14
|
+
}
|
|
15
|
+
export const ClosureDimension = ClusterType(ClosureDimensionModel);
|
package/dist/clusters/export.js
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ClusterElement, ClusterModel } from '@matter/main/model';
|
|
2
|
+
import { ClusterType, type ClusterTyping } from '@matter/types/cluster';
|
|
3
|
+
import { type ClusterId } from '@matter/types/datatype';
|
|
4
|
+
import { type MeasurementAccuracy } from '@matter/types/globals';
|
|
5
|
+
export declare const SoilMeasurementDefinition: ClusterElement;
|
|
6
|
+
export declare const SoilMeasurementModel: ClusterModel;
|
|
3
7
|
export declare namespace SoilMeasurement {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
percentTypical: import("@matter/types/tlv").OptionalFieldType<number>;
|
|
20
|
-
fixedMax: import("@matter/types/tlv").OptionalFieldType<number | bigint>;
|
|
21
|
-
fixedMin: import("@matter/types/tlv").OptionalFieldType<number | bigint>;
|
|
22
|
-
fixedTypical: import("@matter/types/tlv").OptionalFieldType<number | bigint>;
|
|
23
|
-
}>[]>;
|
|
24
|
-
}>, any>;
|
|
25
|
-
readonly soilMoistureMeasuredValue: Attribute<number | null, any>;
|
|
26
|
-
};
|
|
27
|
-
}, []>;
|
|
28
|
-
interface Cluster extends Identity<typeof ClusterInstance> {
|
|
8
|
+
interface BaseAttributes {
|
|
9
|
+
soilMoistureMeasurementLimits: MeasurementAccuracy;
|
|
10
|
+
soilMoistureMeasuredValue: number | null;
|
|
11
|
+
}
|
|
12
|
+
interface Attributes {
|
|
13
|
+
soilMoistureMeasurementLimits: MeasurementAccuracy;
|
|
14
|
+
soilMoistureMeasuredValue: number | null;
|
|
15
|
+
}
|
|
16
|
+
type Components = [{
|
|
17
|
+
flags: {};
|
|
18
|
+
attributes: BaseAttributes;
|
|
19
|
+
}];
|
|
20
|
+
interface Typing extends ClusterTyping {
|
|
21
|
+
Attributes: Attributes;
|
|
22
|
+
Components: Components;
|
|
29
23
|
}
|
|
30
|
-
const Cluster: Cluster;
|
|
31
|
-
const Complete: Cluster;
|
|
32
24
|
}
|
|
33
|
-
export
|
|
34
|
-
|
|
25
|
+
export declare const SoilMeasurement: ClusterType.Concrete & {
|
|
26
|
+
readonly id: ClusterId & 1072;
|
|
27
|
+
readonly name: "SoilMeasurement";
|
|
28
|
+
readonly revision: 1;
|
|
29
|
+
readonly schema: ClusterModel;
|
|
30
|
+
readonly attributes: ClusterType.AttributeObjects<SoilMeasurement.Attributes>;
|
|
31
|
+
readonly Typing: SoilMeasurement.Typing;
|
|
32
|
+
readonly Cluster: typeof SoilMeasurement;
|
|
33
|
+
readonly Complete: typeof SoilMeasurement;
|
|
34
|
+
};
|
|
@@ -1,19 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
1
|
+
import { AttributeElement, ClusterElement, ClusterModel, Matter, MatterDefinition } from '@matter/main/model';
|
|
2
|
+
import { ClusterType } from '@matter/types/cluster';
|
|
3
|
+
export const SoilMeasurementDefinition = ClusterElement({
|
|
4
|
+
name: 'SoilMeasurement',
|
|
5
|
+
id: 0x0430,
|
|
6
|
+
classification: 'application',
|
|
7
|
+
}, AttributeElement({ name: 'ClusterRevision', id: 0xfffd, type: 'ClusterRevision', default: 1 }), AttributeElement({ name: 'FeatureMap', id: 0xfffc, type: 'FeatureMap' }), AttributeElement({
|
|
8
|
+
name: 'SoilMoistureMeasurementLimits',
|
|
9
|
+
id: 0x0000,
|
|
10
|
+
type: 'MeasurementAccuracyStruct',
|
|
11
|
+
access: 'R V',
|
|
12
|
+
conformance: 'M',
|
|
13
|
+
}), AttributeElement({
|
|
14
|
+
name: 'SoilMoistureMeasuredValue',
|
|
15
|
+
id: 0x0001,
|
|
16
|
+
type: 'percent',
|
|
17
|
+
access: 'R V',
|
|
18
|
+
conformance: 'M',
|
|
19
|
+
quality: 'X',
|
|
20
|
+
default: null,
|
|
21
|
+
}));
|
|
22
|
+
export const SoilMeasurementModel = new ClusterModel(SoilMeasurementDefinition);
|
|
23
|
+
if (!MatterDefinition.children.some((child) => child.id === SoilMeasurementDefinition.id)) {
|
|
24
|
+
MatterDefinition.children.push(SoilMeasurementDefinition);
|
|
25
|
+
}
|
|
26
|
+
if (Matter.clusters(SoilMeasurementModel.id) === undefined) {
|
|
27
|
+
Matter.children.push(SoilMeasurementModel);
|
|
28
|
+
}
|
|
29
|
+
export const SoilMeasurement = ClusterType(SoilMeasurementModel);
|