Coverage Report

Created: 2026-02-12 06:57

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/connectedhomeip/zzz_generated/app-common/clusters/EnergyEvse/Attributes.h
Line
Count
Source
1
/*
2
 *
3
 *    Copyright (c) 2022 Project CHIP Authors
4
 *
5
 *    Licensed under the Apache License, Version 2.0 (the "License");
6
 *    you may not use this file except in compliance with the License.
7
 *    You may obtain a copy of the License at
8
 *
9
 *        http://www.apache.org/licenses/LICENSE-2.0
10
 *
11
 *    Unless required by applicable law or agreed to in writing, software
12
 *    distributed under the License is distributed on an "AS IS" BASIS,
13
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
 *    See the License for the specific language governing permissions and
15
 *    limitations under the License.
16
 */
17
18
// THIS FILE IS GENERATED BY ZAP
19
// This file is generated from clusters-Attributes.h.zapt
20
21
#pragma once
22
23
#include <app/ConcreteAttributePath.h>
24
#include <app/data-model/DecodableList.h>
25
#include <app/data-model/List.h>
26
#include <app/data-model/Nullable.h>
27
#include <app/util/basic-types.h>
28
#include <lib/core/TLV.h>
29
#include <lib/support/BitMask.h>
30
31
#include <clusters/shared/Attributes.h>
32
#include <clusters/shared/Enums.h>
33
#include <clusters/shared/Structs.h>
34
35
#include <clusters/EnergyEvse/AttributeIds.h>
36
#include <clusters/EnergyEvse/ClusterId.h>
37
#include <clusters/EnergyEvse/Enums.h>
38
#include <clusters/EnergyEvse/Structs.h>
39
40
namespace chip {
41
namespace app {
42
namespace Clusters {
43
namespace EnergyEvse {
44
namespace Attributes {
45
46
namespace State {
47
struct TypeInfo
48
{
49
    using Type             = chip::app::DataModel::Nullable<chip::app::Clusters::EnergyEvse::StateEnum>;
50
    using DecodableType    = chip::app::DataModel::Nullable<chip::app::Clusters::EnergyEvse::StateEnum>;
51
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::app::Clusters::EnergyEvse::StateEnum> &;
52
53
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
54
0
    static constexpr AttributeId GetAttributeId() { return Attributes::State::Id; }
55
0
    static constexpr bool MustUseTimedWrite() { return false; }
56
};
57
} // namespace State
58
namespace SupplyState {
59
struct TypeInfo
60
{
61
    using Type             = chip::app::Clusters::EnergyEvse::SupplyStateEnum;
62
    using DecodableType    = chip::app::Clusters::EnergyEvse::SupplyStateEnum;
63
    using DecodableArgType = chip::app::Clusters::EnergyEvse::SupplyStateEnum;
64
65
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
66
0
    static constexpr AttributeId GetAttributeId() { return Attributes::SupplyState::Id; }
67
0
    static constexpr bool MustUseTimedWrite() { return false; }
68
};
69
} // namespace SupplyState
70
namespace FaultState {
71
struct TypeInfo
72
{
73
    using Type             = chip::app::Clusters::EnergyEvse::FaultStateEnum;
74
    using DecodableType    = chip::app::Clusters::EnergyEvse::FaultStateEnum;
75
    using DecodableArgType = chip::app::Clusters::EnergyEvse::FaultStateEnum;
76
77
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
78
0
    static constexpr AttributeId GetAttributeId() { return Attributes::FaultState::Id; }
79
0
    static constexpr bool MustUseTimedWrite() { return false; }
80
};
81
} // namespace FaultState
82
namespace ChargingEnabledUntil {
83
struct TypeInfo
84
{
85
    using Type             = chip::app::DataModel::Nullable<uint32_t>;
86
    using DecodableType    = chip::app::DataModel::Nullable<uint32_t>;
87
    using DecodableArgType = const chip::app::DataModel::Nullable<uint32_t> &;
88
89
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
90
0
    static constexpr AttributeId GetAttributeId() { return Attributes::ChargingEnabledUntil::Id; }
91
0
    static constexpr bool MustUseTimedWrite() { return false; }
92
};
93
} // namespace ChargingEnabledUntil
94
namespace DischargingEnabledUntil {
95
struct TypeInfo
96
{
97
    using Type             = chip::app::DataModel::Nullable<uint32_t>;
98
    using DecodableType    = chip::app::DataModel::Nullable<uint32_t>;
99
    using DecodableArgType = const chip::app::DataModel::Nullable<uint32_t> &;
100
101
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
102
0
    static constexpr AttributeId GetAttributeId() { return Attributes::DischargingEnabledUntil::Id; }
103
0
    static constexpr bool MustUseTimedWrite() { return false; }
104
};
105
} // namespace DischargingEnabledUntil
106
namespace CircuitCapacity {
107
struct TypeInfo
108
{
109
    using Type             = int64_t;
110
    using DecodableType    = int64_t;
111
    using DecodableArgType = int64_t;
112
113
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
114
0
    static constexpr AttributeId GetAttributeId() { return Attributes::CircuitCapacity::Id; }
115
0
    static constexpr bool MustUseTimedWrite() { return false; }
116
};
117
} // namespace CircuitCapacity
118
namespace MinimumChargeCurrent {
119
struct TypeInfo
120
{
121
    using Type             = int64_t;
122
    using DecodableType    = int64_t;
123
    using DecodableArgType = int64_t;
124
125
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
126
0
    static constexpr AttributeId GetAttributeId() { return Attributes::MinimumChargeCurrent::Id; }
127
0
    static constexpr bool MustUseTimedWrite() { return false; }
128
};
129
} // namespace MinimumChargeCurrent
130
namespace MaximumChargeCurrent {
131
struct TypeInfo
132
{
133
    using Type             = int64_t;
134
    using DecodableType    = int64_t;
135
    using DecodableArgType = int64_t;
136
137
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
138
0
    static constexpr AttributeId GetAttributeId() { return Attributes::MaximumChargeCurrent::Id; }
139
0
    static constexpr bool MustUseTimedWrite() { return false; }
140
};
141
} // namespace MaximumChargeCurrent
142
namespace MaximumDischargeCurrent {
143
struct TypeInfo
144
{
145
    using Type             = int64_t;
146
    using DecodableType    = int64_t;
147
    using DecodableArgType = int64_t;
148
149
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
150
0
    static constexpr AttributeId GetAttributeId() { return Attributes::MaximumDischargeCurrent::Id; }
151
0
    static constexpr bool MustUseTimedWrite() { return false; }
152
};
153
} // namespace MaximumDischargeCurrent
154
namespace UserMaximumChargeCurrent {
155
struct TypeInfo
156
{
157
    using Type             = int64_t;
158
    using DecodableType    = int64_t;
159
    using DecodableArgType = int64_t;
160
161
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
162
0
    static constexpr AttributeId GetAttributeId() { return Attributes::UserMaximumChargeCurrent::Id; }
163
0
    static constexpr bool MustUseTimedWrite() { return false; }
164
};
165
} // namespace UserMaximumChargeCurrent
166
namespace RandomizationDelayWindow {
167
struct TypeInfo
168
{
169
    using Type             = uint32_t;
170
    using DecodableType    = uint32_t;
171
    using DecodableArgType = uint32_t;
172
173
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
174
0
    static constexpr AttributeId GetAttributeId() { return Attributes::RandomizationDelayWindow::Id; }
175
0
    static constexpr bool MustUseTimedWrite() { return false; }
176
};
177
} // namespace RandomizationDelayWindow
178
namespace NextChargeStartTime {
179
struct TypeInfo
180
{
181
    using Type             = chip::app::DataModel::Nullable<uint32_t>;
182
    using DecodableType    = chip::app::DataModel::Nullable<uint32_t>;
183
    using DecodableArgType = const chip::app::DataModel::Nullable<uint32_t> &;
184
185
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
186
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NextChargeStartTime::Id; }
187
0
    static constexpr bool MustUseTimedWrite() { return false; }
188
};
189
} // namespace NextChargeStartTime
190
namespace NextChargeTargetTime {
191
struct TypeInfo
192
{
193
    using Type             = chip::app::DataModel::Nullable<uint32_t>;
194
    using DecodableType    = chip::app::DataModel::Nullable<uint32_t>;
195
    using DecodableArgType = const chip::app::DataModel::Nullable<uint32_t> &;
196
197
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
198
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NextChargeTargetTime::Id; }
199
0
    static constexpr bool MustUseTimedWrite() { return false; }
200
};
201
} // namespace NextChargeTargetTime
202
namespace NextChargeRequiredEnergy {
203
struct TypeInfo
204
{
205
    using Type             = chip::app::DataModel::Nullable<int64_t>;
206
    using DecodableType    = chip::app::DataModel::Nullable<int64_t>;
207
    using DecodableArgType = const chip::app::DataModel::Nullable<int64_t> &;
208
209
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
210
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NextChargeRequiredEnergy::Id; }
211
0
    static constexpr bool MustUseTimedWrite() { return false; }
212
};
213
} // namespace NextChargeRequiredEnergy
214
namespace NextChargeTargetSoC {
215
struct TypeInfo
216
{
217
    using Type             = chip::app::DataModel::Nullable<chip::Percent>;
218
    using DecodableType    = chip::app::DataModel::Nullable<chip::Percent>;
219
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::Percent> &;
220
221
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
222
0
    static constexpr AttributeId GetAttributeId() { return Attributes::NextChargeTargetSoC::Id; }
223
0
    static constexpr bool MustUseTimedWrite() { return false; }
224
};
225
} // namespace NextChargeTargetSoC
226
namespace ApproximateEVEfficiency {
227
struct TypeInfo
228
{
229
    using Type             = chip::app::DataModel::Nullable<uint16_t>;
230
    using DecodableType    = chip::app::DataModel::Nullable<uint16_t>;
231
    using DecodableArgType = const chip::app::DataModel::Nullable<uint16_t> &;
232
233
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
234
0
    static constexpr AttributeId GetAttributeId() { return Attributes::ApproximateEVEfficiency::Id; }
235
0
    static constexpr bool MustUseTimedWrite() { return false; }
236
};
237
} // namespace ApproximateEVEfficiency
238
namespace StateOfCharge {
239
struct TypeInfo
240
{
241
    using Type             = chip::app::DataModel::Nullable<chip::Percent>;
242
    using DecodableType    = chip::app::DataModel::Nullable<chip::Percent>;
243
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::Percent> &;
244
245
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
246
0
    static constexpr AttributeId GetAttributeId() { return Attributes::StateOfCharge::Id; }
247
0
    static constexpr bool MustUseTimedWrite() { return false; }
248
};
249
} // namespace StateOfCharge
250
namespace BatteryCapacity {
251
struct TypeInfo
252
{
253
    using Type             = chip::app::DataModel::Nullable<int64_t>;
254
    using DecodableType    = chip::app::DataModel::Nullable<int64_t>;
255
    using DecodableArgType = const chip::app::DataModel::Nullable<int64_t> &;
256
257
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
258
0
    static constexpr AttributeId GetAttributeId() { return Attributes::BatteryCapacity::Id; }
259
0
    static constexpr bool MustUseTimedWrite() { return false; }
260
};
261
} // namespace BatteryCapacity
262
namespace VehicleID {
263
struct TypeInfo
264
{
265
    using Type             = chip::app::DataModel::Nullable<chip::CharSpan>;
266
    using DecodableType    = chip::app::DataModel::Nullable<chip::CharSpan>;
267
    using DecodableArgType = const chip::app::DataModel::Nullable<chip::CharSpan> &;
268
269
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
270
0
    static constexpr AttributeId GetAttributeId() { return Attributes::VehicleID::Id; }
271
0
    static constexpr bool MustUseTimedWrite() { return false; }
272
0
    static constexpr size_t MaxLength() { return 32; }
273
};
274
} // namespace VehicleID
275
namespace SessionID {
276
struct TypeInfo
277
{
278
    using Type             = chip::app::DataModel::Nullable<uint32_t>;
279
    using DecodableType    = chip::app::DataModel::Nullable<uint32_t>;
280
    using DecodableArgType = const chip::app::DataModel::Nullable<uint32_t> &;
281
282
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
283
0
    static constexpr AttributeId GetAttributeId() { return Attributes::SessionID::Id; }
284
0
    static constexpr bool MustUseTimedWrite() { return false; }
285
};
286
} // namespace SessionID
287
namespace SessionDuration {
288
struct TypeInfo
289
{
290
    using Type             = chip::app::DataModel::Nullable<uint32_t>;
291
    using DecodableType    = chip::app::DataModel::Nullable<uint32_t>;
292
    using DecodableArgType = const chip::app::DataModel::Nullable<uint32_t> &;
293
294
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
295
0
    static constexpr AttributeId GetAttributeId() { return Attributes::SessionDuration::Id; }
296
0
    static constexpr bool MustUseTimedWrite() { return false; }
297
};
298
} // namespace SessionDuration
299
namespace SessionEnergyCharged {
300
struct TypeInfo
301
{
302
    using Type             = chip::app::DataModel::Nullable<int64_t>;
303
    using DecodableType    = chip::app::DataModel::Nullable<int64_t>;
304
    using DecodableArgType = const chip::app::DataModel::Nullable<int64_t> &;
305
306
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
307
0
    static constexpr AttributeId GetAttributeId() { return Attributes::SessionEnergyCharged::Id; }
308
0
    static constexpr bool MustUseTimedWrite() { return false; }
309
};
310
} // namespace SessionEnergyCharged
311
namespace SessionEnergyDischarged {
312
struct TypeInfo
313
{
314
    using Type             = chip::app::DataModel::Nullable<int64_t>;
315
    using DecodableType    = chip::app::DataModel::Nullable<int64_t>;
316
    using DecodableArgType = const chip::app::DataModel::Nullable<int64_t> &;
317
318
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
319
0
    static constexpr AttributeId GetAttributeId() { return Attributes::SessionEnergyDischarged::Id; }
320
0
    static constexpr bool MustUseTimedWrite() { return false; }
321
};
322
} // namespace SessionEnergyDischarged
323
namespace GeneratedCommandList {
324
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
325
{
326
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
327
};
328
} // namespace GeneratedCommandList
329
namespace AcceptedCommandList {
330
struct TypeInfo : public Clusters::Globals::Attributes::AcceptedCommandList::TypeInfo
331
{
332
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
333
};
334
} // namespace AcceptedCommandList
335
namespace AttributeList {
336
struct TypeInfo : public Clusters::Globals::Attributes::AttributeList::TypeInfo
337
{
338
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
339
};
340
} // namespace AttributeList
341
namespace FeatureMap {
342
struct TypeInfo : public Clusters::Globals::Attributes::FeatureMap::TypeInfo
343
{
344
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
345
};
346
} // namespace FeatureMap
347
namespace ClusterRevision {
348
struct TypeInfo : public Clusters::Globals::Attributes::ClusterRevision::TypeInfo
349
{
350
0
    static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
351
};
352
} // namespace ClusterRevision
353
354
struct TypeInfo
355
{
356
    struct DecodableType
357
    {
358
0
        static constexpr ClusterId GetClusterId() { return Clusters::EnergyEvse::Id; }
359
360
        CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path);
361
362
        Attributes::State::TypeInfo::DecodableType state;
363
        Attributes::SupplyState::TypeInfo::DecodableType supplyState =
364
            static_cast<chip::app::Clusters::EnergyEvse::SupplyStateEnum>(0);
365
        Attributes::FaultState::TypeInfo::DecodableType faultState =
366
            static_cast<chip::app::Clusters::EnergyEvse::FaultStateEnum>(0);
367
        Attributes::ChargingEnabledUntil::TypeInfo::DecodableType chargingEnabledUntil;
368
        Attributes::DischargingEnabledUntil::TypeInfo::DecodableType dischargingEnabledUntil;
369
        Attributes::CircuitCapacity::TypeInfo::DecodableType circuitCapacity                   = static_cast<int64_t>(0);
370
        Attributes::MinimumChargeCurrent::TypeInfo::DecodableType minimumChargeCurrent         = static_cast<int64_t>(0);
371
        Attributes::MaximumChargeCurrent::TypeInfo::DecodableType maximumChargeCurrent         = static_cast<int64_t>(0);
372
        Attributes::MaximumDischargeCurrent::TypeInfo::DecodableType maximumDischargeCurrent   = static_cast<int64_t>(0);
373
        Attributes::UserMaximumChargeCurrent::TypeInfo::DecodableType userMaximumChargeCurrent = static_cast<int64_t>(0);
374
        Attributes::RandomizationDelayWindow::TypeInfo::DecodableType randomizationDelayWindow = static_cast<uint32_t>(0);
375
        Attributes::NextChargeStartTime::TypeInfo::DecodableType nextChargeStartTime;
376
        Attributes::NextChargeTargetTime::TypeInfo::DecodableType nextChargeTargetTime;
377
        Attributes::NextChargeRequiredEnergy::TypeInfo::DecodableType nextChargeRequiredEnergy;
378
        Attributes::NextChargeTargetSoC::TypeInfo::DecodableType nextChargeTargetSoC;
379
        Attributes::ApproximateEVEfficiency::TypeInfo::DecodableType approximateEVEfficiency;
380
        Attributes::StateOfCharge::TypeInfo::DecodableType stateOfCharge;
381
        Attributes::BatteryCapacity::TypeInfo::DecodableType batteryCapacity;
382
        Attributes::VehicleID::TypeInfo::DecodableType vehicleID;
383
        Attributes::SessionID::TypeInfo::DecodableType sessionID;
384
        Attributes::SessionDuration::TypeInfo::DecodableType sessionDuration;
385
        Attributes::SessionEnergyCharged::TypeInfo::DecodableType sessionEnergyCharged;
386
        Attributes::SessionEnergyDischarged::TypeInfo::DecodableType sessionEnergyDischarged;
387
        Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
388
        Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
389
        Attributes::AttributeList::TypeInfo::DecodableType attributeList;
390
        Attributes::FeatureMap::TypeInfo::DecodableType featureMap           = static_cast<uint32_t>(0);
391
        Attributes::ClusterRevision::TypeInfo::DecodableType clusterRevision = static_cast<uint16_t>(0);
392
    };
393
};
394
} // namespace Attributes
395
} // namespace EnergyEvse
396
} // namespace Clusters
397
} // namespace app
398
} // namespace chip