rscp/
tags.rs

1use std::fmt::{Display, Formatter, Result};
2
3/// This macro is used in the tag group list enum to extend it with the tags function and from u8.
4macro_rules! group_list {
5    (
6        $(#[$($attrs:tt)*])*
7        pub enum $name:ident { $($vn:ident = $v:tt),+ }
8    ) => {
9        $(#[$($attrs)*])*
10        pub enum $name {
11            $($vn = $v),+
12        }
13
14        /// Returns the name of the selected enum by id
15        ///
16        /// # Arguments
17        ///
18        /// * `id` - the id of the tag
19        ///
20        /// # Examples
21        ///
22        /// ```
23        /// use rscp::tags::TagGroup;
24        /// let rscp_group = TagGroup::from(0x00);
25        /// println!("{}", rscp_group.tags(0x00000004)); // USER_LEVEL
26        /// ```
27        impl $name {
28            pub fn tags(&self, id: u32) -> String {
29                match self {
30                    $($name::$vn => $vn::from(id).to_string()),*
31                }
32            }
33        }
34
35        impl From<u8> for $name {
36            fn from(orig: u8) -> Self {
37                match orig {
38                    $(x if x == $name::$vn as u8 => $name::$vn,)*
39                    _ => $name::UNKNOWN
40                }
41            }
42        }
43    }
44}
45
46/// This macro is used to extend the tag group enum with to_string, from u32 and also adds the group
47/// identifier to each enum value. Example, see enum `UNKNOWN`
48macro_rules! group {
49    (
50        ($grp:expr),
51        then $cb:tt,
52        $(#[$($attrs:tt)*])*
53        pub enum $name:ident { $($vn:ident = $v:tt),+ }
54    ) => {
55        macro_attr_callback! {
56            $cb,
57            $(#[$($attrs)*])*
58            #[derive(PartialEq, Debug)]
59            pub enum $name {
60                $($vn = ($grp as u32) << 24 | $v),+
61            }
62
63            impl Display for $name {
64                fn fmt(&self, f: &mut Formatter) -> Result {
65                    match self {
66                        $($name::$vn => write!(f, concat!(stringify!($name), "_", stringify!($vn)))),*
67                    }
68                }
69            }
70
71            impl From<u32> for $name {
72                fn from(orig: u32) -> Self {
73                    match orig {
74                        $(x if x == $name::$vn as u32 => $name::$vn,)*
75                        _ => $name::GENERAL_ERROR
76                    }
77                }
78            }
79
80            impl Into<u32> for $name {
81                fn into(self) -> u32 {
82                    self as u32
83                }
84            }
85        }
86    };
87}
88
89group_list! {
90    /// List of all tag groups
91    #[allow(non_camel_case_types, dead_code)]
92    #[derive(PartialEq, Debug)]
93    #[repr(u32)]
94    pub enum TagGroup {
95        RSCP = 0x00,
96        EMS = 0x01,
97        PVI = 0x02,
98        BAT = 0x03,
99        DCDC = 0x04,
100        PM = 0x05,
101        DB = 0x06,
102        SRV = 0x08,
103        HA = 0x09,
104        INFO = 0x0a,
105        EP = 0x0b,
106        SYS = 0x0c,
107        UM = 0x0d,
108        WB = 0x0e,
109        PTDB = 0x0f,
110        LED = 0x10,
111        DIAG = 0x11,
112        SGR = 0x12,
113        MBS = 0x13,
114        EH = 0x14,
115        UPNPC = 0x15,
116        KNX = 0x16,
117        EMSHB = 0x17,
118        MYPV = 0x18,
119        GPIO = 0x19,
120        FARM = 0x1a,
121        SE = 0x1b,
122        QPI = 0x1c,
123        GAPP = 0x1d,
124        EMSPR = 0x1e,
125        IOBOX = 0x1f,
126        WBD = 0x20,
127        REFU = 0x21,
128        OVP = 0x22,
129        NETWORK = 0x23,
130        WBAUTH = 0x24,
131        PLAY = 0x25,
132        GDI = 0x26,
133        SCM = 0x27,
134        EEBUS = 0x28,
135        SDSA = 0x29,
136        ETH = 0x2a,
137        LCT = 0x2b,
138        HG_OCPP_WB_CFG_LC = 0x2c,
139        OCPP_WB_LC = 0x2d,
140        WB_BADGE_MGT_LC = 0x2e,
141        LC_USR_MGT_LC = 0x2f,
142        DASHBOARD_LC = 0x30,
143        UMRC = 0xf0,
144        LOG = 0xf4,
145        DCL = 0xf5,
146        CL = 0xf6,
147        DBRC = 0xf7,
148        SERVER = 0xf8,
149        SYS_CMD = 0xf9,
150        DB_SERVICE = 0xfa,
151        DB_RECOVERY = 0xfb,
152        GROUP_CTRL = 0xfc,
153        ADMIN = 0xfd,
154        FINAL_CHECK = 0xfe,
155        UNKNOWN = 0xff
156    }
157}
158
159macro_attr! {
160    /// Group of unknown results
161    #[group!(TagGroup::UNKNOWN)]
162    #[allow(non_camel_case_types, dead_code)]
163    #[repr(u32)]
164    pub enum UNKNOWN {
165        GENERAL_ERROR = 0x7fffff
166    }
167}
168
169macro_attr! {
170    #[group!(TagGroup::RSCP)]
171    #[allow(non_camel_case_types, dead_code)]
172    #[repr(u32)]
173    pub enum RSCP {
174        // LIST_NON_PAIRED_DEVICE_TYPE_EVCS = 0x000000, // assume this is a bug -> EEBUS::LIST_NON_PAIRED_DEVICE_TYPE_EVCS
175        AUTHENTICATION = 0x000001,
176        AUTHENTICATION_USER = 0x000002,
177        AUTHENTICATION_PASSWORD = 0x000003,
178        USER_LEVEL = 0x000004,
179        SET_ENCRYPTION_PASSPHRASE = 0x000005,
180        AUTH_CHALLENGE = 0x000006,
181        AUTH_CHALLENGE_INDEX = 0x000007,
182        AUTH_CHALLENGE_DATA = 0x000008,
183        SET_PROTOCOL_VERSION = 0x000009,
184        SUPPORTED_PROTOCOL_VERSIONS = 0x00000a,
185        TRIGGER_FRAME_DUMP = 0x00000d,
186        TAG_AVAHIB_RESPONSE_PLAY = 0x00000e,
187        AUTHENTICATION_TYPE = 0x000815,
188        // EMOBILITY_GET_OVERLOAD_CHARGING_CURRENT_LIMIT_PER_PHASE = 0x010021, assume this is a bug -> EEBUS::EMOBILITY_WB_EV_GET_OVERLOAD_CHARGING_CURRENT_LIMIT
189        CONFIG_PROCESSED_STATE = 0x400001,
190        GENERAL_ERROR = 0x7fffff
191    }
192}
193
194macro_attr! {
195    #[group!(TagGroup::EMS)]
196    #[allow(non_camel_case_types, dead_code)]
197    #[repr(u32)]
198    pub enum EMS {
199        POWER_PV = 0x000001,
200        POWER_BAT = 0x000002,
201        POWER_HOME = 0x000003,
202        POWER_GRID = 0x000004,
203        POWER_ADD = 0x000005,
204        AUTARKY = 0x000006,
205        SELF_CONSUMPTION = 0x000007,
206        BAT_SOC = 0x000008,
207        COUPLING_MODE = 0x000009,
208        STORED_ERRORS = 0x00000a,
209        ERROR_CONTAINER = 0x00000b,
210        ERROR_TYPE = 0x00000c,
211        ERROR_SOURCE = 0x00000d,
212        ERROR_MESSAGE = 0x00000e,
213        ERROR_CODE = 0x00000f,
214        ERROR_TIMESTAMP = 0x000010,
215        MODE = 0x000011,
216        BALANCED_PHASES = 0x000012,
217        INSTALLED_PEAK_POWER = 0x000013,
218        DERATE_AT_PERCENT_VALUE = 0x000014,
219        DERATE_AT_POWER_VALUE = 0x000015,
220        ERROR_BUZZER_ENABLED = 0x000016,
221        SET_BALANCED_PHASES = 0x000017,
222        SET_INSTALLED_PEAK_POWER = 0x000018,
223        SET_DERATE_PERCENT = 0x000019,
224        SET_ERROR_BUZZER_ENABLED = 0x00001a,
225        START_ADJUST_BATTERY_VOLTAGE = 0x00001b,
226        CANCEL_ADJUST_BATTERY_VOLTAGE = 0x00001c,
227        ADJUST_BATTERY_VOLTAGE_STATUS = 0x00001d,
228        CONFIRM_ERRORS = 0x00001e,
229        POWER_WB_ALL = 0x00001f,
230        POWER_WB_SOLAR = 0x000020,
231        EXT_SRC_AVAILABLE = 0x000021,
232        RESCUE_BAT_MODE = 0x000022,
233        SET_RESCUE_BAT_MODE = 0x000023,
234        IS_PV_DERATING = 0x000024,
235        AC_POWER_LIMIT = 0x000025,
236        POWER_ADD_SINKS = 0x000026,
237        SET_EP_WALLBOX_ALLOW = 0x000027,
238        GET_EP_WALLBOX_ALLOW = 0x000028,
239        SET_MAX_EP_WALLBOX_POWER_W = 0x000029,
240        GET_MAX_EP_WALLBOX_POWER_W = 0x00002a,
241        GET_MIN_EP_WALLBOX_POWER_W = 0x00002b,
242        SET_MIN_EP_WALLBOX_POWER_W = 0x00002c,
243        SET_EP_WALLBOX_ENERGY = 0x00002d,
244        GET_EP_WALLBOX_ENERGY = 0x00002e,
245        SET_IDLE_PERIODS_2 = 0x00002f,
246        SET_POWER = 0x000030,
247        SET_POWER_MODE = 0x000031,
248        SET_POWER_VALUE = 0x000032,
249        GET_IDLE_PERIODS_2 = 0x000033,
250        SET_IDLE_PERIODS_ENABLE = 0x000034,
251        GET_IDLE_PERIODS_ENABLE = 0x000035,
252        SET_EP_WALLBOX_PRIORITY = 0x000036,
253        GET_EP_WALLBOX_PRIORITY = 0x000037,
254        STATUS = 0x000040,
255        USED_CHARGE_LIMIT = 0x000041,
256        BAT_CHARGE_LIMIT = 0x000042,
257        DCDC_CHARGE_LIMIT = 0x000043,
258        USER_CHARGE_LIMIT = 0x000044,
259        USED_DISCHARGE_LIMIT = 0x000045,
260        BAT_DISCHARGE_LIMIT = 0x000046,
261        DCDC_DISCHARGE_LIMIT = 0x000047,
262        USER_DISCHARGE_LIMIT = 0x000048,
263        SET_POWER_CONTROL_OFFSET = 0x000060,
264        REMAINING_BAT_CHARGE_POWER = 0x000071,
265        REMAINING_BAT_DISCHARGE_POWER = 0x000072,
266        EMERGENCY_POWER_STATUS = 0x000073,
267        SET_EMERGENCY_POWER = 0x000074,
268        SET_OVERRIDE_AVAILABLE_POWER = 0x000075,
269        SET_BATTERY_TO_CAR_MODE = 0x000076,
270        BATTERY_TO_CAR_MODE = 0x000077,
271        SET_BATTERY_BEFORE_CAR_MODE = 0x000078,
272        BATTERY_BEFORE_CAR_MODE = 0x000079,
273        GET_IDLE_PERIODS = 0x000080,
274        SET_IDLE_PERIODS = 0x000081,
275        IDLE_PERIOD = 0x000082,
276        IDLE_PERIOD_TYPE = 0x000083,
277        IDLE_PERIOD_DAY = 0x000084,
278        IDLE_PERIOD_START = 0x000085,
279        IDLE_PERIOD_END = 0x000086,
280        IDLE_PERIOD_HOUR = 0x000087,
281        IDLE_PERIOD_MINUTE = 0x000088,
282        IDLE_PERIOD_ACTIVE = 0x000089,
283        IDLE_PERIOD_CHANGE_MARKER = 0x00008a,
284        GET_POWER_SETTINGS = 0x00008b,
285        SET_POWER_SETTINGS = 0x00008c,
286        SETTINGS_CHANGE_MARKER = 0x00008d,
287        GET_MANUAL_CHARGE = 0x00008e,
288        START_MANUAL_CHARGE = 0x00008f,
289        START_EMERGENCYPOWER_TEST = 0x000090,
290        GET_GENERATOR_STATE = 0x000091,
291        SET_GENERATOR_MODE = 0x000092,
292        EMERGENCYPOWER_TEST_STATUS = 0x000093,
293        EPTEST_NEXT_TESTSTART = 0x000094,
294        EPTEST_START_COUNTER = 0x000095,
295        EPTEST_RUNNING = 0x000096,
296        REQ_GET_SYS_SPECS = 0x000097,
297        GET_SYS_SPECS = 0x000098,
298        SYS_SPEC = 0x000099,
299        SYS_SPEC_INDEX = 0x00009a,
300        SYS_SPEC_NAME = 0x00009b,
301        SYS_SPEC_VALUE_INT = 0x00009c,
302        SYS_SPEC_VALUE_STRING = 0x00009d,
303        SYS_STATUS = 0x00009e,
304        POWER_LIMITS_USED = 0x000100,
305        MAX_CHARGE_POWER = 0x000101,
306        MAX_DISCHARGE_POWER = 0x000102,
307        DISCHARGE_START_POWER = 0x000103,
308        POWERSAVE_ENABLED = 0x000104,
309        WEATHER_REGULATED_CHARGE_ENABLED = 0x000105,
310        WEATHER_FORECAST_MODE = 0x000106,
311        POWERSAVE_TIMEOUT = 0x000107,
312        MANUAL_CHARGE_START_COUNTER = 0x000150,
313        MANUAL_CHARGE_ACTIVE = 0x000151,
314        MANUAL_CHARGE_ENERGY_COUNTER = 0x000152,
315        MANUAL_CHARGE_LASTSTART = 0x000153,
316        REMOTE_CONTROL = 0x000200,
317        DEACTIVATE_REMOTE_CONTROL = 0x000201,
318        IP_REMOTE_CONTROL = 0x000202,
319        EP_DELAY = 0x000203,
320        SET_EP_DELAY = 0x000204,
321        REMOTE_CONTROL_STATUS = 0x000205,
322        IDLE_PERIOD_MIN_SOC_UCB = 0x000206,
323        IDLE_PERIOD_MAX_SOC_UCB = 0x000207,
324        SET_IDLE_PERIOD_MIN_SOC_UCB = 0x000208,
325        SET_IDLE_PERIOD_MAX_SOC_UCB = 0x000209,
326        REGULATOR_MODE = 0x000210,
327        SET_REGULATOR_MODE = 0x000211,
328        SUPPORTED_REGULATOR_MODES = 0x000212,
329        EMERGENCY_POWER_OVERLOAD_STATUS = 0x000213,
330        EMERGENCY_POWER_RETRY = 0x000214,
331        DETECT_PHASE_OFFSET = 0x000217,
332        PHASE_DETECTION_STATUS = 0x000218,
333        PHASE_OFFSET = 0x000219,
334        ABORT_PHASE_DETECTION = 0x000220,
335        REGULATOR_STRATEGY = 0x000221,
336        SET_REGULATOR_STRATEGY = 0x000222,
337        POWER_PV_AC_OUT = 0x000223,
338        PV_ENERGY = 0x000224,
339        PARAM_AC_ENERGY_OUT = 0x000225,
340        PARAM_AC_ENERGY_IN = 0x000226,
341        PARAM_DC_IN = 0x000227,
342        ENERGY_STORAGE_MODEL = 0x000228,
343        PARAM_CURR_CHARGED_ENERGY = 0x000229,
344        PARAM_FULL_CHARGED_ENERGY_EP_RESERVE = 0x000230,
345        PARAM_DESIGN_ENERGY = 0x000231,
346        PARAM_FULL_CHARGED_ENERGY = 0x000232,
347        PARAM_USED_CAPACITY = 0x000233,
348        SPECIFICATION_VALUES = 0x000234,
349        PARAM_MAX_CHARGE_POWER = 0x000235,
350        PARAM_MAX_DISCHARGE_POWER = 0x000236,
351        PARAM_MAX_PV_POWER = 0x000237,
352        PARAM_MAX_AC_POWER = 0x000238,
353        PARAM_INSTALLED_BAT_CAP = 0x000239,
354        PARAM_HYBRIT_SUPPORTED = 0x000240,
355        PARAM_INIT_STATUS = 0x000241,
356        EP_RESERVE = 0x000242,
357        SEC_LIMITS = 0x000243,
358        PARAM_SEL_TOTAL_MAX = 0x000244,
359        PARAM_SEL_TOTAL_MIN = 0x000245,
360        PARAM_SEL_PHASE_MAX_L1 = 0x000246,
361        PARAM_SEL_PHASE_MAX_L2 = 0x000247,
362        PARAM_SEL_PHASE_MAX_L3 = 0x000248,
363        PARAM_SEL_PHASE_MIN_L1 = 0x000249,
364        PARAM_SEL_PHASE_MIN_L2 = 0x000250,
365        PARAM_SEL_PHASE_MIN_L3 = 0x000251,
366        SEC_DEVICE_STATUS = 0x000252,
367        PARAM_PVI_1 = 0x000253,
368        PARAM_PVI_2 = 0x000254,
369        PARAM_PVI_3 = 0x000255,
370        PARAM_DCDC = 0x000256,
371        PARAM_BAT = 0x000257,
372        BAT_CURRENT_IN = 0x000258,
373        BAT_CURRENT_OUT = 0x000259,
374        MAX_DC_POWER = 0x000260,
375        AC_REACTIVE_POWER = 0x000261,
376        SET_EP_PARTIAL_GRID = 0x000262,
377        GET_PARTIAL_GRID = 0x000263,
378        ESTIMATED_POWER_LIMITS = 0x000264,
379        DESIGN_POWER_LIMITS = 0x000265,
380        SET_CAN_ID_FEED_IN_REDUCTION = 0x000266,
381        CAN_ID_FEED_IN_REDUCTION = 0x000267,
382        SET_CAN_ID_UNBALANCED_LOAD = 0x000268,
383        CAN_ID_UNBALANCED_LOAD = 0x000269,
384        SET_WALLBOX_MODE = 0x000270,
385        GET_WALLBOX_MODE = 0x000271,
386        SET_MAX_FUSE_POWER = 0x000272,
387        GET_MAX_FUSE_POWER = 0x000273,
388        SET_CONNECTED_POWER = 0x000274,
389        GET_CONNECTED_POWER = 0x000275,
390        DERATE_AT_CONNECTED_POWER = 0x000276,
391        SET_DERATE_AT_CONNECTED_POWER = 0x000277,
392        SET_WALLBOX_ENFORCE_POWER_ASSIGNMENT = 0x00027a,
393        GET_WALLBOX_ENFORCE_POWER_ASSIGNMENT = 0x00027b,
394        SET_WB_DISCHARGE_BAT_UNTIL = 0x00027c,
395        GET_WB_DISCHARGE_BAT_UNTIL = 0x00027d,
396        WB_AVAILABLE = 0x000280,
397        WB_PREFERRED_CHARGE_POWER = 0x000281,
398        SET_PEAK_SHAVING_POWER = 0x000282,
399        GET_PEAK_SHAVING_POWER = 0x000283,
400        GET_RUNSCREENVALUES = 0x000284,
401        SET_PEAK_SHAVING_TIMES = 0x000286,
402        GET_PEAK_SHAVING_TIMES = 0x000287,
403        SET_LIST_ACTOR = 0x000288,
404        GET_LIST_ACTOR = 0x000289,
405        ACTOR_ITEM = 0x000290,
406        ACTOR_ID = 0x000291,
407        ACTOR_NAME = 0x000292,
408        ACTOR_PRIORITY = 0x000293,
409        PERIOD_ITEM = 0x000300,
410        PERIOD_ACTIVE = 0x000301,
411        PERIOD_NAME = 0x000302,
412        PERIOD_WEEKDAYS = 0x000303,
413        PERIOD_START = 0x000304,
414        PERIOD_STOP = 0x000305,
415        PERIOD_POWER = 0x000306,
416        WB_BIC_LOAD_PRICE_POWER_TABLE = 0x000307,
417        WB_BIC_PRICE_POWER_TABLE_STATUS = 0x000308,
418        PARAM_DERATE_POWER_VALUE = 0x040001,
419        PARAM_AVAILABLE_POWER = 0x040002,
420        PARAM_IP_REMOTE_CONTROL = 0x040004,
421        PARAM_POWEROFFSET_VALUE = 0x040005,
422        PARAM_POWER_VALUE_L1 = 0x040006,
423        PARAM_POWER_VALUE_L2 = 0x040007,
424        PARAM_POWER_VALUE_L3 = 0x040008,
425        PARAM_SET_POINT = 0x040009,
426        PARAM_DERATE_POWER_VALUE_L1 = 0x040010,
427        PARAM_DERATE_POWER_VALUE_L2 = 0x040011,
428        PARAM_DERATE_POWER_VALUE_L3 = 0x040012,
429        PARAM_REMOTE_CONTROL_ACTIVE = 0x040013,
430        PARAM_TIME_TO_RETRY = 0x040014,
431        PARAM_NO_REMAINING_RETRY = 0x040015,
432        PARAM_INDEX = 0x040016,
433        PARAM_WALLBOX_SETPOINT_L1 = 0x040017,
434        PARAM_WALLBOX_SETPOINT_L2 = 0x040018,
435        PARAM_WALLBOX_SETPOINT_L3 = 0x040019,
436        PARAM_REGULATOR_MODE = 0x040113,
437        PARAM_REGULATOR_STRATEGY = 0x040114,
438        PARAM_DEACTIVATE_SURPLUS_ACTOR = 0x040115,
439        PARAM_POWER_GRID_OFFSET_L1 = 0x040294,
440        PARAM_POWER_GRID_OFFSET_L2 = 0x040295,
441        PARAM_POWER_GRID_OFFSET_L3 = 0x040296,
442        PARAM_POWER_GRID_OVERRIDE_L1 = 0x040297,
443        PARAM_POWER_GRID_OVERRIDE_L2 = 0x040298,
444        PARAM_POWER_GRID_OVERRIDE_L3 = 0x040299,
445        ALIVE = 0x050000,
446        PARAM_LIMITS_TOTAL_MAX = 0x400265,
447        PARAM_LIMITS_TOTAL_MIN = 0x400266,
448        PARAM_LIMITS_PHASE_MAX_L1 = 0x400267,
449        PARAM_LIMITS_PHASE_MAX_L2 = 0x400268,
450        PARAM_LIMITS_PHASE_MAX_L3 = 0x400269,
451        PARAM_LIMITS_PHASE_MIN_L1 = 0x400270,
452        PARAM_LIMITS_PHASE_MIN_L2 = 0x400271,
453        PARAM_LIMITS_PHASE_MIN_L3 = 0x400272,
454        PARAM_CURR_CHARGED_ENERGY_EP_RESERVE = 0x400278,
455        SET_TOTAL_EP_RESERVE_W = 0x400279,
456        IDLE_PERIOD_2 = 0x40027a,
457        GENERAL_ERROR = 0x7fffff
458    }
459}
460
461macro_attr! {
462    #[group!(TagGroup::PVI)]
463    #[allow(non_camel_case_types, dead_code)]
464    #[repr(u32)]
465    pub enum PVI {
466        ON_GRID = 0x000001,
467        STATE = 0x000002,
468        LAST_ERROR = 0x000003,
469        IS_FLASHING = 0x000004,
470        START_FLASHING = 0x000005,
471        FLASH_FILE_LIST = 0x000006,
472        FLASH_FILE = 0x000007,
473        SERVICE_PROGRESS_STATE = 0x000008,
474        TYPE = 0x000009,
475        GET_GAPP_LAST_CHANGE_TIME = 0x00000a,
476        GET_GAPP_SYNC_TIME = 0x00000b,
477        SET_GAPP_SYNC_TIME = 0x00000c,
478        LAND_CODE = 0x000010,
479        LAND_CODE_LIST = 0x000011,
480        SET_LAND_CODE = 0x000012,
481        ERROR_STRING = 0x000013,
482        ERROR_LIST = 0x000014,
483        STATUS_STRING = 0x000015,
484        STATUS_LIST = 0x000016,
485        SET_DEVICE_SILENCE = 0x000017,
486        DEVICE_SILENCE = 0x000018,
487        SELF_TEST = 0x000019,
488        SET_FREE_INVERTER = 0x000020,
489        SET_BLOCK_INVERTER = 0x000021,
490        UZK_VOLTAGE = 0x000050,
491        COS_PHI = 0x000060,
492        SET_COS_PHI = 0x000061,
493        COS_PHI_VALUE = 0x000062,
494        COS_PHI_IS_AKTIV = 0x000063,
495        COS_PHI_EXCITED = 0x000064,
496        VOLTAGE_MONITORING = 0x000070,
497        SET_VOLTAGE_MONITORING = 0x000071,
498        VOLTAGE_MONITORING_THRESHOLD_TOP = 0x000072,
499        VOLTAGE_MONITORING_THRESHOLD_BOTTOM = 0x000073,
500        VOLTAGE_MONITORING_SLOPE_UP = 0x000074,
501        VOLTAGE_MONITORING_SLOPE_DOWN = 0x000075,
502        FREQUENCY_UNDER_OVER = 0x000080,
503        SET_FREQUENCY_UNDER_OVER = 0x000081,
504        FREQUENCY_UNDER = 0x000082,
505        FREQUENCY_OVER = 0x000083,
506        SET_SYSTEM_MODE = 0x000084,
507        SYSTEM_MODE = 0x000085,
508        SET_POWER_MODE = 0x000086,
509        POWER_MODE = 0x000087,
510        USED_STRING_COUNT = 0x000090,
511        SET_USED_STRING_COUNT = 0x000091,
512        DERATE_TO_POWER = 0x000092,
513        TEMPERATURE = 0x000100,
514        TEMPERATURE_COUNT = 0x000101,
515        MAX_TEMPERATURE = 0x000102,
516        MIN_TEMPERATURE = 0x000103,
517        CT_TAR_USV_BOX = 0x000104,
518        ROTARY_FIELD_DIRECTION = 0x000105,
519        DATA = 0x040000,
520        INDEX = 0x040001,
521        VALUE = 0x040005,
522        DEVICE_STATE = 0x060000,
523        DEVICE_CONNECTED = 0x060001,
524        DEVICE_WORKING = 0x060002,
525        DEVICE_IN_SERVICE = 0x060003,
526        SERIAL_NUMBER = 0x0abc01,
527        VERSION = 0x0abc02,
528        VERSION_MAIN = 0x0abc03,
529        VERSION_PIC = 0x0abc04,
530        VERSION_ALL = 0x0abc05,
531        GAPP_JSON = 0x0abc13,
532        GAPP_JSON_MD5 = 0x0abc14,
533        SET_RESET_GPIO = 0x0abc50,
534        SET_POWEROFF_GPIO = 0x0abc51,
535        SET_NIGHTSWITCH_GPIO = 0x0abc52,
536        SET_PRE_GRID_CHARGE = 0x0abc60,
537        AC_MAX_PHASE_COUNT = 0x0ac000,
538        AC_POWER = 0x0ac001,
539        AC_VOLTAGE = 0x0ac002,
540        AC_CURRENT = 0x0ac003,
541        AC_APPARENTPOWER = 0x0ac004,
542        AC_REACTIVEPOWER = 0x0ac005,
543        AC_ENERGY_ALL = 0x0ac006,
544        AC_MAX_APPARENTPOWER = 0x0ac007,
545        AC_ENERGY_DAY = 0x0ac008,
546        AC_ENERGY_GRID_CONSUMPTION = 0x0ac009,
547        AC_FREQUENCY = 0x0ac00a,
548        INVERTER_COUNT = 0x0cccc9,
549        DC_MAX_STRING_COUNT = 0x0dc000,
550        DC_POWER = 0x0dc001,
551        DC_VOLTAGE = 0x0dc002,
552        DC_CURRENT = 0x0dc003,
553        DC_MAX_POWER = 0x0dc004,
554        DC_MAX_VOLTAGE = 0x0dc005,
555        DC_MIN_VOLTAGE = 0x0dc006,
556        DC_MAX_CURRENT = 0x0dc007,
557        DC_MIN_CURRENT = 0x0dc008,
558        DC_STRING_ENERGY_ALL = 0x0dc009,
559        AC_ENERGY_PRODUCED_L1 = 0x0dc00a,
560        AC_ENERGY_PRODUCED_L2 = 0x0dc00b,
561        AC_ENERGY_PRODUCED_L3 = 0x0dc00c,
562        AC_ENERGY_CONSUMED_L1 = 0x0dc00d,
563        AC_ENERGY_CONSUMED_L2 = 0x0dc00e,
564        AC_ENERGY_CONSUMED_L3 = 0x0dc00f,
565        ENABLE_FAN_TEST = 0x0dc010,
566        DISABLE_FAN_TEST = 0x0dc011,
567        RESET_LAND_NORM = 0x0dc012,
568        IS_FAN_INSTALLED = 0x0dc013,
569        GENERAL_ERROR = 0x7fffff
570    }
571}
572
573macro_attr! {
574    #[group!(TagGroup::BAT)]
575    #[allow(non_camel_case_types, dead_code)]
576    #[repr(u32)]
577    pub enum BAT {
578        RSOC = 0x000001,
579        MODULE_VOLTAGE = 0x000002,
580        CURRENT = 0x000003,
581        MAX_BAT_VOLTAGE = 0x000004,
582        MAX_CHARGE_CURRENT = 0x000005,
583        EOD_VOLTAGE = 0x000006,
584        MAX_DISCHARGE_CURRENT = 0x000007,
585        CHARGE_CYCLES = 0x000008,
586        TERMINAL_VOLTAGE = 0x000009,
587        STATUS_CODE = 0x00000a,
588        ERROR_CODE = 0x00000b,
589        DEVICE_NAME = 0x00000c,
590        DCB_COUNT = 0x00000d,
591        RSOC_REAL = 0x00000e,
592        ASOC = 0x00000f,
593        FCC = 0x000010,
594        RC = 0x000011,
595        MAX_DCB_CELL_CURRENT = 0x000012,
596        MIN_DCB_CELL_CURRENT = 0x000013,
597        MAX_DCB_CELL_VOLTAGE = 0x000014,
598        MIN_DCB_CELL_VOLTAGE = 0x000015,
599        MAX_DCB_CELL_TEMPERATURE = 0x000016,
600        MIN_DCB_CELL_TEMPERATURE = 0x000017,
601        DCB_ALL_CELL_TEMPERATURES = 0x000018,
602        DCB_CELL_TEMPERATURE = 0x000019,
603        DCB_ALL_CELL_VOLTAGES = 0x00001a,
604        DCB_CELL_VOLTAGE = 0x00001b,
605        OPEN_BREAKER = 0x00001c,
606        OPEN_BREAKER_CONFIRM = 0x00001d,
607        READY_FOR_SHUTDOWN = 0x00001e,
608        FIRMWARE_VERSION = 0x00001f,
609        INFO = 0x000020,
610        TRAINING_MODE = 0x000021,
611        UPDATE_STATUS = 0x000022,
612        SET_TRAINING_MODE = 0x000023,
613        TIME_LAST_RESPONSE = 0x000024,
614        MANUFACTURER_NAME = 0x000025,
615        USABLE_CAPACITY = 0x000026,
616        USABLE_REMAINING_CAPACITY = 0x000027,
617        SET_A1_DATA = 0x000028,
618        SET_A1_MODE = 0x000029,
619        DELETE_DCB_TYPE = 0x00002a,
620        DCB_TYPE = 0x00002b,
621        SET_A1_VOLTAGE = 0x000030,
622        SET_A1_CURRENT = 0x000031,
623        CONTROL_CODE = 0x000032,
624        BPM_STATUS = 0x000033,
625        DCB_ERROR_LIST = 0x000034,
626        DCB_INFO = 0x000042,
627        SPECIFICATION = 0x000043,
628        INTERNALS = 0x000044,
629        DESIGN_CAPACITY = 0x000045,
630        DESIGN_VOLTAGE = 0x000046,
631        CHARGE_HIGH_TEMP = 0x000047,
632        CHARGE_LOW_TEMP = 0x000048,
633        MANUFACTURE_DATE = 0x000049,
634        SERIALNO = 0x000050,
635        DATA_TABLE_VERSION = 0x000051,
636        PROTOCOL_VERSION = 0x000052,
637        PCB_VERSION = 0x000053,
638        TOTAL_USE_TIME = 0x000054,
639        TOTAL_DISCHARGE_TIME = 0x000055,
640        REQ_AVAILABLE_BATTERIES = 0x000056,
641        AVAILABLE_BATTERIES = 0x000057,
642        BATTERY_SPEC = 0x000058,
643        INSTANCE_DESCRIPTOR = 0x000059,
644        OPEN_FET = 0x000060,
645        FET_STATE = 0x000061,
646        BATTERY_SOFT_ON = 0x000062,
647        SET_BAT_VOLT_ADJUSTMENT = 0x000063,
648        BAT_VOLT_ADJUSTMENT = 0x000064,
649        BAT_VOLT_ADJ_READY_INDEX = 0x000065,
650        DISCHARGE_UNTIL_EMPTY_STATE = 0x000092,
651        SET_DISCHARGE_UNTIL_EMPTY = 0x000094,
652        CONTROL_STATE = 0x000095,
653        INTERNAL_STATE = 0x000096,
654        IS_BREAKER_OPEN = 0x000097,
655        CLOSE_BREAKER = 0x000098,
656        DCB_INDEX = 0x000100,
657        DCB_LAST_MESSAGE_TIMESTAMP = 0x000101,
658        DCB_MAX_CHARGE_VOLTAGE = 0x000102,
659        DCB_MAX_CHARGE_CURRENT = 0x000103,
660        DCB_END_OF_DISCHARGE = 0x000104,
661        DCB_MAX_DISCHARGE_CURRENT = 0x000105,
662        DCB_FULL_CHARGE_CAPACITY = 0x000106,
663        DCB_REMAINING_CAPACITY = 0x000107,
664        DCB_SOC = 0x000108,
665        DCB_SOH = 0x000109,
666        DCB_CYCLE_COUNT = 0x000110,
667        DCB_CURRENT = 0x000111,
668        DCB_VOLTAGE = 0x000112,
669        DCB_CURRENT_AVG_30S = 0x000113,
670        DCB_VOLTAGE_AVG_30S = 0x000114,
671        DCB_DESIGN_CAPACITY = 0x000115,
672        DCB_DESIGN_VOLTAGE = 0x000116,
673        DCB_CHARGE_LOW_TEMPERATURE = 0x000117,
674        DCB_CHARGE_HIGH_TEMPERATURE = 0x000118,
675        DCB_MANUFACTURE_DATE = 0x000119,
676        DCB_SERIALNO = 0x000120,
677        DCB_PROTOCOL_VERSION = 0x000121,
678        DCB_FW_VERSION = 0x000122,
679        DCB_DATA_TABLE_VERSION = 0x000123,
680        DCB_PCB_VERSION = 0x000124,
681        SPECIFIED_CAPACITY = 0x000125,
682        SPECIFIED_DSCHARGE_POWER = 0x000126,
683        SPECIFIED_CHARGE_POWER = 0x000127,
684        SPECIFIED_MAX_DCB_COUNT = 0x000128,
685        ROLE = 0x000129,
686        INTERNAL_CURRENT_AVG30 = 0x000130,
687        INTERNAL_MTV_AVG30 = 0x000131,
688        INTERNAL_MAX_CHARGE_CURRENT = 0x000132,
689        INTERNAL_MAX_DISCHARGE_CURRENT = 0x000133,
690        INTERNAL_MAX_CHARGE_CURR_PER_DCB = 0x000134,
691        INTERNAL_MAX_DISCHARGE_CURR_PER_DCB = 0x000135,
692        INTERNAL_MAX_CHARGE_CURR_DATA_LOG = 0x000136,
693        INTERNAL_MAX_DISCHARGE_CURR_DATA_LOG = 0x000137,
694        DCB_NR_SERIES_CELL = 0x000300,
695        DCB_NR_PARALLEL_CELL = 0x000301,
696        DCB_MANUFACTURE_NAME = 0x000302,
697        DCB_DEVICE_NAME = 0x000303,
698        DCB_SERIALCODE = 0x000304,
699        DCB_NR_SENSOR = 0x000305,
700        DCB_STATUS = 0x000306,
701        DCB_WARNING = 0x000307,
702        DCB_ALARM = 0x000308,
703        DCB_ERROR = 0x000309,
704        DATA = 0x040000,
705        INDEX = 0x040001,
706        DEVICE_STATE = 0x060000,
707        DEVICE_CONNECTED = 0x060001,
708        DEVICE_WORKING = 0x060002,
709        DEVICE_IN_SERVICE = 0x060003,
710        PARAM_BAT_VOLT_STATUS = 0x400001,
711        PARAM_BAT_VOLT_TARGET_VALUE = 0x400002,
712        PARAM_BAT_VOLT_MIN_VOLTAGE = 0x400003,
713        PARAM_BAT_VOLT_MAX_VOLTAGE = 0x400004,
714        PARAM_BAT_VOLT_ENABLED = 0x400005,
715        PARAM_BAT_NUMBER = 0x400006,
716        PARAM_RACK_NUMBER = 0x400007,
717        GENERAL_ERROR = 0x7fffff
718    }
719}
720
721macro_attr! {
722    #[group!(TagGroup::DCDC)]
723    #[allow(non_camel_case_types, dead_code)]
724    #[repr(u32)]
725    pub enum DCDC {
726        SET_BAT_CONNECTED = 0x000000,
727        I_BAT = 0x000001,
728        U_BAT = 0x000002,
729        P_BAT = 0x000003,
730        I_DCL = 0x000004,
731        U_DCL = 0x000005,
732        P_DCL = 0x000006,
733        SELF_TEST = 0x000007,
734        FIRMWARE_VERSION = 0x000008,
735        FPGA_FIRMWARE = 0x000009,
736        SERIAL_NUMBER = 0x00000a,
737        BOARD_VERSION = 0x00000b,
738        FLASH_FILE_LIST = 0x00000c,
739        FLASH_FILE = 0x00000d,
740        IS_FLASHING = 0x00000e,
741        FLASH = 0x00000f,
742        STATUS = 0x000010,
743        STATE = 0x000011,
744        SUBSTATE = 0x000012,
745        STATUS_AS_STRING = 0x000013,
746        STATE_AS_STRING = 0x000014,
747        SUBSTATE_AS_STRING = 0x000015,
748        GET_BAT_CONNECTED = 0x000016,
749        SET_ZK_SYM_ACTIVE = 0x000017,
750        GET_ZK_SYM_ACTIVE = 0x000018,
751        SET_ISO_TEST_REQUESTED = 0x000019,
752        GET_ISO_TEST_REQUESTED = 0x00001a,
753        GET_ISO_TEST_SUCCESSFULLY_DONE = 0x00001b,
754        GET_BAT_ON = 0x00001c,
755        GET_ZK_SYM_ON = 0x00001d,
756        GET_ISO_ACTIVE = 0x00001e,
757        GET_RELAYS_ON = 0x00001f,
758        SET_ACTIVE_BAT_PRECHARGE_GOAL = 0x000020,
759        VERIFY_CORTEX = 0x000021,
760        FLASH_FPGA = 0x000022,
761        FLASH_FPGA_FILE_LIST = 0x000023,
762        SELF_TEST_RESULT = 0x000024,
763        FLASH_STATUS = 0x000025,
764        GET_PARAMETER = 0x000026,
765        SET_PARAMETER = 0x000027,
766        SET_PID_DEBUG = 0x000028,
767        COPY_RING_BUFFER = 0x000029,
768        GET_PID_DEBUG = 0x00002a,
769        PID_DEBUG_DATA = 0x00002b,
770        GET_LAST_SET_ACTIVE_BAT_PRECHARGE_GOAL = 0x00002c,
771        GET_DESIRED_IC = 0x00002d,
772        GET_ISO_VALUE = 0x00002e,
773        BROADCAST_BAT_LIMITS = 0x00002f,
774        RING_BUFFER = 0x000030,
775        FREED_RING_BUFFER = 0x000031,
776        UNICAST_BAT_LIMITS = 0x000032,
777        SET_POWERSAVE = 0x000033,
778        GET_POWERSAVE = 0x000034,
779        GET_HW_CHARACTERISTIC = 0x000035,
780        U_DCL_DIFF = 0x000036,
781        DERATING = 0x000037,
782        DERATING_VALUE = 0x000038,
783        TARGET_POWER = 0x000039,
784        REQ_DCL_OPERATION_VOLTAGE = 0x000050,
785        DCL_OPERATION_VOLTAGE = 0x000051,
786        SET_POWER = 0x000071,
787        SET_IDLE = 0x000072,
788        HANDLE_ERRORS = 0x000073,
789        CLEAR_ERRORS = 0x000074,
790        SEND_COMMAND = 0x000075,
791        BROADCAST_COMMAND = 0x000076,
792        ERROR_PENDING = 0x000077,
793        SET_PVI_TYPE = 0x000078,
794        PVI_TYPE = 0x000079,
795        ON_GRID = 0x000080,
796        SET_ON_GRID = 0x000081,
797        NEXT_SLAVE_STATE = 0x000082,
798        ENABLE_NEXT_SLAVE = 0x000083,
799        DCDC_TYPE = 0x000084,
800        SEND_KICKSTART = 0x000085,
801        IS_HEALTHY = 0x000086,
802        REQ_GET_IS_MULTI_GC = 0x000087,
803        SEND_BAT_PRECHARGE = 0x000088,
804        SEND_STARTUP_TYPE = 0x000089,
805        SEND_BAT_CHARGING_STATE = 0x00008a,
806        SEND_STANDBY_RELEASE = 0x00008b,
807        DATA = 0x040000,
808        INDEX = 0x040001,
809        PARAM_FLASH_PROGRESS = 0x040010,
810        PARAM_FLASH_TYPE = 0x040011,
811        PARAM_FLASHING_ACTIVE = 0x040012,
812        PARAM_FLASH_MODE = 0x040013,
813        PARAM_FLASH_FILE = 0x040014,
814        PARAM_CRC = 0x040015,
815        PARAM_PARAMETER_BLOCK = 0x040016,
816        PARAM_PARAMETER_INDEX_FROM = 0x040017,
817        PARAM_PARAMETER_INDEX_UNTIL = 0x040018,
818        PARAM_PARAMETER_VALUE = 0x040019,
819        PARAM_RING_BUFFER_ELEMENT = 0x040030,
820        PARAM_RB_ID = 0x040031,
821        PARAM_RB_TIME = 0x040032,
822        PARAM_RB_I_BAT = 0x040033,
823        PARAM_RB_U_BAT = 0x040034,
824        PARAM_RB_I_DCL = 0x040035,
825        PARAM_RB_U_DCL = 0x040036,
826        PARAM_RB_MODE = 0x040037,
827        PARAM_RB_SUBSTATE = 0x040038,
828        PARAM_RB_SETPOINT = 0x040039,
829        PARAM_RB_INDEX_DCDC = 0x040040,
830        PARAM_RB_INDEX_FROM = 0x040041,
831        PARAM_RB_INDEX_UNTIL = 0x040042,
832        PARAM_DCL_OV_UPPER_VOLTAGE = 0x040050,
833        PARAM_DCL_OV_LOWER_VOLTAGE = 0x040051,
834        PARAM_DCL_OV_INDEX = 0x040052,
835        COUNT_HW_CONTROLLER = 0x040060,
836        ENABLE_FAN_TEST = 0x040061,
837        DISABLE_FAN_TEST = 0x040062,
838        DEVICE_STATE = 0x060000,
839        DEVICE_CONNECTED = 0x060001,
840        DEVICE_WORKING = 0x060002,
841        DEVICE_IN_SERVICE = 0x060003,
842        GET_IS_MULTI_GC = 0x060004,
843        SET_IS_MULTI_GC = 0x060005,
844        GENERAL_ERROR = 0x7fffff
845    }
846}
847
848macro_attr! {
849    #[group!(TagGroup::PM)]
850    #[allow(non_camel_case_types, dead_code)]
851    #[repr(u32)]
852    pub enum PM {
853        POWER_L1 = 0x000001,
854        POWER_L2 = 0x000002,
855        POWER_L3 = 0x000003,
856        ACTIVE_PHASES = 0x000004,
857        MODE = 0x000005,
858        ENERGY_L1 = 0x000006,
859        ENERGY_L2 = 0x000007,
860        ENERGY_L3 = 0x000008,
861        DEVICE_ID = 0x000009,
862        ERROR_CODE = 0x00000a,
863        SET_PHASE_ELIMINATION = 0x00000b,
864        FIRMWARE_VERSION = 0x00000c,
865        SET_FOR_EMERGENCY_TEST = 0x00000d,
866        IS_CAN_SILENCE = 0x00000e,
867        MAX_PHASE_POWER = 0x00000f,
868        GET_EXTERN_LOAD = 0x000010,
869        VOLTAGE_L1 = 0x000011,
870        VOLTAGE_L2 = 0x000012,
871        VOLTAGE_L3 = 0x000013,
872        TYPE = 0x000014,
873        SET_TYPE = 0x000015,
874        GET_PHASE_ELIMINATION = 0x000018,
875        COMM_STATE = 0x000050,
876        CS_START_TIME = 0x000051,
877        CS_LAST_TIME = 0x000052,
878        CS_SUCC_FRAMES_ALL = 0x000053,
879        CS_SUCC_FRAMES_100 = 0x000054,
880        CS_EXP_FRAMES_ALL = 0x000055,
881        CS_EXP_FRAMES_100 = 0x000056,
882        CS_ERR_FRAMES_ALL = 0x000057,
883        CS_ERR_FRAMES_100 = 0x000058,
884        CS_UNK_FRAMES = 0x000059,
885        CS_ERR_FRAME = 0x00005a,
886        CONNECTED_DEVICES = 0x0000a0,
887        CONNECTED_DEVICE = 0x0000a1,
888        SET_DEVICE_NAME = 0x0000b0,
889        DEVICE_NAME = 0x0000b1,
890        SET_EXTERN_LOAD = 0x0000b3,
891        INJECT_DATA = 0x0000b4,
892        SET_CAN_ID = 0x0000b5,
893        DATA = 0x040000,
894        INDEX = 0x040001,
895        DEVICE_STATE = 0x060000,
896        DEVICE_CONNECTED = 0x060001,
897        DEVICE_WORKING = 0x060002,
898        DEVICE_IN_SERVICE = 0x060003,
899        ID1 = 0x400001,
900        ID2 = 0x400002,
901        ID3 = 0x400003,
902        GENERAL_ERROR = 0x7fffff
903    }
904}
905
906macro_attr! {
907    #[group!(TagGroup::DB)]
908    #[allow(non_camel_case_types, dead_code)]
909    #[repr(u32)]
910    pub enum DB {
911        GRAPH_INDEX = 0x000001,
912        BAT_POWER_IN = 0x000002,
913        BAT_POWER_OUT = 0x000003,
914        DC_POWER = 0x000004,
915        GRID_POWER_IN = 0x000005,
916        GRID_POWER_OUT = 0x000006,
917        CONSUMPTION = 0x000007,
918        PM_0_POWER = 0x000008,
919        PM_1_POWER = 0x000009,
920        BAT_CHARGE_LEVEL = 0x00000a,
921        BAT_CYCLE_COUNT = 0x00000b,
922        CONSUMED_PRODUCTION = 0x00000c,
923        AUTARKY = 0x00000d,
924        PRODUCTION_POWER = 0x00000e,
925        TEC_ALL = 0x00000f,
926        SUM_CONTAINER = 0x000010,
927        TEC_BAT_POWER_IN = 0x000011,
928        TEC_BAT_POWER_OUT = 0x000012,
929        TEC_PRODUCTION_L1 = 0x000013,
930        TEC_PRODUCTION_L2 = 0x000014,
931        TEC_PRODUCTION_L3 = 0x000015,
932        TEC_WALLBOX_VALUES = 0x000016,
933        TEC_ROOT_EM_VALUE = 0x000017,
934        TEC_EM_VALUES = 0x000018,
935        TEC_BAT_CHARGE_LEVEL = 0x000019,
936        TEC_BAT_CURRENT_IN = 0x00001a,
937        TEC_BAT_CURRENT_OUT = 0x00001b,
938        TEC_CONSUMPTION_L1 = 0x00001c,
939        TEC_CONSUMPTION_L2 = 0x00001d,
940        TEC_CONSUMPTION_L3 = 0x00001e,
941        TEC_DC_POWER_S1 = 0x00001f,
942        VALUE_CONTAINER = 0x000020,
943        TEC_DC_POWER_S2 = 0x000021,
944        TEC_DC_POWER_S3 = 0x000022,
945        TEC_ACCURACY = 0x000023,
946        TEC_ACCURACY_LM = 0x000024,
947        TEC_ACCURACY_WB = 0x000025,
948        TEC_BAT_ASOC_CHARGE_LEVEL = 0x000026,
949        TEC_BAT = 0x000027,
950        TEC_PRODUCTION = 0x000028,
951        TEC_CONSUMPTION = 0x000029,
952        TEC_DC_POWER = 0x00002a,
953        HISTORY_DATA_DAY = 0x000100,
954        HISTORY_TIME_START = 0x000101,
955        HISTORY_TIME_INTERVAL = 0x000102,
956        HISTORY_TIME_SPAN = 0x000103,
957        HISTORY_UTC_TIME_START = 0x000104,
958        ENERGY_COUNTERS = 0x000105,
959        SET_IDLE = 0x00010a,
960        IS_IDLE = 0x00010b,
961        HISTORY_DATA_WEEK = 0x000200,
962        HISTORY_DATA_MONTH = 0x000300,
963        HISTORY_DATA_YEAR = 0x000400,
964        SYNC_HIST = 0x000500,
965        VACUUM_HIST = 0x000501,
966        SYNC_BPU = 0x000502,
967        VACUUM_BPU = 0x000503,
968        SYNC_DCB = 0x000504,
969        VACUUM_DCB = 0x000505,
970        SYNC_BPU_CONF = 0x000506,
971        VACUUM_BPU_CONF = 0x000507,
972        SYNC_DCB_CONF = 0x000508,
973        VACUUM_DCB_CONF = 0x000509,
974        SYNC_WALLBOX = 0x00050a,
975        VACUUM_WALLBOX = 0x00050b,
976        SYNC_PV_DEBUG = 0x00050c,
977        VACUUM_PV_DEBUG = 0x00050d,
978        SYNC_CONFIG = 0x00050e,
979        VACUUM_CONFIG = 0x00050f,
980        SET_SYNC_TIME = 0x000510,
981        PVI_DIAL_RECORDINGS = 0x000511,
982        SYNC_BAT_DIAGNOSE = 0x000512,
983        VACUUM_BAT_DIAGNOSE = 0x000513,
984        SYNC_EXT_LG = 0x000514,
985        VACUUM_EXT_LG = 0x000515,
986        CLEAN_DATABASE = 0x000516,
987        SYNC_ALL = 0x000517,
988        RESET_TIMESTAMP = 0x000518,
989        PAR_TIME_MIN = 0x300000,
990        PAR_TIME_MAX = 0x300001,
991        PARAM_ROW = 0x300002,
992        PARAM_COLUMN = 0x300003,
993        PARAM_INDEX = 0x300004,
994        PARAM_VALUE = 0x300005,
995        PARAM_MAX_ROWS = 0x300006,
996        PARAM_TIME = 0x300007,
997        PARAM_VERSION = 0x300008,
998        PARAM_HEADER = 0x300009,
999        PARAM_PRODUCTION_L1 = 0x300010,
1000        PARAM_PRODUCTION_L2 = 0x300011,
1001        PARAM_PRODUCTION_L3 = 0x300012,
1002        PARAM_DC_POWER_S1 = 0x300013,
1003        PARAM_DC_POWER_S2 = 0x300014,
1004        PARAM_DC_POWER_S3 = 0x300015,
1005        TEC_WALLBOX_VALUE = 0x400001,
1006        TEC_WALLBOX_ENERGYALL = 0x400002,
1007        TEC_WALLBOX_WB_ENERGY_SOLAR = 0x400003,
1008        TEC_WALLBOX_INDEX = 0x400004,
1009        TEC_EM_VALUE = 0x400005,
1010        TEC_EM_ENERGY_L1 = 0x400006,
1011        TEC_EM_ENERGY_L2 = 0x400007,
1012        TEC_EM_ENERGY_L3 = 0x400008,
1013        TEC_EM_NET_IN_L1 = 0x400009,
1014        TEC_EM_NET_IN_L2 = 0x40000a,
1015        TEC_EM_NET_IN_L3 = 0x40000b,
1016        TEC_EM_NET_OUT_L1 = 0x40000c,
1017        TEC_EM_NET_OUT_L2 = 0x40000d,
1018        TEC_EM_NET_OUT_L3 = 0x40000e,
1019        TEC_EM_NET_IN = 0x40000f,
1020        TEC_EM_NET_OUT = 0x400010,
1021        TEC_EM_INDEX = 0x400011,
1022        GENERAL_ERROR = 0x7fffff
1023    }
1024}
1025
1026macro_attr! {
1027    #[group!(TagGroup::SRV)]
1028    #[allow(non_camel_case_types, dead_code)]
1029    #[repr(u32)]
1030    pub enum SRV {
1031        IS_ONLINE = 0x000001,
1032        ADD_USER = 0x000002,
1033        SET_LOCAL_USER = 0x000003,
1034        CREATE_USER = 0x000004,
1035        CREATE_USER_STATUS = 0x000005,
1036        NAME = 0x400001,
1037        STREET = 0x400002,
1038        STREET_NO = 0x400003,
1039        POSTCODE = 0x400004,
1040        CITY = 0x400005,
1041        COUNTRY = 0x400006,
1042        FON = 0x400007,
1043        E_MAIL = 0x400008,
1044        SURNAME = 0x400009,
1045        GENERAL_ERROR = 0x7fffff
1046    }
1047}
1048
1049macro_attr! {
1050    #[group!(TagGroup::HA)]
1051    #[allow(non_camel_case_types, dead_code)]
1052    #[repr(u32)]
1053    pub enum HA {
1054        DATAPOINT_LIST = 0x000001,
1055        DATAPOINT = 0x000002,
1056        DATAPOINT_INDEX = 0x000003,
1057        DATAPOINT_TYPE = 0x000004,
1058        DATAPOINT_NAME = 0x000005,
1059        DATAPOINT_DESCRIPTIONS = 0x000006,
1060        DATAPOINT_DESCRIPTION = 0x000007,
1061        DATAPOINT_DESCRIPTION_NAME = 0x000008,
1062        DATAPOINT_DESCRIPTION_VALUE = 0x000009,
1063        ACTUATOR_STATES = 0x000010,
1064        DATAPOINT_STATE = 0x000011,
1065        DATAPOINT_MODE = 0x000012,
1066        DATAPOINT_STATE_TIMESTAMP = 0x000013,
1067        DATAPOINT_STATE_VALUE = 0x000014,
1068        DATAPOINT_SUPPLY_QUALITY = 0x000015,
1069        DATAPOINT_SIGNAL_QUALITY = 0x000016,
1070        ADD_ACTUATOR = 0x000020,
1071        REMOVE_ACTUATOR = 0x000030,
1072        COMMAND_ACTUATOR = 0x000040,
1073        COMMAND = 0x000041,
1074        DESCRIPTIONS_CHANGE = 0x000050,
1075        CONFIGURATION_CHANGE_COUNTER = 0x000060,
1076        POSSIBLE_POWER_METERS = 0x000070,
1077        POSSIBLE_POWER_METER = 0x000071,
1078        POSSIBLE_ANALOG_MODES = 0x000080,
1079        POSSIBLE_ANALOG_MODE = 0x000081,
1080        DEVICE_STATE = 0x060000,
1081        DEVICE_CONNECTED = 0x060001,
1082        DEVICE_WORKING = 0x060002,
1083        DEVICE_IN_SERVICE = 0x060003,
1084        GENERAL_ERROR = 0x7fffff
1085    }
1086}
1087
1088macro_attr! {
1089    #[group!(TagGroup::INFO)]
1090    #[allow(non_camel_case_types, dead_code)]
1091    #[repr(u32)]
1092    pub enum INFO {
1093        SERIAL_NUMBER = 0x000001,
1094        PRODUCTION_DATE = 0x000002,
1095        MODULES_SW_VERSIONS = 0x000003,
1096        MODULE_SW_VERSION = 0x000004,
1097        MODULE = 0x000005,
1098        VERSION = 0x000006,
1099        A35_SERIAL_NUMBER = 0x000007,
1100        IP_ADDRESS = 0x000008,
1101        SUBNET_MASK = 0x000009,
1102        MAC_ADDRESS = 0x00000a,
1103        GATEWAY = 0x00000b,
1104        DNS = 0x00000c,
1105        DHCP_STATUS = 0x00000d,
1106        TIME = 0x00000e,
1107        UTC_TIME = 0x00000f,
1108        TIME_ZONE = 0x000010,
1109        INFO = 0x000011,
1110        SET_IP_ADDRESS = 0x000012,
1111        SET_SUBNET_MASK = 0x000013,
1112        SET_DHCP_STATUS = 0x000014,
1113        SET_GATEWAY = 0x000015,
1114        SET_DNS = 0x000016,
1115        SET_TIME = 0x000017,
1116        SET_TIME_ZONE = 0x000018,
1117        SW_RELEASE = 0x000019,
1118        SET_GUI_TARGET = 0x00001a,
1119        GUI_TARGET = 0x00001b,
1120        PLATFORM_TYPE = 0x00001c,
1121        IS_CALIBRATED = 0x00001d,
1122        CALIBRATION_CHECK = 0x00001e,
1123        RESET_CALIBRATION = 0x00001f,
1124        HW_TIME = 0x000020,
1125        SET_TIME_UTC = 0x000021,
1126        SET_HW_TIME = 0x000022,
1127        SET_FACILITY = 0x000023,
1128        GET_FACILITY = 0x000024,
1129        NAME = 0x000025,
1130        STREET = 0x000026,
1131        STREET_NO = 0x000027,
1132        POSTCODE = 0x000028,
1133        CITY = 0x000029,
1134        FON = 0x00002a,
1135        E_MAIL = 0x00002b,
1136        COUNTRY = 0x00002c,
1137        GET_FS_USAGE = 0x00002d,
1138        FS_SIZE = 0x00002e,
1139        FS_USED = 0x00002f,
1140        FS_AVAILABLE = 0x000030,
1141        FS_USE_PERCENT = 0x000031,
1142        INODES = 0x000032,
1143        INODES_USED = 0x000033,
1144        INODES_AVAILABLE = 0x000034,
1145        INODES_USE_PERCENT = 0x000035,
1146        SURNAME = 0x000036,
1147        UPNP_STATUS = 0x000037,
1148        SET_UPNP_STATUS = 0x000038,
1149        IS_OVP_POSSIBLE = 0x000039,
1150        IS_RSCP_PASSWORD_SET = 0x00003a,
1151        SET_EULA_VERSION = 0x00003b,
1152        SET_EULA_CHECKSUM = 0x00003c,
1153        SET_WAIT_FOR_EULA = 0x00003d,
1154        ASSEMBLY_SERIAL_NUMBER = 0x00003e,
1155        SET_UUID = 0x00003f,
1156        GET_UUID = 0x000040,
1157        GET_SUID = 0x000041,
1158        IS_OVP2_POSSIBLE = 0x000042,
1159        LC_SET_TIME = 0x000043,
1160        LC_GET_IS_TIME_SYNCHRO = 0x000044,
1161        LC_GET_SYSTEM_TIME = 0x000045,
1162        LC_GET_TIME_TIMEZONE = 0x000046,
1163        GET_IS_MULTI_GC_POSSIBLE = 0x000047,
1164        GET_VALUES_PRESENTATION_SETTINGS = 0x000048,
1165        LC_PARAM_TOKEN = 0x400001,
1166        LC_PARAM_STATUS = 0x400002,
1167        LC_PARAM_TIME_SYSTEM = 0x400003,
1168        LC_PARAM_TIMEZONE = 0x400004,
1169        LC_PARAM_TIME_DIFF = 0x400005,
1170        LC_PARAM_TIME_BROWSER = 0x400006,
1171        LC_PARAM_TIME_SYNCHRO_STATE = 0x400007,
1172        GENERAL_ERROR = 0x7fffff
1173    }
1174}
1175
1176macro_attr! {
1177    #[group!(TagGroup::EP)]
1178    #[allow(non_camel_case_types, dead_code)]
1179    #[repr(u32)]
1180    pub enum EP {
1181        SWITCH_TO_GRID = 0x000001,
1182        SWITCH_TO_ISLAND = 0x000002,
1183        IS_READY_FOR_SWITCH = 0x000003,
1184        IS_GRID_CONNECTED = 0x000004,
1185        IS_ISLAND_GRID = 0x000005,
1186        IS_INVALID_STATE = 0x000006,
1187        IS_POSSIBLE = 0x000007,
1188        LEAVE_INVALID_STATE_TO_ISLAND = 0x000008,
1189        LEAVE_INVALID_STATE_TO_GRID = 0x000009,
1190        GENERAL_ERROR = 0x7fffff
1191    }
1192}
1193
1194macro_attr! {
1195    #[group!(TagGroup::SYS)]
1196    #[allow(non_camel_case_types, dead_code)]
1197    #[repr(u32)]
1198    pub enum SYS {
1199        SYSTEM_REBOOT = 0x000001,
1200        IS_SYSTEM_REBOOTING = 0x000002,
1201        RESTART_APPLICATION = 0x000003,
1202        SCRIPT_FILE_LIST = 0x000010,
1203        SCRIPT_FILE = 0x000011,
1204        EXECUTE_SCRIPT = 0x000015,
1205        SYSTEM_SHUTDOWN = 0x000016,
1206        IS_SYSTEM_SHUTING_DOWN = 0x000017,
1207        GUI_PASSWD_RESET = 0x000018,
1208        IS_GUI_PASSWD_RESET = 0x000019,
1209        GUI_PASSWD_RESET_PERFORMED = 0x000020,
1210        GENERAL_ERROR = 0x7fffff
1211    }
1212}
1213
1214macro_attr! {
1215    #[group!(TagGroup::UM)]
1216    #[allow(non_camel_case_types, dead_code)]
1217    #[repr(u32)]
1218    pub enum UM {
1219        UPDATE_STATUS = 0x000001,
1220        UPDATE_DCDC = 0x000002,
1221        CHECK_FOR_UPDATES = 0x000003,
1222        LC_SET_START_FILE_TRANSFER = 0x000004,
1223        LC_SET_FILE_TRANSFER = 0x000005,
1224        LC_SET_END_FILE_TRANSFER = 0x000006,
1225        LC_PARAM_TOKEN = 0x400001,
1226        LC_PARAM_STATUS = 0x400002,
1227        LC_PARAM_FILE_NAME = 0x400003,
1228        LC_PARAM_FILE_SIZE = 0x400004,
1229        LC_PARAM_FILE_CHECKSUM = 0x400005,
1230        LC_PARAM_TRANSACTION_ID = 0x400006,
1231        LC_PARAM_TRANSFER_TYPE = 0x400007,
1232        LC_PARAM_TRANSACTION_STATUS = 0x400008,
1233        LC_PARAM_BLOCK_ID = 0x400009,
1234        LC_PARAM_UPDATE_STATUS = 0x40000a,
1235        LC_PARAM_CHUNK = 0x40000b,
1236        LC_PARAM_CHUNK_ID = 0x40000c,
1237        LC_PARAM_CHUNK_DATA = 0x40000d,
1238        LC_PARAM_CHUNK_DATA_LENGTH = 0x40000e,
1239        GENERAL_ERROR = 0x7fffff
1240    }
1241}
1242
1243macro_attr! {
1244    #[group!(TagGroup::WB)]
1245    #[allow(non_camel_case_types, dead_code)]
1246    #[repr(u32)]
1247    pub enum WB {
1248        ENERGY_ALL = 0x000001,
1249        ENERGY_SOLAR = 0x000002,
1250        SOC = 0x000003,
1251        STATUS = 0x000004,
1252        ERROR_CODE = 0x000005,
1253        MODE = 0x000006,
1254        APP_SOFTWARE = 0x000007,
1255        BOOTLOADER_SOFTWARE = 0x000008,
1256        HW_VERSION = 0x000009,
1257        FLASH_VERSION = 0x00000a,
1258        DEVICE_ID = 0x00000b,
1259        PM_POWER_L1 = 0x00000c,
1260        PM_POWER_L2 = 0x00000d,
1261        PM_POWER_L3 = 0x00000e,
1262        PM_ACTIVE_PHASES = 0x00000f,
1263        SET_UPPER_CURRENT_LIMIT = 0x000010,
1264        PM_MODE = 0x000011,
1265        PM_ENERGY_L1 = 0x000012,
1266        PM_ENERGY_L2 = 0x000013,
1267        PM_ENERGY_L3 = 0x000014,
1268        PM_DEVICE_ID = 0x000015,
1269        PM_ERROR_CODE = 0x000016,
1270        PM_FIRMWARE_VERSION = 0x000017,
1271        DIAG_DEVICE_ID = 0x000018,
1272        DIAG_BAT_CAPACITY = 0x000019,
1273        DIAG_USER_PARAM = 0x00001a,
1274        DIAG_MAX_CURRENT = 0x00001b,
1275        DIAG_PHASE_VOLTAGE = 0x00001c,
1276        DIAG_DISPLAY_SPEECH = 0x00001d,
1277        DIAG_DESIGN = 0x00001e,
1278        DIAG_INFOS = 0x00001f,
1279        DIAG_WARNINGS = 0x000020,
1280        DIAG_ERRORS = 0x000021,
1281        DIAG_TEMP_1 = 0x000022,
1282        DIAG_TEMP_2 = 0x000023,
1283        DIAG_CP_PEGEL = 0x000024,
1284        DIAG_PP_IN_A = 0x000025,
1285        DIAG_STATUS_DIODE = 0x000026,
1286        DIAG_DIG_IN_1 = 0x000027,
1287        DIAG_DIG_IN_2 = 0x000028,
1288        PM_DEVICE_STATE = 0x000029,
1289        AUTH_REQUIRED = 0x00002a,
1290        SET_AUTH_REQUIRED = 0x00002b,
1291        SESSION = 0x00002c,
1292        SET_RFID_READER_ENABLED = 0x00002d,
1293        RFID_READER_ENABLED = 0x00002e,
1294        FIRMWARE_VERSION = 0x00002f,
1295        PM_DEVICE_STATE_CONNECTED = 0x000030,
1296        PM_DEVICE_STATE_WORKING = 0x000031,
1297        PM_DEVICE_STATE_IN_SERVICE = 0x000032,
1298        SET_BIDI_MODE_ACTIVE = 0x000033,
1299        BIDI_MODE_ACTIVE = 0x000034,
1300        BIDI_CONTINGENT = 0x000035,
1301        SET_BIDI_CONTINGENT = 0x000036,
1302        ALIVE = 0x000037,
1303        SET_AUTO_PHASE_SWITCH_ENABLED = 0x000038,
1304        AUTO_PHASE_SWITCH_ENABLED = 0x000039,
1305        BIDI_MIN_ENERGY_REQUEST = 0x00003a,
1306        BIDI_MAX_ENERGY_REQUEST = 0x00003b,
1307        BIDI_TARGET_ENERGY_REQUEST = 0x00003c,
1308        BIDI_ENERGY_REQUESTS = 0x00003d,
1309        CHARGE_IN_FALLBACK_MODE_SELECTABLE = 0x00003e,
1310        CHARGE_IN_FALLBACK_MODE_ALLOWED = 0x00003f,
1311        PM_MAX_PHASE_POWER = 0x000040,
1312        SET_DEVICE_NAME = 0x000041,
1313        DEVICE_NAME = 0x000042,
1314        REFRESH_LOGGEDMESSAGES = 0x000043,
1315        REQ_GET_LOGGEDMESSAGES = 0x000044,
1316        SET_CHARGE_IN_FALLBACK_MODE_ALLOWED = 0x000045,
1317        MAX_CURRENT_FALLBACK = 0x000046,
1318        SET_MAX_CURRENT_FALLBACK = 0x000047,
1319        SET_LED_COLOR = 0x000048,
1320        DC_CHARGER_STATE = 0x000049,
1321        DATA = 0x040000,
1322        INDEX = 0x040001,
1323        MODE_PARAM_MODE = 0x040031,
1324        MODE_PARAM_MAX_CURRENT = 0x040032,
1325        AVAILABLE_SOLAR_POWER = 0x041000,
1326        POWER = 0x041001,
1327        STATUS_BIT = 0x041002,
1328        SET_EXTERN = 0x041010,
1329        EXTERN_DATA_SUN = 0x041011,
1330        EXTERN_DATA_NET = 0x041012,
1331        EXTERN_DATA_ALL = 0x041013,
1332        EXTERN_DATA_ALG = 0x041014,
1333        SET_BAT_CAPACITY = 0x041015,
1334        SET_ENERGY_ALL = 0x041016,
1335        SET_ENERGY_SOLAR = 0x041017,
1336        SET_PARAM_1 = 0x041018,
1337        SET_PARAM_2 = 0x041019,
1338        RSP_PARAM_2 = 0x04101a,
1339        RSP_PARAM_1 = 0x04101b,
1340        CONNECTED_DEVICES = 0x04101c,
1341        SET_SOC = 0x04101d,
1342        STATION_AVAILABLE = 0x04101e,
1343        SET_STATION_AVAILABLE = 0x04101f,
1344        SET_PW = 0x041020,
1345        SET_STATION_ENABLED = 0x041021,
1346        MAC_ADDRESS = 0x041022,
1347        PROXIMITY_PLUG = 0x041023,
1348        REQ_PREFERRED_CHARGE_POWER = 0x041024,
1349        CHARGE_FULL = 0x041025,
1350        SET_CHARGE_FULL = 0x041026,
1351        ACTIVE_CHARGE_STRATEGY = 0x041027,
1352        SET_ACTIVE_CHARGE_STRATEGY = 0x041028,
1353        PARAMETER_LIST = 0x041029,
1354        STATION_ENABLED = 0x04102a,
1355        SET_PARAMETER_LIST = 0x041030,
1356        GATEWAY = 0x041031,
1357        SUBNET_MASK = 0x041032,
1358        IP_ADDR = 0x041033,
1359        DHCP_ENABLED = 0x041034,
1360        SET_DHCP_ENABLED = 0x041035,
1361        WALLBOX_TYPE = 0x041036,
1362        UPDATE_NETWORK_CONFIG = 0x041037,
1363        SUN_MODE_ACTIVE = 0x041038,
1364        SET_SUN_MODE_ACTIVE = 0x041039,
1365        NUMBER = 0x04103a,
1366        NUMBER_PHASES = 0x04103b,
1367        SET_NUMBER_PHASES = 0x04103c,
1368        ABORT_CHARGING = 0x04103d,
1369        REQ_SET_ABORT_CHARGING = 0x04103e,
1370        SET_ABORT_CHARGING = 0x04103f,
1371        SCHUKO_AVAILABLE = 0x041040,
1372        IS_SCHUKO_LOCKED = 0x041041,
1373        SET_SCHUKO_LOCKED = 0x041042,
1374        MAX_POWER_PER_PHASE = 0x041043,
1375        MIN_POWER_PER_PHASE = 0x041044,
1376        UPPER_CURRENT_LIMIT = 0x041045,
1377        LOWER_CURRENT_LIMIT = 0x041046,
1378        MAX_CHARGE_CURRENT = 0x041047,
1379        MIN_CHARGE_CURRENT = 0x041048,
1380        SET_MAX_CHARGE_CURRENT = 0x041049,
1381        SET_MIN_CHARGE_CURRENT = 0x04104a,
1382        PARAM_INDEX = 0x04104b,
1383        CHARGE_STOP_HYSTERESIS = 0x04104c,
1384        SET_CHARGE_STOP_HYSTERESIS = 0x04104d,
1385        GET_KEY_LOCK_MODE = 0x04104e,
1386        SET_KEY_LOCK_MODE = 0x04104f,
1387        KEY_STATE = 0x041050,
1388        SERIAL = 0x041051,
1389        MAX_CHARGE_POWER = 0x041052,
1390        MIN_CHARGE_POWER = 0x041053,
1391        EXTERN_DATA = 0x042010,
1392        EXTERN_DATA_LEN = 0x042011,
1393        PARAM_USR = 0x042012,
1394        PARAM_PW = 0x042013,
1395        DEVICE_STATE = 0x060000,
1396        DEVICE_CONNECTED = 0x060001,
1397        DEVICE_WORKING = 0x060002,
1398        DEVICE_IN_SERVICE = 0x060003,
1399        SET_BIC_MODE = 0x0f0001,
1400        GET_BIC_MODE = 0x0f0002,
1401        GET_CHARGE_PLAN_TEXT = 0x0f0003,
1402        SESSION_DATA_SAVED = 0x0f0004,
1403        SESSION_DATA_WAIT_FOR = 0x0f0005,
1404        GET_LOGGEDMESSAGES = 0x0f0006,
1405        STRING_PARAMETER = 0x440010,
1406        PREFERRED_CHARGE_POWER = 0x741024,
1407        SESSION_END_TIME = 0x741025,
1408        SESSION_START_TIME = 0x741026,
1409        SESSION_STATUS = 0x741027,
1410        SESSION_ACTIVE_CHARGE_TIME = 0x741028,
1411        SESSION_INACTIVE_TIME = 0x741029,
1412        SESSION_CHARGED_ENERGY = 0x74102a,
1413        SESSION_CHARGED_SUN_ENERGY = 0x74102b,
1414        SESSION_METER_ENERGY_START = 0x74102c,
1415        SESSION_METER_ENERGY_END = 0x74102d,
1416        SESSION_ID = 0x74102e,
1417        SESSION_VEHICLE_ID = 0x74102f,
1418        SESSION_AUTH_DATA = 0x741030,
1419        SESSION_RECEIPT_SIGNATURE = 0x741031,
1420        SESSION_RECEIPT_DATA = 0x741032,
1421        SESSION_AUTH_TYPE = 0x741033,
1422        SESSION_WALLBOX_ID = 0x741035,
1423        BIDI_CONTINGENT_USED_KWH_YEAR = 0x741036,
1424        BIDI_CONTINGENT_USED_HOURS_YEAR = 0x741037,
1425        BIDI_CONTINGENT_MAX_KWH_LIFETIME = 0x741038,
1426        BIDI_CONTINGENT_MAX_HOURS_LIFETIME = 0x741039,
1427        BIDI_CONTINGENT_MAX_HOURS_YEAR = 0x74103a,
1428        BIDI_CONTINGENT_MAX_KWH_YEAR = 0x74103b,
1429        BIDI_CONTINGENT_CAR_ID = 0x74103c,
1430        BIDI_CONTINGENT_CAR_LIFETIME = 0x74103d,
1431        SESSION_AUTH_DATA_SWAPPED = 0x74103e,
1432        SESSION_ACTIVE_DISCHARGE_TIME = 0x74103f,
1433        SESSION_DISCHARGED_ENERGY = 0x741040,
1434        SESSION_DISCHARGE_METER_ENERGY_START = 0x741041,
1435        SESSION_DISCHARGE_METER_ENERGY_STOP = 0x741042,
1436        GENERAL_ERROR = 0x7fffff
1437    }
1438}
1439
1440macro_attr! {
1441    #[group!(TagGroup::PTDB)]
1442    #[allow(non_camel_case_types, dead_code)]
1443    #[repr(u32)]
1444    pub enum PTDB {
1445        SET_STD_PROPS = 0x000001,
1446        SET_PROP = 0x000002,
1447        PROP = 0x000003,
1448        PARAM_TABLE = 0x400001,
1449        PARAM_KEY = 0x400002,
1450        PARAM_VALUE = 0x400003,
1451        GENERAL_ERROR = 0x7fffff
1452    }
1453}
1454
1455macro_attr! {
1456    #[group!(TagGroup::LED)]
1457    #[allow(non_camel_case_types, dead_code)]
1458    #[repr(u32)]
1459    pub enum LED {
1460        SET_BAR_SWITCHED_ON_STATE = 0x000001,
1461        BAR_SWITCHED_ON_STATE = 0x000002,
1462        INTENSITY = 0x000003,
1463        SET_INTENSITY = 0x000004,
1464        COLOR = 0x000005,
1465        SET_COLOR = 0x000006,
1466        HW_INFO = 0x000007,
1467        STORE_CONFIG = 0x000008,
1468        CONFIG_STORED = 0x000009,
1469        DEVICE_STATE = 0x060000,
1470        INDEX = 0x060001,
1471        RED = 0x060002,
1472        GREEN = 0x060003,
1473        BLUE = 0x060004,
1474        FW_VERSION = 0x060005,
1475        BL_VERSION = 0x060006,
1476        DEVICE_CONNECTED = 0x060007,
1477        DEVICE_WORKING = 0x060008,
1478        DEVICE_IN_SERVICE = 0x060009,
1479        GENERAL_ERROR = 0x7fffff
1480    }
1481}
1482
1483macro_attr! {
1484    #[group!(TagGroup::DIAG)]
1485    #[allow(non_camel_case_types, dead_code)]
1486    #[repr(u32)]
1487    pub enum DIAG {
1488        CURRENT_ISSUES = 0x000000,
1489        REPORTED_ISSUES = 0x000001,
1490        ISSUE = 0x060000,
1491        ERR_CODE = 0x060001,
1492        ENDURE_TIME = 0x060002,
1493        TIME_ARISED = 0x060003,
1494        ERR_MSG = 0x060004,
1495        GENERAL_ERROR = 0x7fffff
1496    }
1497}
1498
1499macro_attr! {
1500    #[group!(TagGroup::SGR)]
1501    #[allow(non_camel_case_types, dead_code)]
1502    #[repr(u32)]
1503    pub enum SGR {
1504        STATE = 0x000001,
1505        READY_TO_USE = 0x000002,
1506        HW_PROVIDER_LIST = 0x000003,
1507        HW_PROVIDER = 0x000004,
1508        NAME = 0x000005,
1509        AKTIV = 0x000006,
1510        SET_COOLDOWN_START = 0x000007,
1511        COOLDOWN_END = 0x000008,
1512        USED_POWER = 0x000009,
1513        REQ_USED_POWER = 0x000010,
1514        SET_STATE = 0x000011,
1515        GLOBAL_OFF = 0x000012,
1516        REQ_GLOBAL_OFF = 0x000013,
1517        DATA = 0x040000,
1518        INDEX = 0x040001,
1519        GENERAL_ERROR = 0x7fffff
1520    }
1521}
1522
1523macro_attr! {
1524    #[group!(TagGroup::MBS)]
1525    #[allow(non_camel_case_types, dead_code)]
1526    #[repr(u32)]
1527    pub enum MBS {
1528        MODBUS_ENABLED = 0x000001,
1529        MODBUS_CONNECTORS = 0x000002,
1530        ENABLE_CONNECTOR = 0x000003,
1531        DISABLE_CONNECTOR = 0x000004,
1532        CHANGE_SETTING = 0x000005,
1533        CHANGE_SETTING_ERR = 0x000006,
1534        MODBUS_CONNECTOR_CONTAINER = 0x010002,
1535        MODBUS_CONNECTOR_NAME = 0x010003,
1536        MODBUS_CONNECTOR_ID = 0x010004,
1537        MODBUS_CONNECTOR_ENABLED = 0x010005,
1538        MODBUS_CONNECTOR_SETUP = 0x010006,
1539        MODBUS_SETUP_NAME = 0x010007,
1540        MODBUS_SETUP_TYPE = 0x010008,
1541        MODBUS_SETUP_VALUE = 0x010009,
1542        MODBUS_SETUP_VALUES = 0x01000a,
1543        MODBUS_SETUP_VALUE_STRING = 0x01000b,
1544        SET_MODBUS_ENABLED = 0x700001,
1545        GENERAL_ERROR = 0x7fffff
1546    }
1547}
1548
1549macro_attr! {
1550    #[group!(TagGroup::EH)]
1551    #[allow(non_camel_case_types, dead_code)]
1552    #[repr(u32)]
1553    pub enum EH {
1554        UNREPORTED_ERRORS = 0x000001,
1555        MARKED_REPORTED = 0x000002,
1556        GET_SAVED_ERRORS = 0x000003,
1557        PARAM_ROW = 0x040000,
1558        PARAM_ROW_ID = 0x040001,
1559        PARAM_ROW_TIME = 0x040002,
1560        PARAM_ROW_CODE = 0x040003,
1561        PARAM_ROW_TYPE = 0x040004,
1562        PARAM_ROW_CLEARED = 0x040005,
1563        PARAM_ROW_ERR_SRC = 0x040006,
1564        PARAM_ROW_MSG = 0x040007,
1565        GENERAL_ERROR = 0x7fffff
1566    }
1567}
1568
1569macro_attr! {
1570    #[group!(TagGroup::UPNPC)]
1571    #[allow(non_camel_case_types, dead_code)]
1572    #[repr(u32)]
1573    pub enum UPNPC {
1574        DEFAULT_LIST = 0x000001,
1575        SET_DEFAULT_LIST = 0x000002,
1576        SERVICE_LIST = 0x000003,
1577        DEFAULT_LIST_REV = 0x000006,
1578        SERVICE_LIST_REV = 0x000007,
1579        PARAM_DEVICE_ENTRY = 0x040000,
1580        PARAM_SERIALNO = 0x040001,
1581        PARAM_IP_ADR = 0x040002,
1582        PARAM_PORT = 0x040003,
1583        PARAM_NAME = 0x040004,
1584        PARAM_LOCATION = 0x040005,
1585        GENERAL_ERROR = 0x7fffff
1586    }
1587}
1588
1589macro_attr! {
1590    #[group!(TagGroup::KNX)]
1591    #[allow(non_camel_case_types, dead_code)]
1592    #[repr(u32)]
1593    pub enum KNX {
1594        RSP_SET = 0x000001,
1595        STORED_ERRORS = 0x000002,
1596        IP = 0x000003,
1597        SOFTWAREVERSION = 0x000004,
1598        FIRMWAREVERSION = 0x000005,
1599        REQ_STORED_ERRORS = 0x000006,
1600        REQ_STORE_FILTER = 0x000007,
1601        SHOW_KNX_SCREEN = 0x000008,
1602        ERROR_CONTAINER = 0x400001,
1603        ERROR_TYPE = 0x400002,
1604        ERROR_SOURCE = 0x400003,
1605        ERROR_MESSAGE = 0x400004,
1606        ERROR_CODE = 0x400005,
1607        ERROR_TIMESTAMP = 0x400006,
1608        STORE_FILTER = 0x400007,
1609        FILTER_CATEGORY = 0x400008,
1610        FILTER_ENUM = 0x400009,
1611        GENERAL_ERROR = 0x7fffff
1612    }
1613}
1614
1615macro_attr! {
1616    #[group!(TagGroup::EMSHB)]
1617    #[allow(non_camel_case_types, dead_code)]
1618    #[repr(u32)]
1619    pub enum EMSHB {
1620        HB_DATA = 0x000001,
1621        PARAM_VERSION = 0x040000,
1622        PARAM_BAT_S1 = 0x040001,
1623        PARAM_BAT_S2 = 0x040002,
1624        PARAM_BAT_S3 = 0x040003,
1625        PARAM_LM1 = 0x040004,
1626        PARAM_LM2 = 0x040005,
1627        PARAM_LM3 = 0x040006,
1628        PARAM_AC_L1 = 0x040007,
1629        PARAM_AC_L2 = 0x040008,
1630        PARAM_AC_L3 = 0x040009,
1631        PARAM_C_L1 = 0x040010,
1632        PARAM_C_L2 = 0x040011,
1633        PARAM_C_L3 = 0x040012,
1634        PARAM_SOC = 0x040013,
1635        PARAM_SYS_STATUS = 0x040014,
1636        PARAM_WB = 0x040015,
1637        PARAM_WB_INDEX = 0x040016,
1638        PARAM_WB_L1 = 0x040017,
1639        PARAM_WB_L2 = 0x040018,
1640        PARAM_WB_L3 = 0x040019,
1641        PARAM_WB_L1_Active = 0x040020,
1642        PARAM_WB_L2_Active = 0x040021,
1643        PARAM_WB_L3_Active = 0x040022,
1644        PARAM_PV_S1 = 0x040023,
1645        PARAM_PV_S2 = 0x040024,
1646        PARAM_PV_S3 = 0x040025,
1647        PARAM_LM = 0x040026,
1648        PARAM_ID = 0x040027,
1649        PARAM_L1 = 0x040028,
1650        PARAM_L2 = 0x040029,
1651        PARAM_L3 = 0x040030,
1652        PARAM_LM_ALIVE_FLAG = 0x040031,
1653        PARAM_WB_ALIVE_FLAG = 0x040032,
1654        PARAM_WB_SOLAR_L1 = 0x040033,
1655        PARAM_WB_SOLAR_L2 = 0x040034,
1656        PARAM_WB_SOLAR_L3 = 0x040035,
1657        GENERAL_ERROR = 0x7fffff
1658    }
1659}
1660
1661macro_attr! {
1662    #[group!(TagGroup::MYPV)]
1663    #[allow(non_camel_case_types, dead_code)]
1664    #[repr(u32)]
1665    pub enum MYPV {
1666        RSP_FIND_DEVICES = 0x000003,
1667        RSP_REMOVE_DEVICES = 0x000006,
1668        RSP_INSTANT_BOOST = 0x000007,
1669        DEVICE = 0x000100,
1670        DEVICE_SERIAL = 0x000101,
1671        DEVICE_ENABLED = 0x000102,
1672        DEVICE_IP = 0x000103,
1673        DEVICE_TEMPERATURE_CURRENT = 0x000104,
1674        DEVICE_TEMPERATURE_MAXIMUM = 0x000105,
1675        DEVICE_POWER = 0x000106,
1676        DEVICE_STATUS = 0x000107,
1677        DEVICE_CONTROL_MODE = 0x000108,
1678        DEVICE_TYPE = 0x000109,
1679        DEVICE_TIMESPAN_IBOOST = 0x000110,
1680        DEVICE_BOOST_LIST = 0x000200,
1681        DEVICE_BOOST_ITEM = 0x000300,
1682        DEVICE_BOOST_START = 0x000301,
1683        DEVICE_BOOST_STOP = 0x000302,
1684        DEVICE_BOOST_TEMPERATURE = 0x000303,
1685        DEVICE_BOOST_ACTIVE = 0x000304,
1686        DEVICE_BOOST_WEEKDAYS = 0x000305,
1687        DEVICE_BOOST_NAME = 0x000306,
1688        RSP_LIST_DEVICES = 0x200004,
1689        RSP_WRITE_DEVICES = 0x300004,
1690        GENERAL_ERROR = 0x7fffff
1691    }
1692}
1693
1694macro_attr! {
1695    #[group!(TagGroup::GPIO)]
1696    #[allow(non_camel_case_types, dead_code)]
1697    #[repr(u32)]
1698    pub enum GPIO {
1699        RSP_SET = 0x000001,
1700        RSP_GET = 0x000002,
1701        RSP_LIST = 0x000003,
1702        RSP_LIST_ALIAS = 0x000004,
1703        RSP_LIST_REAL = 0x000005,
1704        RSP_CONNECT = 0x000006,
1705        RSP_CHANGECOUNTER = 0x000007,
1706        RSP_REMOTE_EXCHANGE = 0x000008,
1707        TUPEL = 0x060001,
1708        NUMBER = 0x060002,
1709        NAME = 0x060003,
1710        VALUE = 0x060004,
1711        KEY = 0x060005,
1712        AVAILABLE = 0x060006,
1713        MODE = 0x060007,
1714        SUPPORTED = 0x060008,
1715        CONNECTEDTO = 0x060009,
1716        USERLEVEL = 0x06000a,
1717        INACTIVE = 0x06000b,
1718        SETTINGS = 0x06000c,
1719        REMOTE_LINKED = 0x06000d,
1720        GENERAL_ERROR = 0x7fffff
1721    }
1722}
1723
1724macro_attr! {
1725    #[group!(TagGroup::FARM)]
1726    #[allow(non_camel_case_types, dead_code)]
1727    #[repr(u32)]
1728    pub enum FARM {
1729        CONNECTED_DEVICES = 0x000001,
1730        LIST_AVAILABLE_DEVICES = 0x000002,
1731        REQ_CONNECTED_DEVICES_REV = 0x000003,
1732        REQ_LIST_AVAILABLE_DEVICES = 0x000004,
1733        PARAM_DEVICE = 0x040000,
1734        PARAM_SERIALNO = 0x040001,
1735        PARAM_CNAME = 0x040002,
1736        CONNECTED_DEVICES_REV = 0x040003,
1737        PARAM_SHORT_ID = 0x400001,
1738        GENERAL_ERROR = 0x7fffff
1739    }
1740}
1741
1742macro_attr! {
1743    #[group!(TagGroup::SE)]
1744    #[allow(non_camel_case_types, dead_code)]
1745    #[repr(u32)]
1746    pub enum SE {
1747        SE_COUNT = 0x000001,
1748        SE_DATA = 0x000002,
1749        SET_POWER = 0x000003,
1750        SET_DERATE = 0x000004,
1751        SET_COUPLE_MODE = 0x000005,
1752        COUPLE_MODE = 0x000006,
1753        SET_BRI = 0x000007,
1754        GET_BRI = 0x000008,
1755        EP_RESERVE = 0x000009,
1756        GET_PROTECTION_STRATEGY = 0x00000a,
1757        SET_EP_RESERVE = 0x000010,
1758        GET_ESTIMATED_POWER_LIMIT = 0x000011,
1759        DESIGN_LIMIT = 0x000012,
1760        SET_RESTART_SWITCH_TO_EP = 0x000013,
1761        EP_STATUS = 0x000014,
1762        DIAGNOSIS_ERRORS = 0x000015,
1763        RESET_POWERSAVE_TIMEOUT = 0x000027,
1764        EMERGENCY_POWER_OVERLOAD_STATUS = 0x000028,
1765        EMERGENCY_POWER_RETRY = 0x000029,
1766        IS_EMERGENCYPOWER_POSSIBLE = 0x000030,
1767        SET_PROTECTION_STRATEGY = 0x000031,
1768        PARAM_INDEX = 0x040000,
1769        PARAM_DCDC_STATUS = 0x040001,
1770        PARAM_BAT_STATUS = 0x040002,
1771        PARAM_CTRL_STATE = 0x040003,
1772        PARAM_PvPower = 0x040004,
1773        PARAM_PvEnergy = 0x040005,
1774        PARAM_BatteryPower = 0x040006,
1775        PARAM_BatCapacity = 0x040007,
1776        PARAM_Limits = 0x040008,
1777        PARAM_DesiredPower = 0x040009,
1778        PARAM_DesiredDerating = 0x040010,
1779        PARAM_INT = 0x040011,
1780        PARAM_UINT = 0x040012,
1781        PARAM_FLOAT = 0x040013,
1782        PARAM_EmergencyMode = 0x040014,
1783        PARAM_PVI1_STATUS = 0x040020,
1784        PARAM_PVI2_STATUS = 0x040021,
1785        PARAM_PVI3_STATUS = 0x040022,
1786        PARAM_EP_RESERVE = 0x040023,
1787        PARAM_TIME_LAST_FULL = 0x040024,
1788        PARAM_TIME_LAST_EMPTY = 0x040025,
1789        PARAM_LAST_SOC = 0x040026,
1790        PARAM_EP_STATUS = 0x040027,
1791        PARAM_TIME_TO_RETRY = 0x040030,
1792        PARAM_NO_REMAINING_RETRY = 0x040031,
1793        PARAM_EP_RESERVE_W = 0x040033,
1794        PARAM_EP_RESERVE_MAX_W = 0x040034,
1795        PARAM_BOOL = 0x400001,
1796        PARAM_BRI_INDEX = 0x400002,
1797        GENERAL_ERROR = 0x7fffff
1798    }
1799}
1800
1801macro_attr! {
1802    #[group!(TagGroup::QPI)]
1803    #[allow(non_camel_case_types, dead_code)]
1804    #[repr(u32)]
1805    pub enum QPI {
1806        INVERTER_COUNT = 0x000001,
1807        INVERTER_DATA = 0x000002,
1808        UPDATE_FIRMWARE = 0x000003,
1809        UPDATE_STATUS = 0x000004,
1810        INVERTER_SET_VALUES = 0x000005,
1811        RESET_STATE_1_COUNTER = 0x000006,
1812        STATE_1_COUNTER = 0x000007,
1813        INVERTER_SET_POWER = 0x000008,
1814        SET_BAT_INFO = 0x000009,
1815        GET_PARAM = 0x00000a,
1816        SET_PARAM = 0x00000b,
1817        ERR_LIST = 0x00000c,
1818        ERR_LIST_4105 = 0x00000d,
1819        CLEAR_ERR_HIST = 0x00000e,
1820        STATE_0 = 0x00000f,
1821        DEBUG_DATA = 0x000010,
1822        INVERTER_COUNT_DETAIL = 0x000011,
1823        SELECTED_INVERTER_DATA = 0x000012,
1824        ERR_HIST = 0x000013,
1825        HW_INFO = 0x000014,
1826        VERSION_RESET = 0x000015,
1827        SET_DESIRED_CURRENT_FOR_EP = 0x000016,
1828        GET_DESIRED_CURRENT_FOR_EP = 0x000017,
1829        SETTINGS_EP_ENABLED = 0x000030,
1830        SET_SETTINGS_EP_ENABLED = 0x00003a,
1831        SETTINGS_VDE_2510_ENABLED = 0x00003b,
1832        SET_SETTINGS_VDE_2510_ENABLED = 0x00003c,
1833        PARAM_INDEX = 0x040000,
1834        PARAM_U_Bat = 0x040001,
1835        PARAM_I_Bat = 0x040002,
1836        PARAM_U_AC = 0x040003,
1837        PARAM_I_AC = 0x040004,
1838        PARAM_PHI = 0x040005,
1839        PARAM_POWER = 0x040006,
1840        PARAM_APP_POWER = 0x040007,
1841        PARAM_REA_POWER = 0x040008,
1842        PARAM_FILE_NAME = 0x040009,
1843        PARAM_PROGRESS = 0x040010,
1844        PARAM_CHILD = 0x040011,
1845        PARAM_POWER_L1 = 0x040012,
1846        PARAM_POWER_L2 = 0x040013,
1847        PARAM_POWER_L3 = 0x040014,
1848        PARAM_TIME = 0x040015,
1849        PARAM_STATE_1_COUNT = 0x040016,
1850        PARAM_CMD = 0x040017,
1851        PARAM_STATE_1_PS = 0x400018,
1852        PARAM_U_MAX = 0x400019,
1853        PARAM_U_MIN = 0x400020,
1854        PARAM_I_MAX = 0x400021,
1855        PARAM_I_MIN = 0x400022,
1856        PARAM_BLOCK = 0x400023,
1857        PARAM_ITEM = 0x400024,
1858        PARAM_VALUE = 0x400025,
1859        PARAM_ERR = 0x400030,
1860        PARAM_ERR_STR = 0x400031,
1861        PARAM_ERR_DATE = 0x400032,
1862        PARAM_ERR_CODE = 0x400033,
1863        PARAM_ERR_F_MIN = 0x400034,
1864        PARAM_ERR_F_MAX = 0x400035,
1865        PARAM_ERR_U_MIN = 0x400036,
1866        PARAM_ERR_U_MAX = 0x400037,
1867        PARAM_ERR_U_L1_PHI = 0x400038,
1868        PARAM_ERR_U_L1_RMS = 0x400039,
1869        PARAM_ERR_U_L2_PHI = 0x400040,
1870        PARAM_ERR_U_L2_RMS = 0x400041,
1871        PARAM_ERR_U_L3_PHI = 0x400042,
1872        PARAM_ERR_U_L3_RMS = 0x400043,
1873        PARAM_ERR_U_INV_PHI = 0x400044,
1874        PARAM_ERR_U_INV_RMS = 0x400045,
1875        PARAM_ERR_I_DCL_RMS = 0x400046,
1876        PARAM_ERR_U_DCL = 0x400047,
1877        PARAM_ERR_I_LOAD_PHI = 0x400048,
1878        PARAM_ERR_I_LOAD_RMS = 0x400049,
1879        PARAM_ERR_REGULATOR_OUT = 0x400050,
1880        PARAM_ERR_STATE_MASHINE_E_STATE = 0x400051,
1881        PARAM_ERR_STATE_ACT_REG = 0x400052,
1882        PARAM_ERR_TMP_0 = 0x400053,
1883        PARAM_ERR_TMP_1 = 0x400054,
1884        PARAM_ERR_TMP_2 = 0x400055,
1885        PARAM_ERR_TMP_3 = 0x400056,
1886        PARAM_ERR_CO_PRO = 0x400057,
1887        PARAM_ERR_TREATMENT = 0x400058,
1888        PARAM_ERR_I_LOAD_T0 = 0x400059,
1889        PARAM_ERR_U_INV_TO = 0x400060,
1890        PARAM_U_AC_L1 = 0x400061,
1891        PARAM_U_AC_L2 = 0x400062,
1892        PARAM_U_AC_L3 = 0x400063,
1893        PARAM_I_AC_L1 = 0x400064,
1894        PARAM_I_AC_L2 = 0x400065,
1895        PARAM_I_AC_L3 = 0x400066,
1896        PARAM_APP_POWER_L1 = 0x400067,
1897        PARAM_APP_POWER_L2 = 0x400068,
1898        PARAM_APP_POWER_L3 = 0x400069,
1899        PARAM_REA_POWER_L1 = 0x400070,
1900        PARAM_REA_POWER_L2 = 0x400071,
1901        PARAM_REA_POWER_L3 = 0x400072,
1902        PARAM_STATE_0_STATE = 0x400073,
1903        PARAM_STATE_0_ERR_COUNT_ALL = 0x400074,
1904        PARAM_STATE_0_ERR_COUNT_ACTIVE = 0x400075,
1905        PARAM_STATE_0_OP_STATE = 0x400076,
1906        PARAM_CONF_STATE = 0x400079,
1907        PARAM_ACTIVATED = 0x400080,
1908        PARAM_INVERTER_GROUP = 0x400081,
1909        PARAM_COUNT_DETAIL = 0x400082,
1910        PARAM_DEBUG_SM = 0x400083,
1911        PARAM_DEBUG_ACTUAL_REG = 0x400084,
1912        PARAM_DEBUG_U_DCL = 0x400085,
1913        PARAM_DEBUG_I_DCL_RMS = 0x400086,
1914        PARAM_DEBUG_I_LOAD_RMS = 0x400087,
1915        PARAM_DEBUG_I_LOAD_T0 = 0x400088,
1916        PARAM_DEBUG_U_INV_RMS = 0x400089,
1917        PARAM_DEBUG_U_INV_T0 = 0x400090,
1918        PARAM_DEBUG_U_L1_RMS = 0x400091,
1919        PARAM_DEBUG_U_L2_RMS = 0x400092,
1920        PARAM_DEBUG_U_L3_RMS = 0x400093,
1921        PARAM_DEBUG_U_L1_T0 = 0x400094,
1922        PARAM_DEBUG_U_L2_T0 = 0x400095,
1923        PARAM_DEBUG_U_L3_T0 = 0x400096,
1924        PARAM_DEBUG_TMP_0 = 0x400097,
1925        PARAM_DEBUG_TMP_1 = 0x400098,
1926        PARAM_DEBUG_TMP_2 = 0x400099,
1927        PARAM_DEBUG_TMP_3 = 0x400100,
1928        PARAM_DEBUG_F_LINE = 0x400101,
1929        PARAM_DEBUG_I_DCL_AVG = 0x400102,
1930        PARAM_DEBUG_U_L1_PHI = 0x400103,
1931        PARAM_DEBUG_U_L2_PHI = 0x400104,
1932        PARAM_DEBUG_U_L3_PHI = 0x400105,
1933        PARAM_DEBUG_INV_PHI = 0x400106,
1934        PARAM_DEBUG_I_LOAD_PHI = 0x400107,
1935        PARAM_NUMBER_CHILDS = 0x400108,
1936        PARAM_INVERTER_STORED_SI_GROUP = 0x400109,
1937        PARAM_DEBUG_U_L1_RMS_COPRO = 0x40010a,
1938        PARAM_DEBUG_U_L2_RMS_COPRO = 0x40010b,
1939        PARAM_DEBUG_U_L3_RMS_COPRO = 0x40010c,
1940        PARAM_DEBUG_F_LINE_COPRO = 0x40010d,
1941        PARAM_SW_VERSION_DATE = 0x40010e,
1942        PARAM_SW_VERSION = 0x40010f,
1943        PARAM_INVERTER_EP_LINE = 0x400110,
1944        PARAM_COPRO_SW_VERSION_DATE = 0x400111,
1945        PARAM_COPRO_SW_VERSION = 0x400112,
1946        PARAM_COPRO_SW_SVN = 0x400113,
1947        PARAM_HW_VERSION_MAIN = 0x400114,
1948        PARAM_HW_VERSION_COPRO = 0x400115,
1949        PARAM_HW_VERSION_PCB_CODE = 0x400116,
1950        PARAM_BOARD_SERIAL = 0x400117,
1951        PARAM_MODULE_SERIAL = 0x400118,
1952        PARAM_ERR_F_LINE = 0x400119,
1953        PARAM_ERR_OPT_STATE = 0x40011a,
1954        PARAM_RT_RESULT = 0x40011b,
1955        PARAM_DOOR_SW_OPEN = 0x40011c,
1956        PARAM_FAN_REQESTED = 0x40011d,
1957        PARAM_DEBUG_COPRO_STATE = 0x40011e,
1958        PARAM_ERR_I_DCL_T0 = 0x40011f,
1959        PARAM_ERR_COPRO_U_L1_RMS = 0x400120,
1960        PARAM_ERR_COPRO_U_L2_RMS = 0x400121,
1961        PARAM_ERR_COPRO_U_L3_RMS = 0x400122,
1962        PARAM_ERR_COPRO_U_INV_RMS = 0x400123,
1963        PARAM_ERR_COPRO_REL_STATE = 0x400124,
1964        PARAM_ERR_COPRO_MODE = 0x400125,
1965        PARAM_ERR_COPRO_F_LINE = 0x400126,
1966        PARAM_ERR_COPRO_PEN_TV_STATE = 0x400127,
1967        PARAM_ERR_COPRO_ERR_DATA = 0x400128,
1968        PARAM_ERR_COPRO_TRIPP_LN_OUT = 0x400129,
1969        PARAM_ERR_COPRO_TRIPP_LN_IN = 0x40012a,
1970        PARAM_ERR_COPRO_U_PEN_AVG = 0x40012b,
1971        PARAM_ERR_I_PRIM = 0x40012c,
1972        PARAM_SW_COUNTRY = 0x40012d,
1973        PARAM_SELECTEC_COUNTRY = 0x40012e,
1974        PARAM_COPRO_SW_COUNTRY = 0x40012f,
1975        PARAM_COPRO_SELECTEC_COUNTRY = 0x400130,
1976        PARAM_MAX_AC_APPARENT_POWER = 0x400131,
1977        PARAM_DEBUG_U_INV_RMS_COPRO = 0x400132,
1978        PARAM_DEBUG_I_PRIM_RMS = 0x400133,
1979        PARAM_SW_SVN = 0x400134,
1980        GENERAL_ERROR = 0x7fffff
1981    }
1982}
1983
1984macro_attr! {
1985    #[group!(TagGroup::GAPP)]
1986    #[allow(non_camel_case_types, dead_code)]
1987    #[repr(u32)]
1988    pub enum GAPP {
1989        DEV_COUNT = 0x000001,
1990        SERIALNO = 0x000002,
1991        SUPPORTED_REACTIVE_POWER_FUNCTIONS = 0x000003,
1992        ENABLED_REACTIVE_POWER_FUNCTIONS = 0x000004,
1993        SET_REACTIVE_POWER_FUNCTIONS = 0x000005,
1994        SET_REACTIVE_POWER_FUNCTIONS_PARAMETER = 0x000006,
1995        REACTIVE_POWER_FUNCTIONS_PARAMETER = 0x000007,
1996        SUPPORTED_ACTIVE_POWER_FUNCTIONS = 0x000008,
1997        ENABLED_ACTIVE_POWER_FUNCTIONS_PU = 0x000009,
1998        SET_ACTIVE_POWER_FUNCTIONS_PU = 0x00000a,
1999        SET_ACTIVE_POWER_FUNCTIONS_PU_PARAMETER = 0x00000b,
2000        ACTIVE_POWER_FUNCTION_PU_PARAMETER = 0x00000c,
2001        REACTIVE_POWER_SETTINGS_EQUAL = 0x00000d,
2002        ACTIVE_POWER_SETTINGS_EQUAL = 0x00000e,
2003        SUPPORTED_GRID_PROTECTION_FUNCTIONS = 0x00000f,
2004        GRID_PROTECTION_FUNCTION_PARAMETER = 0x000010,
2005        SET_GRID_PROTECTION_FUNCTION_PARAMETER = 0x000011,
2006        PARAM_INDEX = 0x040000,
2007        PARAM_SERIALNO = 0x040001,
2008        PARAM_REACTIVE_POWER_FUNCTION = 0x040002,
2009        PARAM_ACTIVE_POWER_FUNCTION_PU = 0x040003,
2010        PARAM_GAPP_PARAMETER = 0x040004,
2011        PARAM_GAPP_PARAMETER_FUNCTION = 0x040005,
2012        PARAM_GAPP_PARAMETER_VALUE_LIST = 0x040006,
2013        PARAM_GAPP_PARAMETER_VALUE_LIST_ENTRY = 0x040007,
2014        PARAM_GAPP_PARAMETER_SCALE_FACTOR_X = 0x040008,
2015        PARAM_GAPP_PARAMETER_SCALE_FACTOR_Y = 0x040009,
2016        PARAM_GAPP_PARAMETER_VALUE_MAX = 0x040010,
2017        PARAM_GAPP_PARAMETER_VALUE_MIN = 0x040011,
2018        PARAM_GAPP_PARAMETER_VALUE = 0x040012,
2019        PARAM_GAPP_PARAMETER_VALUE_INIT = 0x040013,
2020        PARAM_SUPPORTED_REACTIVE_POWER_FUNCTIONS = 0x040014,
2021        PARAM_SUPPORTED_ACTIVE_POWER_FUNCTIONS = 0x040015,
2022        PARAM_SUCCESS = 0x040016,
2023        PARAM_GAPP_PARAMETER_HAS_Y = 0x040017,
2024        PARAM_GAPP_PARAMETER_COUNT_MIN = 0x040018,
2025        PARAM_GAPP_PARAMETER_COUNT_MAX = 0x040019,
2026        PARAM_GAPP_PARAMETER_COUNT_USED = 0x040020,
2027        PARAM_SUPPORTED_GRID_PROTECTION_FUNCTIONS = 0x040021,
2028        GENERAL_ERROR = 0x7fffff
2029    }
2030}
2031
2032macro_attr! {
2033    #[group!(TagGroup::EMSPR)]
2034    #[allow(non_camel_case_types, dead_code)]
2035    #[repr(u32)]
2036    pub enum EMSPR {
2037        RSP_GET_EQUATIONS = 0x000001,
2038        RSP_SET_EQUATIONS = 0x000002,
2039        RSP_GET_ACTIVE = 0x000003,
2040        RSP_GET_PINCOUNT = 0x000004,
2041        RSP_SET_PINCOUNT = 0x000005,
2042        RSP_CHANGECOUNTER = 0x000006,
2043        RSP_GET_INVERTERENABLING = 0x000007,
2044        RSP_SET_INVERTERENABLING = 0x000008,
2045        RSP_GET_INVERTERENABLEWAIT = 0x00000b,
2046        RSP_SET_INVERTERENABLEWAIT = 0x00000c,
2047        EQUATION = 0x060001,
2048        INPUT = 0x060002,
2049        MASK = 0x060003,
2050        INVALID = 0x060004,
2051        OUTPUT = 0x060005,
2052        ISACTIVE = 0x060006,
2053        FAILURESTATE = 0x060007,
2054        INVERTERENABLED = 0x060008,
2055        GENERAL_ERROR = 0x7fffff
2056    }
2057}
2058
2059macro_attr! {
2060    #[group!(TagGroup::IOBOX)]
2061    #[allow(non_camel_case_types, dead_code)]
2062    #[repr(u32)]
2063    pub enum IOBOX {
2064        RSP_IDENTIFY = 0x000001,
2065        RSP_GETCOUNT = 0x000002,
2066        RSP_SEARCH = 0x000003,
2067        RSP_SERIAL_NUMBER = 0x000004,
2068        RSP_STATE = 0x000005,
2069        LIST = 0x000006,
2070        REMOVE = 0x000007,
2071        DATA = 0x040000,
2072        INDEX = 0x040001,
2073        ITEM = 0x400001,
2074        ITEM_INDEX = 0x400002,
2075        ITEM_NAME = 0x400003,
2076        ITEM_SERIAL_NUMBER = 0x400004,
2077        ITEM_STATUS = 0x400005,
2078        ITEM_SWVERSION = 0x400006,
2079        ITEM_ADDITIONAL_INFO = 0x400007,
2080        GENERAL_ERROR = 0x7fffff
2081    }
2082}
2083
2084macro_attr! {
2085    #[group!(TagGroup::WBD)]
2086    #[allow(non_camel_case_types, dead_code)]
2087    #[repr(u32)]
2088    pub enum WBD {
2089        START_SCAN = 0x000001,
2090        IS_SCANNING = 0x000002,
2091        CREATE_WB = 0x000003,
2092        CANCEL_CAN = 0x000004,
2093        DELETE_WALL_BOX = 0x000005,
2094        GENERAL_ERROR = 0x7fffff
2095    }
2096}
2097
2098macro_attr! {
2099    #[group!(TagGroup::REFU)]
2100    #[allow(non_camel_case_types, dead_code)]
2101    #[repr(u32)]
2102    pub enum REFU {
2103        START_SCAN = 0x000001,
2104        IS_SCANNING = 0x000002,
2105        CREATE_INV = 0x000003,
2106        CANCEL_CAN = 0x000004,
2107        DELETE_INVERTER = 0x000005,
2108        NO_INVERTERS = 0x000006,
2109        CONNECTED_DEVICES = 0x000008,
2110        PARAM_MAC = 0x400001,
2111        PARAM_IP = 0x400002,
2112        PARAM_ALIVE = 0x400003,
2113        PARAM_INDEX = 0x400004,
2114        PARAM_DHCP = 0x400005,
2115        GENERAL_ERROR = 0x7fffff
2116    }
2117}
2118
2119macro_attr! {
2120    #[group!(TagGroup::OVP)]
2121    #[allow(non_camel_case_types, dead_code)]
2122    #[repr(u32)]
2123    pub enum OVP {
2124        PARAM_STATUS = 0x000001,
2125        PARAM_RESET = 0x000002,
2126        STATUS = 0x000003,
2127        RESET = 0x000004,
2128        PARAM_INDEX = 0x400001,
2129        GENERAL_ERROR = 0x7fffff
2130    }
2131}
2132
2133macro_attr! {
2134    #[group!(TagGroup::NETWORK)]
2135    #[allow(non_camel_case_types, dead_code)]
2136    #[repr(u32)]
2137    pub enum NETWORK {
2138        PING = 0x000001,
2139        INFO = 0x000002,
2140        DIAGNOSE = 0x000003,
2141        SET_IP = 0x000004,
2142        SET_SUBNETMASK = 0x000005,
2143        SET_GATEWAY = 0x000006,
2144        SET_DNS_SERVER = 0x000007,
2145        SET_DHCP = 0x000008,
2146        MAKE_INFO_FILE = 0x000009,
2147        CHECK_INTERNET_SPEED = 0x00000a,
2148        PARAM_IP = 0x400001,
2149        PARAM_SUBNETMASK = 0x400002,
2150        PARAM_GATEWAY = 0x400003,
2151        PARAM_DNS_SERVER = 0x400004,
2152        PARAM_DHCP = 0x400005,
2153        PARAM_MAC_ADDRESS = 0x400006,
2154        PARAM_E3DC_SERVER_REACHABLE = 0x400007,
2155        PARAM_DNS_SERVER_REACHABLE = 0x400008,
2156        PARAM_DNS_LOOKUP_WORKING = 0x400009,
2157        PARAM_GATEWAY_REACHABLE = 0x40000a,
2158        PARAM_SYSTEM_IP_VALID = 0x40000b,
2159        PARAM_CABLE_CONNECTED = 0x40000c,
2160        PARAM_INTERNET_SPEED = 0x40000d,
2161        GENERAL_ERROR = 0x7fffff
2162    }
2163}
2164
2165macro_attr! {
2166    #[group!(TagGroup::WBAUTH)]
2167    #[allow(non_camel_case_types, dead_code)]
2168    #[repr(u32)]
2169    pub enum WBAUTH {
2170        VERIFY_SESSION = 0x000000,
2171        WALLBOX_ID = 0x400001,
2172        SESSION_ID = 0x400002,
2173        VERIFICATION_ENTRY = 0x400003,
2174        ENTRY_TYPE = 0x400004,
2175        ENTRY_DATA = 0x400005,
2176        VERIFICATION_RESULT = 0x400006,
2177        ENTRY_SWAPPED = 0x400007,
2178        GENERAL_ERROR = 0x7fffff
2179    }
2180}
2181
2182macro_attr! {
2183    #[group!(TagGroup::PLAY)]
2184    #[allow(non_camel_case_types, dead_code)]
2185    #[repr(u32)]
2186    pub enum PLAY {
2187        DATA = 0x000001,
2188        SEND_TIME = 0x400001,
2189        GENERAL_ERROR = 0x7fffff
2190    }
2191}
2192
2193macro_attr! {
2194    #[group!(TagGroup::GDI)]
2195    #[allow(non_camel_case_types, dead_code)]
2196    #[repr(u32)]
2197    pub enum GDI {
2198        KEY_2 = 0x000000,
2199        PUSH_DESC = 0x000001,
2200        PARAM_CONTENT_DESC = 0x400001,
2201        PUSH_DATA = 0x400002,
2202        PUSH_DATA_OKAY = 0x400003,
2203        PARAM_CONTENT = 0x400004,
2204        METADATA = 0x400005,
2205        DATADESCRIPTIONS = 0x400006,
2206        DATALOGGING = 0x400007,
2207        LOGGINGTYPE = 0x400008,
2208        HASHSUM = 0x400009,
2209        DATATYPE = 0x40000a,
2210        INDEX = 0x40000b,
2211        NAME = 0x40000c,
2212        DATATYPE_BOOL = 0x500001,
2213        DATATYPE_INT8 = 0x500002,
2214        DATATYPE_UINT8 = 0x500003,
2215        DATATYPE_INT16 = 0x500004,
2216        DATATYPE_UINT16 = 0x500005,
2217        DATATYPE_UINT32 = 0x500006,
2218        DATATYPE_INT32 = 0x500007,
2219        DATATYPE_INT64 = 0x500008,
2220        DATATYPE_UINT64 = 0x500009,
2221        DATATYPE_FLOAT32 = 0x50000a,
2222        DATATYPE_DOUBLE64 = 0x50000b,
2223        DATATYPE_BITFIELD = 0x50000c,
2224        DATATYPE_CSTRING = 0x50000d,
2225        CONTAINER = 0x50000e,
2226        DATATYPE_TIMESTAMP = 0x50000f,
2227        DATATYPE_BYTEARRAY = 0x500010,
2228        DATATYPE_COMPRESSED_BYTEARRAY = 0x500011,
2229        DATA_INDEXKEY = 0x500100,
2230        INDEXKEY = 0x500101,
2231        LOKAL_STORING = 0x500104,
2232        LOKAL_STORING_AVG = 0x500105,
2233        LOKAL_STORING_MOD = 0x500106,
2234        LOKAL_STORING_AVG_MOD = 0x500107,
2235        PUSH_STORING = 0x500108,
2236        PUSH_STORING_AVG = 0x500109,
2237        PUSH_STORING_MOD = 0x50010a,
2238        PUSH_STORING_AVG_MOD = 0x50010b,
2239        DATA_TIMEKEY = 0x50010c,
2240        DATA_MANIFEST = 0x50010d,
2241        PAKET_NUMBER = 0x50010e,
2242        PUSH_INTERMISSION_IN_SEC = 0x50010f,
2243        DESC_VERSION = 0x500110,
2244        LOGDESCRIPTIONS = 0x500111,
2245        DIAGNOSEDESCRIPTIONS = 0x500112,
2246        KEYS = 0x500113,
2247        KEY_PRIMARY = 0x500114,
2248        OFFSET = 0x500115,
2249        LENGTH = 0x500116,
2250        SNAPSHOT = 0x500117,
2251        RESOLUTION = 0x500118,
2252        SIZE = 0x500119,
2253        TRIGGER_ON_INTERVAL = 0x50011a,
2254        TRIGGER_ON_CHANGE = 0x50011b,
2255        DELAY = 0x50011c,
2256        ENTITY_MAX = 0x50011d,
2257        USE_PUSH_SERVICE = 0x50011e,
2258        DB_MAX = 0x50011f,
2259        USE_P_DB = 0x500120,
2260        FIX_INTERVAL = 0x500121,
2261        TRIGGER_ON_TIME = 0x500122,
2262        DATA_LENGTH = 0x500123,
2263        TRIGGER_ON_NULL = 0x500124,
2264        USE_NP_DB = 0x500125,
2265        NO_TRIGGER_ON_NULL = 0x500126,
2266        MODIFICATIONS = 0x500127,
2267        MODIFICATION_MIN = 0x500128,
2268        MODIFICATION_MAX = 0x500129,
2269        MODIFICATION_AVG = 0x50012a,
2270        MODIFICATION_AND = 0x50012b,
2271        MODIFICATION_OR = 0x50012c,
2272        MODIFICATION_INTEGRATE = 0x50012d,
2273        MODIFICATION_AUTOINC = 0x50012e,
2274        DESCRIPTION = 0x50012f,
2275        DESCRIPTION_WITH_SIZE = 0x500130,
2276        GDI_TRIGGER_ON_CHANGE = 0x500131,
2277        DATA_MODIFICATION = 0x500132,
2278        PUSH_CONFIG = 0x500133,
2279        PUSH_DELAY = 0x500134,
2280        PUSH_CHANNEL = 0x500135,
2281        GENERAL_ERROR = 0x7fffff
2282    }
2283}
2284
2285macro_attr! {
2286    #[group!(TagGroup::SCM)]
2287    #[allow(non_camel_case_types, dead_code)]
2288    #[repr(u32)]
2289    pub enum SCM {
2290        SET_CONFIG = 0x000001,
2291        ACCEPTED_CONFIG_FILE_VERSION = 0x000002,
2292        CONFIG_PROCESSED_STATE = 0x000003,
2293        REQ_CONFIG_PROCESSED_STATE = 0x000004,
2294        REQ_ACCEPTED_CONFIG_FILE_VERSION = 0x000005,
2295        SET_CONFIG_RESET = 0x000006,
2296        LC_GET_TYPE_MEASURE = 0x000007,
2297        LC_GET_POWER_MGT_CONFIG = 0x000008,
2298        LC_SET_TYPE_MEASURE = 0x000009,
2299        LC_SET_POWER_MGT_CONFIG = 0x00000a,
2300        CONFIG_ID = 0x400001,
2301        CONFIG_FILE_VALID = 0x400002,
2302        LC_PARAM_POWER_MGT_TYPE = 0x400003,
2303        LC_PARAM_TOKEN = 0x400004,
2304        LC_PARAM_MAIN_FUSE = 0x400005,
2305        LC_PARAM_MAX_CURRENT = 0x400006,
2306        LC_PARAM_PHASE_COUNT = 0x400007,
2307        LC_PARAM_MEASURE_TYPE = 0x400008,
2308        LC_PARAM_CT_RATIO = 0x400009,
2309        LC_PARAM_METER_ADDRESS = 0x40000a,
2310        LC_PARAM_STATUS = 0x40000b,
2311        LC_PARAM_MAIN_FUSE_DERATED = 0x40000c,
2312        PARAM_EXT_LOAD_SHEDDING_ACTIVE = 0x40000d,
2313        PARAM_LOAD_SHEDDING_INPUT_ADDRESS = 0x40000e,
2314        GENERAL_ERROR = 0x7fffff
2315    }
2316}
2317
2318macro_attr! {
2319    #[group!(TagGroup::EEBUS)]
2320    #[allow(non_camel_case_types, dead_code)]
2321    #[repr(u32)]
2322    pub enum EEBUS {
2323        LIST_AVAILABLE_DEVICES = 0x000001,
2324        LIST_CONNECTED_DEVICES = 0x000002,
2325        LIST_ASSOCIATED_DEVICE = 0x000003,
2326        LIST_NON_PAIRED_DEVICE_TYPE_EVCS = 0x000004,
2327        SET_SEARCH_ACTIVE = 0x000005,
2328        ASSOCIATE_DEVICE_TYPE_EVCS = 0x000006,
2329        APPLY_WB_PRECONFIG = 0x000007,
2330        LIST_USECASE = 0x000008,
2331        EMOBILITY_WB_GET_EVSE_LIST_USECASE = 0x010000,
2332        EMOBILITY_WB_EV_GET_EV_LIST_USECASE = 0x010001,
2333        EMOBILITY_WB_GET_EVSE_MANUFACTURER_INFO = 0x010002,
2334        EMOBILITY_WB_EV_GET_EV_MANUFACTURER_INFO = 0x010003,
2335        EMOBILITY_WB_EV_GET_CHARGING_POWER_LIMITS = 0x010004,
2336        EMOBILITY_WB_EV_GET_IDENTIFICATION = 0x010005,
2337        EMOBILITY_WB_EV_GET_SLEEP_MODE = 0x010006,
2338        EMOBILITY_WB_EV_GET_ASYMMETRIC_CHARGING_SUPPORTED = 0x010007,
2339        EMOBILITY_WB_EV_GET_COMMUNICATION_STANDARD = 0x010008,
2340        EMOBILITY_WB_EV_GET_CURRENT_MEASUREMENT_CONSTRAINTS = 0x010010,
2341        EMOBILITY_WB_EV_GET_POWER_MEASUREMENT_CONSTRAINTS = 0x010011,
2342        EMOBILITY_WB_EV_GET_ENERGY_MEASUREMENT_CONSTRAINTS = 0x010012,
2343        EMOBILITY_WB_EV_GET_CHARGING_MEASUREMENT_CONSTRAINTS = 0x010013,
2344        EMOBILITY_WB_EV_GET_CHARGING_CURRENT_MEASUREMENT = 0x010014,
2345        EMOBILITY_WB_EV_GET_CHARGING_POWER_MEASUREMENT = 0x010015,
2346        EMOBILITY_WB_EV_GET_CHARGING_ENERGY_MEASUREMENT = 0x010017,
2347        EMOBILITY_WB_EV_GET_CHARGING_MEASUREMENT = 0x010018,
2348        EMOBILITY_WB_EV_GET_CHARGING_CURRENT_CONSTRAINTS = 0x010020,
2349        EMOBILITY_WB_EV_GET_OVERLOAD_CHARGING_CURRENT_LIMIT = 0x010021,
2350        EMOBILITY_WB_EV_GET_DATA = 0x01fffe,
2351        EMOBILITY_WB_GET_DATA = 0x01ffff,
2352        PARAM_DEVICE = 0x400001,
2353        PARAM_SHIP_ID = 0x400002,
2354        PARAM_SKI = 0x400003,
2355        PARAM_DEVICE_ID = 0x400004,
2356        PARAM_EEBUS_ID = 0x400005,
2357        PARAM_GENERIC_AC_PHASE = 0x400006,
2358        PARAM_GENERIC_MANUFACTURER_INFO = 0x400007,
2359        PARAM_GENERIC_MEASUREMENT_CONSTRAINTS = 0x400008,
2360        PARAM_GENERIC_USECASE_NAME = 0x400009,
2361        PARAM_GENERIC_USECASE_ENABLED = 0x40000a,
2362        PARAM_GENERIC_USECASE = 0x40000b,
2363        PARAM_GENERIC_MANUFACTURER_INFO_DEVICE_NAME = 0x40000c,
2364        PARAM_GENERIC_MANUFACTURER_INFO_DEVICE_CODE = 0x40000d,
2365        PARAM_GENERIC_MANUFACTURER_INFO_SERIAL_NUMBER = 0x40000e,
2366        PARAM_GENERIC_MANUFACTURER_INFO_HARDWARE_REVISION = 0x40000f,
2367        PARAM_GENERIC_MANUFACTURER_INFO_SOFTWARE_REVISION = 0x400010,
2368        PARAM_GENERIC_MANUFACTURER_INFO_VENDOR_NAME = 0x400011,
2369        PARAM_GENERIC_MANUFACTURER_INFO_VENDOR_CODE = 0x400012,
2370        PARAM_GENERIC_MANUFACTURER_INFO_BRAND_NAME = 0x400013,
2371        PARAM_GENERIC_MANUFACTURER_INFO_MANUFACTURER_LABEL = 0x400014,
2372        PARAM_GENERIC_MANUFACTURER_INFO_MANUFACTURER_DESCRIPTION = 0x400015,
2373        PARAM_GENERIC_MANUFACTURER_INFO_MANUFACTURER_NODE_IDENTIFICATION = 0x400016,
2374        PARAM_GENERIC_MEASUREMENT_CONSTRAINTS_MIN = 0x400017,
2375        PARAM_GENERIC_MEASUREMENT_CONSTRAINTS_MAX = 0x400018,
2376        PARAM_GENERIC_MEASUREMENT_CONSTRAINTS_STEP_SIZE = 0x400019,
2377        PARAM_GENERIC_SIGNIFICANT_NUMBER = 0x40001a,
2378        PARAM_GENERIC_SCALE_NUMBER = 0x40001b,
2379        PARAM_GENERIC_LOAD_LIMIT_ACTIVATED = 0x40001c,
2380        PARAM_GENERIC_LOAD_LIMIT_VALUE = 0x40001d,
2381        PARAM_EMOBILITY_EV_ID = 0x410000,
2382        PARAM_EMOBILITY_EV_IDENTIFICATION_VALUE = 0x410001,
2383        PARAM_EMOBILITY_EV_IDENTIFICATION_TYPE = 0x410002,
2384        PARAM_EMOBILITY_POWER_LIMITS_MIN = 0x410003,
2385        PARAM_EMOBILITY_POWER_LIMITS_MAX = 0x410004,
2386        PARAM_EMOBILITY_POWER_LIMITS_STANDBY_POWER = 0x410005,
2387        PARAM_EMOBILITY_CHARGING_MEASUREMENT_CONSTRAINT_PER_PHASE = 0x410006,
2388        PARAM_EMOBILITY_CHARGING_MEASUREMENT = 0x410007,
2389        PARAM_EMOBILITY_CHARGING_MEASUREMENT_PER_PHASE = 0x410008,
2390        PARAM_EMOBILITY_CHARGING_CURRENT_CONSTRAINTS_MIN = 0x410009,
2391        PARAM_EMOBILITY_CHARGING_CURRENT_CONSTRAINTS_MAX = 0x41000a,
2392        PARAM_EMOBILITY_CHARGING_CURRENT_CONSTRAINTS_DISCRETE_VALUE = 0x41000b,
2393        PARAM_EMOBILITY_CHARGING_CURRENT_CONSTRAINTS_PER_PHASE = 0x41000c,
2394        PARAM_EMOBILITY_SLEEP_MODE = 0x41000d,
2395        PARAM_EMOBILITY_ASYMMETRIC_CHARGING_SUPPORTED = 0x41000e,
2396        PARAM_EMOBILITY_COMMUNICATION_STANDARD = 0x41000f,
2397        PARAM_EMOBILITY_CHARGING_CURRENT_LIMIT_PER_PHASE = 0x410010,
2398        GENERAL_ERROR = 0x7fffff
2399    }
2400}
2401
2402macro_attr! {
2403    #[group!(TagGroup::SDSA)]
2404    #[allow(non_camel_case_types, dead_code)]
2405    #[repr(u32)]
2406    pub enum SDSA {
2407        STATUS_FILE = 0x000001,
2408        GENERAL_ERROR = 0x7fffff
2409    }
2410}
2411
2412macro_attr! {
2413    #[group!(TagGroup::ETH)]
2414    #[allow(non_camel_case_types, dead_code)]
2415    #[repr(u32)]
2416    pub enum ETH {
2417        SET_SEARCH_ACTIVE = 0x000001,
2418        LIST_NON_CONNECTED_DEVICES = 0x000002,
2419        CONNECT_TO_DEVICE = 0x000003,
2420        IS_SCANNING = 0x000004,
2421        DISCONNECT_FROM_DEVICE = 0x000005,
2422        LIST_CONNECTED_DEVICES = 0x000006,
2423        APPLY_WB_PRECONFIG = 0x000007,
2424        PARAM_SEARCH_ACTIVE = 0x400001,
2425        PARAM_AUTO_ACCEPT = 0x400002,
2426        PARAM_EXTERN_CONFIGURATOR_DEVICE_ID = 0x400003,
2427        PARAM_AUTO_ACCEPT_VALUES = 0x400004,
2428        PARAM_DEVICE = 0x400005,
2429        PARAM_DEVICE_NAME = 0x400006,
2430        PARAM_SERIAL_NUMBER = 0x400007,
2431        PARAM_LOCAL_ID = 0x400008,
2432        PARAM_MAC_ADDRESS = 0x400009,
2433        PARAM_IP_ADDRESS = 0x40000a,
2434        PARAM_TIMEOUT = 0x40000b,
2435        PARAM_DISCONNECTED = 0x40000c,
2436        PARAM_CONNECTION_SUCCESS = 0x40000d,
2437        PARAM_DEVICE_ID = 0x40000e,
2438        PARAM_NUMBER_OF_DEVICES = 0x40000f,
2439        GENERAL_ERROR = 0x7fffff
2440    }
2441}
2442
2443macro_attr! {
2444    #[group!(TagGroup::LCT)]
2445    #[allow(non_camel_case_types, dead_code)]
2446    #[repr(u32)]
2447    pub enum LCT {
2448        PARAM_DURATION = 0x000000,
2449        START_NGROK = 0x000001,
2450        GET_IS_NGROK_RUNNING = 0x000002,
2451        GET_IS_GTOU_ACCEPTED = 0x000003,
2452        SET_GTOU_ACCEPTED = 0x000004,
2453        SD_GET_MEM_INFO = 0x000005,
2454        SD_GET_MOF_HEAP = 0x000006,
2455        SD_GET_UP_TIME = 0x000007,
2456        PARAM_STATUS = 0x400001,
2457        PARAM_NGROK_HOSTNAME = 0x400002,
2458        PARAM_GTOU_ACCEPTED = 0x400003,
2459        PARAM_TOKEN = 0x400004,
2460        SD_PARAM_MEM_FREE = 0x400005,
2461        SD_PARAM_MEM_CACHED = 0x400006,
2462        SD_PARAM_MEM_WD_FREE = 0x400007,
2463        SD_PARAM_MEM_BUFFER = 0x400008,
2464        SD_PARAM_SYNC_TIME = 0x400009,
2465        GENERAL_ERROR = 0x7fffff
2466    }
2467}
2468
2469macro_attr! {
2470    #[group!(TagGroup::HG_OCPP_WB_CFG_LC)]
2471    #[allow(non_camel_case_types, dead_code)]
2472    #[repr(u32)]
2473    pub enum HG_OCPP_WB_CFG_LC {
2474        SET_START_SCAN = 0x000001,
2475        GET_NON_CONFIGURED_HAG_EVCS = 0x000002,
2476        SET_CONFIGURE_HAG_EVCS = 0x000003,
2477        SET_CONFIGURE_ALL_HAG_EVCS = 0x000004,
2478        SET_START_AUTO_CONFIG = 0x000005,
2479        GET_LLM_URI = 0x000006,
2480        PARAM_TOKEN = 0x400001,
2481        PARAM_STATUS = 0x400002,
2482        PARAM_EVCS_DEVICE = 0x400003,
2483        PARAM_EVCS_DEVICE_HOSTNAME = 0x400004,
2484        PARAM_EVCS_DEVICE_IP = 0x400005,
2485        PARAM_EVCS_DEVICE_STATUS = 0x400006,
2486        PARAM_RUN = 0x400007,
2487        PARAM_MAX_ACCEPTED = 0x400008,
2488        PARAM_ACCEPTED = 0x400009,
2489        PARAM_ACCEPTED_HAGER = 0x40000a,
2490        PARAM_UNDERWAY = 0x40000b,
2491        PARAM_LLM_URI = 0x40000c,
2492        GENERAL_ERROR = 0x7fffff
2493    }
2494}
2495
2496macro_attr! {
2497    #[group!(TagGroup::OCPP_WB_LC)]
2498    #[allow(non_camel_case_types, dead_code)]
2499    #[repr(u32)]
2500    pub enum OCPP_WB_LC {
2501        SET_ACCEPTANCE_RULE = 0x000001,
2502        GET_NON_ACCEPTED_EVCS = 0x000002,
2503        GET_ACCEPTED_EVCS = 0x000003,
2504        SET_ACCEPT_EVCS = 0x000004,
2505        SET_ACCEPT_ALL_EVCS = 0x000005,
2506        SET_BADGE_STRATEGY = 0x000006,
2507        SET_BADGE_ACQUISITION_MODE_START = 0x000007,
2508        SET_BADGE_ACQUISITION_MODE_STOP = 0x000008,
2509        GET_ACCEPTANCE_RULE = 0x000009,
2510        GET_BADGE_STRATEGY = 0x00000a,
2511        GET_ACCEPTED_EVCS_EXTENDED = 0x00000b,
2512        GET_EVCS_AVAILABLE_PARAMETERS_PROFILES = 0x00000c,
2513        GET_EVCS_DEVICE_ADVANCED_SETTINGS = 0x00000d,
2514        SET_EVCS_DEVICES_PARAMETERS = 0x00000e,
2515        SET_REMOVE_WB = 0x00000f,
2516        SET_FACTORY_RESET = 0x000010,
2517        GET_WALLBOXES_COUNT = 0x000011,
2518        GET_MAX_WALLBOXES_COUNT = 0x000012,
2519        GET_AVAILABLE_CPO_LIST = 0x000013,
2520        SET_CPO_BUTTON_STATE = 0x000014,
2521        GET_CPO_BUTTON_STATE = 0x000015,
2522        SET_CLEAN_CPO_SETTINGS = 0x000016,
2523        SET_CPO_MODE = 0x000017,
2524        SET_CPO_SETTINGS = 0x000018,
2525        GET_CPO_SETTINGS = 0x000019,
2526        GET_EVCS_DEVICE_CPO_CONNECTABLE = 0x00001a,
2527        SET_EVCS_DEVICE_CPO_CONNECTABLE = 0x00001b,
2528        GET_CPO_MODE = 0x00001c,
2529        GET_EVCS_CHARGING_SESSION_HISTORY_NB = 0x00001d,
2530        GET_EVCS_CHARGING_SESSION_HISTORY = 0x00001e,
2531        GET_EVCS_CHARGING_SESSIONS_ACTIVE = 0x00001f,
2532        GET_BADGES_PER_EVCS = 0x000020,
2533        SET_BADGES_PER_EVCS = 0x000021,
2534        GET_EVCS_LIST_PER_BADGE = 0x000022,
2535        SET_EVCS_LIST_PER_BADGE = 0x000023,
2536        PARAM_TOKEN = 0x400001,
2537        PARAM_ACCEPTANCE_RULE_VAL = 0x400002,
2538        PARAM_STATUS = 0x400003,
2539        PARAM_EVCS_DEVICE = 0x400004,
2540        PARAM_EVCS_DEVICE_HOSTNAME = 0x400005,
2541        PARAM_EVCS_DEVICE_IP = 0x400006,
2542        PARAM_EVCS_DEVICE_OCPP_ID = 0x400007,
2543        PARAM_EVCS_DEVICE_STATUS = 0x400008,
2544        PARAM_BADGE_STRATEGY = 0x400009,
2545        PARAM_EVCS_DEVICE_CONNECTOR = 0x40000a,
2546        PARAM_EVCS_DEVICE_CONNECTOR_ID = 0x40000b,
2547        PARAM_EVCS_DEVICE_CONNECTOR_PLUG_TYPE = 0x40000c,
2548        PARAM_EVCS_DEVICE_CONNECTOR_MAX_CURRENT_PER_PHASE = 0x40000d,
2549        PARAM_EVCS_DEVICE_CONNECTOR_MIN_CURRENT_PER_PHASE = 0x40000e,
2550        PARAM_EVCS_DEVICE_CONNECTOR_AUTH_OFFLINE_CHARGE_SESS = 0x40000f,
2551        PARAM_EVCS_DEVICE_OCPP_SETTINGS = 0x400010,
2552        PARAM_EVCS_DEVICE_OCPP_ACCEPT_UNKNOWN_OFFLINE_AUTH = 0x400011,
2553        PARAM_EVCS_DEVICE_OCPP_AUTHORIZATION_CACHE_ENABLED = 0x400012,
2554        PARAM_EVCS_DEVICE_OCPP_REMOTE_TRANSACTION_ENABLED = 0x400013,
2555        PARAM_EVCS_DEVICE_OCPP_BLINKS_NUMBER = 0x400014,
2556        PARAM_EVCS_DEVICE_OCPP_CLOCK_ALIGNED_DATA_INTERVAL = 0x400015,
2557        PARAM_EVCS_DEVICE_OCPP_CONNECTION_TIMEOUT = 0x400016,
2558        PARAM_EVCS_DEVICE_OCPP_CONNECTOR_PHASE_ROTATION = 0x400017,
2559        PARAM_EVCS_DEVICE_OCPP_HEARTBEAT_INTERVAL = 0x400018,
2560        PARAM_EVCS_DEVICE_OCPP_LIGHT_INTENSITY = 0x400019,
2561        PARAM_EVCS_DEVICE_OCPP_LOCAL_AUTHORIZE_OFFLINE = 0x40001a,
2562        PARAM_EVCS_DEVICE_OCPP_LOCAL_PRE_AUTHORIZE = 0x40001b,
2563        PARAM_EVCS_DEVICE_OCPP_MAX_ENERGY_ON_INVALID_ID = 0x40001c,
2564        PARAM_EVCS_DEVICE_PHASE_MAPPING = 0x40001d,
2565        PARAM_EVCS_DEVICE_CLUSTER_NAME = 0x40001e,
2566        PARAM_EVCS_DEVICE_NAME = 0x40001f,
2567        PARAM_EVCS_DEVICE_CONFIG_STATUS = 0x400020,
2568        PARAM_EVCS_PARAMETERS_PROFILE = 0x400021,
2569        PARAM_EVCS_DEVICE_DEFAULT_CHARGING_PROFILE = 0x400022,
2570        PARAM_EVCS_DEVICE_PLUG_TYPE_PER_CONNECTOR = 0x400023,
2571        PARAM_EVCS_DEVICE_ID = 0x400024,
2572        PARAM_EVCS_DEVICE_STATE = 0x400025,
2573        PARAM_WB_COUNT = 0x400026,
2574        PARAM_EVCS_DEVICE_CONNECTOR_COUNT = 0x400027,
2575        PARAM_CPO_INFO = 0x400028,
2576        PARAM_CPO_NAME = 0x400029,
2577        PARAM_CPO_URI = 0x40002a,
2578        PARAM_CPO_BUTTON = 0x40002b,
2579        PARAM_CPO_MODE = 0x40002c,
2580        PARAM_SETTINGS = 0x40002d,
2581        PARAM_CREDENTIALS = 0x40002e,
2582        PARAM_LOGIN = 0x40002f,
2583        PARAM_PASSWORD = 0x400030,
2584        PARAM_AUTH_TYPE = 0x400031,
2585        PARAM_CPO_ADDRESS = 0x400032,
2586        PARAM_CPO_PORT = 0x400033,
2587        PARAM_CPO_PATH = 0x400034,
2588        PARAM_CPO_UUID = 0x400035,
2589        PARAM_EVCS_CHARGING_SESSION_START_DATE = 0x400036,
2590        PARAM_EVCS_CHARGING_SESSION_STOP_DATE = 0x400037,
2591        PARAM_EVCS_CHARGING_SESSION_HISTORY_NB = 0x400038,
2592        PARAM_EVCS_CHARGING_SESSION_HISTORY = 0x400039,
2593        PARAM_EVCS_BADGE_ID = 0x40003a,
2594        PARAM_EVCS_BADGE_COMMENT = 0x40003b,
2595        PARAM_EVCS_ENERGY_CHARGED = 0x40003c,
2596        PARAM_EVCS_END_DATE = 0x40003d,
2597        PARAM_EVCS_TRANSACTION_ID = 0x40003e,
2598        PARAM_IS_EVCS_CHARGING_SESSIONS_ACTIVE = 0x40003f,
2599        PARAM_EVCS_DEVICE_CPO_CONFIG_STATUS = 0x400041,
2600        PARAM_EVCS_DEVICE_ASSOCIATED = 0x400042,
2601        PARAM_EVCS_DEVICE_BADGE = 0x400044,
2602        PARAM_EVCS_BADGE_ASSOCIATED = 0x400045,
2603        PARAM_EVCS_BADGE_MASK = 0x400048,
2604        PARAM_EVCS_BADGE_MASK_INDEX = 0x400049,
2605        GENERAL_ERROR = 0x7fffff
2606    }
2607}
2608
2609macro_attr! {
2610    #[group!(TagGroup::WB_BADGE_MGT_LC)]
2611    #[allow(non_camel_case_types, dead_code)]
2612    #[repr(u32)]
2613    pub enum WB_BADGE_MGT_LC {
2614        SET_ADD_BADGE = 0x000001,
2615        SET_REMOVE_BADGE = 0x000002,
2616        GET_BADGE = 0x000003,
2617        SET_BADGE_PARAM = 0x000004,
2618        GET_BADGES_COUNT = 0x000005,
2619        PARAM_TOKEN = 0x400001,
2620        PARAM_BADGE = 0x400002,
2621        PARAM_BADGE_ID = 0x400003,
2622        PARAM_BADGE_ROLE = 0x400004,
2623        PARAM_BADGE_EXP_DATE = 0x400005,
2624        PARAM_BADGE_COMMENT = 0x400006,
2625        PARAM_BADGE_BLOCKED = 0x400007,
2626        PARAM_BADGE_MAIL = 0x400008,
2627        PARAM_STATUS = 0x400009,
2628        PARAM_FILTER_BLOCKED = 0x40000a,
2629        PARAM_FILTER_NON_BLOCKED = 0x40000b,
2630        PARAM_FILTER_ROLE_EQ = 0x40000c,
2631        PARAM_FILTER_ROLE_NEQ = 0x40000d,
2632        PARAM_FILTER_BADGE_ID = 0x40000e,
2633        PARAM_FILTER_COMMENT = 0x40000f,
2634        PARAM_FILTER_MAIL = 0x400010,
2635        PARAM_FILTER_EXP_DATE_BEFORE = 0x400011,
2636        PARAM_FILTER_EXP_DATE_AFTER = 0x400012,
2637        PARAM_BADGES_COUNT = 0x400013,
2638        PARAM_BADGE_MASK_INDEX = 0x400014,
2639        GENERAL_ERROR = 0x7fffff
2640    }
2641}
2642
2643macro_attr! {
2644    #[group!(TagGroup::LC_USR_MGT_LC)]
2645    #[allow(non_camel_case_types, dead_code)]
2646    #[repr(u32)]
2647    pub enum LC_USR_MGT_LC {
2648        GET_LOGIN = 0x000001,
2649        GET_PROFILE_BY_TOKEN = 0x000002,
2650        SET_ADD_USER_OR_CHG_PWD = 0x000003,
2651        SET_UPDATE_USER_ACCOUNT = 0x000004,
2652        SET_ENABLE_PUBLIC_ACCESS = 0x000005,
2653        SET_DISABLE_PUBLIC_ACCESS = 0x000006,
2654        SET_REMOVE_USER = 0x000007,
2655        GET_PUBLIC_ACCESS_STATE = 0x000008,
2656        SET_DISCONNECT_USER = 0x000009,
2657        GET_USERS_LIST = 0x00000a,
2658        GET_USER_RELATED_INFO = 0x00000b,
2659        GET_LOGIN_PUBLIC_USER = 0x00000c,
2660        GET_USERS_COUNT = 0x00000d,
2661        PARAM_TOKEN = 0x400001,
2662        PARAM_USER = 0x400002,
2663        PARAM_LOGIN = 0x400003,
2664        PARAM_PWD = 0x400004,
2665        PARAM_STATUS = 0x400005,
2666        PARAM_ROLE = 0x400006,
2667        PARAM_NAME = 0x400007,
2668        PARAM_FIRST_NAME = 0x400008,
2669        PARAM_STREET = 0x400009,
2670        PARAM_ZIP = 0x40000a,
2671        PARAM_CITY = 0x40000b,
2672        PARAM_COUNTRY = 0x40000c,
2673        PARAM_EMAIL = 0x40000d,
2674        PARAM_PHONE = 0x40000e,
2675        PARAM_EMAIL_DISPLAYED = 0x40000f,
2676        PARAM_PHONE_DISPLAYED = 0x400010,
2677        PARAM_PUBLIC_ACCESS_STATE = 0x400011,
2678        PARAM_USERS_COUNT = 0x400012,
2679        GENERAL_ERROR = 0x7fffff
2680    }
2681}
2682
2683macro_attr! {
2684    #[group!(TagGroup::DASHBOARD_LC)]
2685    #[allow(non_camel_case_types, dead_code)]
2686    #[repr(u32)]
2687    pub enum DASHBOARD_LC {
2688        GET_SYSTEM_INFO = 0x000001,
2689        GET_CONSUMPTIONS = 0x000002,
2690        GET_CHARGING_SESSIONS = 0x000003,
2691        GET_SUPPORT_CONTACTS = 0x000004,
2692        PARAM_TOKEN = 0x400001,
2693        PARAM_POWER_MGT_TYPE = 0x400002,
2694        PARAM_MAX_CURRENT_PER_PHASE = 0x400003,
2695        PARAM_WALLBOXES_COUNT = 0x400004,
2696        PARAM_BADGE_STRATEGY = 0x400005,
2697        PARAM_BADGES_COUNT = 0x400006,
2698        PARAM_STATUS = 0x400007,
2699        PARAM_CONSUMPTION_TOTAL_EVSE = 0x400008,
2700        PARAM_CONSUMPTION_TOTAL_EVSE_PHASE_L1 = 0x400009,
2701        PARAM_CONSUMPTION_TOTAL_EVSE_PHASE_L2 = 0x40000a,
2702        PARAM_CONSUMPTION_TOTAL_EVSE_PHASE_L3 = 0x40000b,
2703        PARAM_CONSUMPTION_OVERALL = 0x40000c,
2704        PARAM_CONSUMPTION_OVERALL_PHASE_L1 = 0x40000d,
2705        PARAM_CONSUMPTION_OVERALL_PHASE_L2 = 0x40000e,
2706        PARAM_CONSUMPTION_OVERALL_PHASE_L3 = 0x40000f,
2707        PARAM_WB_SESSION = 0x400010,
2708        PARAM_WB_LABEL = 0x400011,
2709        PARAM_WB_HOSTNAME = 0x400012,
2710        PARAM_WB_MAC_ADDRESS = 0x400013,
2711        PARAM_WB_STATE = 0x400014,
2712        PARAM_WB_SESSION_ACTIVE_SEC = 0x400015,
2713        PARAM_WB_SESSION_INACTIVE_SEC = 0x400016,
2714        PARAM_WB_SESSION_BADGE_ID = 0x400017,
2715        PARAM_WB_CONNECTOR = 0x400018,
2716        PARAM_WB_CONNECTOR_ID = 0x400019,
2717        PARAM_WB_CONNECTOR_TYPE = 0x40001a,
2718        PARAM_WB_CONNECTOR_STATUS = 0x40001b,
2719        PARAM_WB_CONNECTOR_ERROR_MSG = 0x40001c,
2720        PARAM_WB_CONNECTOR_PHASE_L1 = 0x40001d,
2721        PARAM_WB_CONNECTOR_PHASE_L2 = 0x40001e,
2722        PARAM_WB_CONNECTOR_PHASE_L3 = 0x40001f,
2723        PARAM_WB_CONNECTOR_PHASE_LIMIT = 0x400020,
2724        PARAM_WB_CONNECTOR_ENERGY_CHARGED = 0x400021,
2725        PARAM_CONTACT = 0x400022,
2726        PARAM_CONTACT_NAME = 0x400023,
2727        PARAM_CONTACT_FIRST_NAME = 0x400024,
2728        PARAM_CONTACT_PHONE = 0x400025,
2729        PARAM_CONTACT_EMAIL = 0x400026,
2730        PARAM_CONTACT_ROLE = 0x400027,
2731        PARAM_CONTACT_TYPE = 0x400028,
2732        GENERAL_ERROR = 0x7fffff
2733    }
2734}
2735
2736macro_attr! {
2737    #[group!(TagGroup::UMRC)]
2738    #[allow(non_camel_case_types, dead_code)]
2739    #[repr(u32)]
2740    pub enum UMRC {
2741        REQ_FILE_LIST = 0x000104,
2742        REQ_MD5_HASH = 0x000105,
2743        REQ_FILE_CONTENT = 0x000106,
2744        CREATE_FOLDER = 0x000107,
2745        APPEND_FILE_CONTENT = 0x000108,
2746        RENAME_FILE = 0x000109,
2747        DELETE_FILE = 0x00010d,
2748        DELETE_FOLDER = 0x00010e,
2749        SHOW_MSG = 0x00010f,
2750        UM_AVAILABLE = 0x000110,
2751        CHK_SW = 0x00a001,
2752        RESTART = 0x00a005,
2753        REQ_MD5 = 0x00a006,
2754        MD5 = 0x00b005,
2755        FOLDER_NAME = 0x00b007,
2756        FILE = 0x00b008,
2757        TYPE = 0x00b009,
2758        SIZE = 0x00b00a,
2759        VALUE = 0x00b00c,
2760        INDEX_FROM = 0x00b00d,
2761        INDEX_UNTIL = 0x00b00e,
2762        DATA_LEN = 0x00b00f,
2763        DATA = 0x00b010,
2764        SRC_FILE = 0x00b011,
2765        DST_FILE = 0x00b012,
2766        FILE_LIST = 0x080104,
2767        MD5_HASH = 0x080105,
2768        FILE_CONTENT = 0x080106,
2769        FOLDER_CREATED = 0x080107,
2770        FILE_CONTENT_APPENDED = 0x080108,
2771        FILE_RENAMED = 0x08010a,
2772        FILE_DELETED = 0x08010d,
2773        FOLDER_DELETED = 0x08010e,
2774        MSG_SHOWN = 0x08010f,
2775        MD5_RSP = 0x08a006,
2776        GENERAL_ERROR = 0x7fffff
2777    }
2778}
2779
2780macro_attr! {
2781    #[group!(TagGroup::LOG)]
2782    #[allow(non_camel_case_types, dead_code)]
2783    #[repr(u32)]
2784    pub enum LOG {
2785        REQ_LOGGER = 0x00a001,
2786        REQ_SET_LEVEL = 0x00a002,
2787        LOG = 0x00a003,
2788        NOTIFY_REGISTERED = 0x00a004,
2789        PAR_LEVEL = 0x00b001,
2790        PAR_NAME = 0x00b002,
2791        PAR_CONTENT = 0x00b003,
2792        PAR_TIME = 0x00b004,
2793        PAR_SERVER_ID = 0x00b005,
2794        LOGGER = 0x08a001,
2795        SET_LEVEL = 0x08a002,
2796        GENERAL_ERROR = 0x7fffff
2797    }
2798}
2799
2800macro_attr! {
2801    #[group!(TagGroup::DCL)]
2802    #[allow(non_camel_case_types, dead_code)]
2803    #[repr(u32)]
2804    pub enum DCL {
2805        RM_ENTRY = 0x000af0,
2806        CL_LIST = 0x00a001,
2807        INSERT_CL_MSG = 0x00a002,
2808        REQ_REGISTER_ON_DEVICE = 0x00a003,
2809        SESSION_ID = 0x00b001,
2810        GROUP_ID = 0x00b002,
2811        USER_ID = 0x00b003,
2812        TIME = 0x00b004,
2813        USERNAME = 0x00b005,
2814        TICKET_REF = 0x00b006,
2815        DESCRIPTION = 0x00b007,
2816        SERIALNO = 0x00b008,
2817        LOCAL_ADDRESS = 0x00b009,
2818        ADD_CL_ELEMENT = 0x08a001,
2819        ADD_CL_SESSION = 0x08a002,
2820        REGISTER_ON_DEVICE = 0x08a003,
2821        GENERAL_ERROR = 0x7fffff
2822    }
2823}
2824
2825macro_attr! {
2826    #[group!(TagGroup::CL)]
2827    #[allow(non_camel_case_types, dead_code)]
2828    #[repr(u32)]
2829    pub enum CL {
2830        CLIENT_LIST_AVAILABLE = 0x00a001,
2831        CLIENT_LIST = 0x00a002,
2832        REQ_CONNECTED_USER = 0x00a004,
2833        REQ_INET_ADDR = 0x00a005,
2834        REQ_CONNECTION_TIME = 0x00a006,
2835        REQ_DIAG = 0x00a007,
2836        UPDATE = 0x00a008,
2837        FILTER_TYPE = 0x00b001,
2838        LIST_FILTER = 0x00b002,
2839        DEVICE_TYPE = 0x00b003,
2840        SERIALNO = 0x00b004,
2841        PRODUCTION_DATE = 0x00b005,
2842        MAC_ADDRESS = 0x00b006,
2843        IP_ADDRESS = 0x00b007,
2844        SUBNET_MASK = 0x00b008,
2845        GATEWAY = 0x00b009,
2846        DNS = 0x00b010,
2847        DHCP_STATUS = 0x00b011,
2848        SYSTEM_TIME = 0x00b012,
2849        TIME_ZONE = 0x00b013,
2850        UTC_TIME = 0x00b014,
2851        A35_SERIALNO = 0x00b015,
2852        REG_ID = 0x00b016,
2853        IS_ONLINE = 0x00b017,
2854        USERNAME = 0x00b018,
2855        PARAM_DIAG = 0x00b019,
2856        LIST_LIMIT = 0x00b01a,
2857        ADD_CLIENT = 0x08a002,
2858        REMOVE_CLIENT = 0x08a003,
2859        CONNECTED_USER = 0x08a004,
2860        INET_ADDR = 0x08a005,
2861        CONNECTION_TIME = 0x08a006,
2862        DIAG = 0x08a007,
2863        GENERAL_ERROR = 0x7fffff
2864    }
2865}
2866
2867macro_attr! {
2868    #[group!(TagGroup::DBRC)]
2869    #[allow(non_camel_case_types, dead_code)]
2870    #[repr(u32)]
2871    pub enum DBRC {
2872        SET_SERVICE_PRIO = 0x000001,
2873        REMOVE_SERVICE_PRIO = 0x000002,
2874        SW_RELEASE_LIST = 0x000003,
2875        USERNAME = 0x000004,
2876        DEVICE_LIST_AVAILABLE = 0x00a000,
2877        DEVICE_LIST = 0x00a001,
2878        USER_DATA = 0x00a002,
2879        ADDRESS = 0x00a003,
2880        REQ_MY_PERMISSIONS = 0x00a004,
2881        LOCK_DEVICE = 0x00a005,
2882        UNLOCK_DEVICE = 0x00a006,
2883        LOCK_STATE = 0x00a007,
2884        UPDATE_MACROS = 0x00a008,
2885        MACROS = 0x00a009,
2886        REQ_BAT_ANALYSED = 0x00a021,
2887        REQ_BAT_ANALYSED2 = 0x00a022,
2888        REQ_BAT_ANALYSED3 = 0x00a023,
2889        REQ_BAT_ANALYSED4 = 0x00a024,
2890        SERIALNO = 0x00b001,
2891        INIT_CHECK = 0x00b002,
2892        TFO = 0x00b003,
2893        INSTALL_DATE = 0x00b004,
2894        OWNER_ID = 0x00b005,
2895        ADDRESS_ID = 0x00b006,
2896        INSTALLER_ID = 0x00b007,
2897        SW_RELEASE = 0x00b008,
2898        DEVICE_TYPE = 0x00b009,
2899        FILTER_TYPE = 0x00b00a,
2900        FILTER = 0x00b00b,
2901        COUPLING_MODE = 0x00b010,
2902        TUNNEL_PORT = 0x00b011,
2903        M_SPEC_ID = 0x00b012,
2904        M_SPEC_CATEGORY = 0x00b013,
2905        M_SPEC_USER_REF = 0x00b014,
2906        M_SPEC_ORDER_INDEX = 0x00b015,
2907        M_DEF_SMD_ID = 0x00b016,
2908        M_DEF_NAME = 0x00b017,
2909        M_DEF_LEVEL = 0x00b018,
2910        M_DEF_NR_PARAM = 0x00b019,
2911        M_DEF_DESCR = 0x00b020,
2912        M_DEF_CMD = 0x00b021,
2913        M_DEF_SPEC_REF = 0x00b022,
2914        M_DEF_ORDER_INDEX = 0x00b023,
2915        M_DEF_SYS_CMD = 0x00b024,
2916        DB_ENTRY_HEADER = 0x00b041,
2917        DB_ENTRY_ROWS = 0x00b042,
2918        DB_ENTRY_ROW = 0x00b043,
2919        VALUE = 0x00b044,
2920        BAT_ANALYSE_ID = 0x00b045,
2921        DONE = 0x00b046,
2922        BPM_TYPE = 0x00b047,
2923        DCB_TYPE = 0x00b048,
2924        NR_DCB = 0x00b049,
2925        ANALYSE_TYPE = 0x00b050,
2926        SN_FROM = 0x00b051,
2927        SN_UNTIL = 0x00b052,
2928        INSTALLED_FROM = 0x00b053,
2929        INSTALLED_UNTIL = 0x00b054,
2930        PARAM_ID = 0x040001,
2931        PARAM_UD_USERNAME = 0x040002,
2932        PARAM_UD_NAME = 0x040003,
2933        PARAM_UD_PRENAME = 0x040004,
2934        PARAM_UD_IPIN = 0x040005,
2935        PARAM_UD_LEVEL = 0x040006,
2936        PARAM_UD_ID_PRIVATE_ADDR = 0x040007,
2937        PARAM_UD_ID_FIRM_ADDR = 0x040008,
2938        PARAM_ADR_PLZ = 0x040009,
2939        PARAM_ADR_PLACE = 0x04000a,
2940        PARAM_ADR_GPS_LATITUDE = 0x04000b,
2941        PARAM_ADR_GPS_LONGITUE = 0x04000c,
2942        PARAM_ADR_PHONE = 0x04000d,
2943        PARAM_ADR_EMAIL = 0x04000e,
2944        PARAM_ADR_ADDRESS = 0x04000f,
2945        PARAM_ADR_COUNTRY = 0x040010,
2946        PERMISSION = 0x040011,
2947        PARAM_DCDC_TYPE = 0x040012,
2948        PARAM_LAST_IP = 0x040013,
2949        PARAM_PVI_TYPE = 0x040014,
2950        PARAM_PVI_HW = 0x040015,
2951        ADD_DEVICE = 0x08a001,
2952        ADD_USER = 0x08a002,
2953        ADD_ADDRESS = 0x08a003,
2954        MY_PERMISSIONS = 0x08a004,
2955        DEV_LOCK_STATE = 0x08a007,
2956        MACRO_SPEC = 0x08a009,
2957        MACRO_DEV = 0x08a00a,
2958        BAT_ANALYSED = 0x08a021,
2959        BAT_ANALYSED2 = 0x08a022,
2960        BAT_ANALYSED3 = 0x08a023,
2961        BAT_ANALYSED4 = 0x08a024,
2962        SERVICE_PRIORITY = 0x400001,
2963        SW_RELEASE_ENTRY = 0x400002,
2964        PARAM_SW_RELEASE_NAME = 0x400003,
2965        PARAM_SW_RELEASE_UPDATE_PLATFORM = 0x400004,
2966        UPDATE_PLATFORM = 0x400005,
2967        PARAM_SERVICE_PRIO_EXPIRATION = 0x400006,
2968        PARAM_SERIALNO = 0x400007,
2969        GENERAL_ERROR = 0x7fffff
2970    }
2971}
2972
2973macro_attr! {
2974    #[group!(TagGroup::SERVER)]
2975    #[allow(non_camel_case_types, dead_code)]
2976    #[repr(u32)]
2977    pub enum SERVER {
2978        REGISTER_CONNECTION = 0x00a001,
2979        UNREGISTER_CONNECTION = 0x00a002,
2980        RSCP_CMD = 0x00a003,
2981        REQ_PING = 0x00a004,
2982        NEW_VIRTUAL_CONNECTION = 0x00a005,
2983        REQ_IS_RC_SERVER_CONNECTED = 0x00a00a,
2984        CONNECTION_ID = 0x00b001,
2985        AUTH_LEVEL = 0x00b002,
2986        STATUS = 0x00b003,
2987        RSCP_DATA_LEN = 0x00b004,
2988        RSCP_DATA = 0x00b005,
2989        TYPE = 0x00b006,
2990        HASH_CODE = 0x00b007,
2991        USER = 0x00b008,
2992        PASSWD = 0x00b009,
2993        IDENTIFIER = 0x00b010,
2994        CONNECTION_REGISTERED = 0x08a001,
2995        CONNECTION_UNREGISTERED = 0x08a002,
2996        RSCP_CMD_RESP = 0x08a003,
2997        PING = 0x08a004,
2998        IS_RC_SERVER_CONNECTED = 0x08a00a,
2999        GENERAL_ERROR = 0x7fffff
3000    }
3001}
3002
3003macro_attr! {
3004    #[group!(TagGroup::SYS_CMD)]
3005    #[allow(non_camel_case_types, dead_code)]
3006    #[repr(u32)]
3007    pub enum SYS_CMD {
3008        FB = 0x000001,
3009        REQ_SYSTEM_REBOOT = 0x000005,
3010        REQ_SYSTEM_KILL = 0x000006,
3011        REQ_SERVER_SOCKETS = 0x000007,
3012        REQ_SYS_EXECUTE = 0x000010,
3013        REQ_SYS_EXECUTE_CANCEL = 0x000011,
3014        REQ_SHELL_REGISTER = 0x000012,
3015        REQ_SHELL_UNREGISTER = 0x000013,
3016        REQ_SHELL_IN = 0x000014,
3017        REQ_SHELL_OUT = 0x000015,
3018        REGISTER_REMOTE_DEBUG = 0x000016,
3019        UNREGISTER_REMOTE_DEBUG = 0x000017,
3020        ALL_DEBUG_DEVICES = 0x000018,
3021        ADD_DEBUG_DEVICE = 0x000019,
3022        SET_LEVEL = 0x000020,
3023        REMOVE_DEBUG_DEVICE = 0x000021,
3024        LOG_MSG = 0x000022,
3025        REQ_INLINE_SYS_EXECUTE = 0x000023,
3026        REQ_VIRTUAL_CONNECTIONS = 0x000024,
3027        REQ_SYS_EXECUTE_INTERACTIVE = 0x000026,
3028        REGISTER_SYS_OBSERVER = 0x000100,
3029        UNREGISTER_SYS_OBSERVER = 0x000101,
3030        REQ_CURRENT_FOLDER = 0x000102,
3031        REQ_LIST_ACTIVATOR_STATUS = 0x000103,
3032        REQ_FILE_LIST = 0x000104,
3033        REQ_MD5_HASH = 0x000105,
3034        REQ_FILE_CONTENT = 0x000106,
3035        CREATE_FOLDER = 0x000107,
3036        APPEND_FILE_CONTENT = 0x000108,
3037        RENAME_FILE = 0x000109,
3038        CREATE_SYM_LINK = 0x00010b,
3039        DELETE_FILE = 0x00010d,
3040        DELETE_FOLDER = 0x00010e,
3041        REGISTER_PROC_OBS = 0x000200,
3042        REQ_PROC_ID = 0x000203,
3043        REQ_PROC_FILE = 0x000204,
3044        REQ_PROC_LIST = 0x000205,
3045        UNREGISTER_PROC_OBS = 0x000206,
3046        REGISTER_PUSH_SERVICE = 0x000207,
3047        PUSH_SERVICE_ID = 0x000208,
3048        PUSH_MESSAGE = 0x000209,
3049        PUSH_SERVICE_IDRL = 0x000210,
3050        PUSH_MESSAGE_CONTENT = 0x000211,
3051        UNREGISTER_PUSH_SERVICE = 0x000212,
3052        NAME = 0x00b001,
3053        ID = 0x00b002,
3054        LEVEL = 0x00b003,
3055        MESSAGE = 0x00b004,
3056        STATUS = 0x00b005,
3057        VERSION = 0x00b006,
3058        FOLDER_NAME = 0x00b007,
3059        FILE = 0x00b008,
3060        TYPE = 0x00b009,
3061        SIZE = 0x00b00a,
3062        VALUE = 0x00b00c,
3063        INDEX_FROM = 0x00b00d,
3064        INDEX_UNTIL = 0x00b00e,
3065        DATA_LEN = 0x00b00f,
3066        DATA = 0x00b010,
3067        SRC_FILE = 0x00b011,
3068        DST_FILE = 0x00b012,
3069        LAST_ACCESS = 0x00b013,
3070        LAST_MODIFICATION = 0x00b014,
3071        LAST_STATUS_CHANGE = 0x00b015,
3072        PROC_LIST_ENTRY = 0x00b016,
3073        PROC_LIST_CURR_FOLDER = 0x00b017,
3074        INJECT_TOUCH_EVENT = 0x00b018,
3075        SYSTEM_REBOOT = 0x080005,
3076        SYSTEM_KILL = 0x080006,
3077        SERVER_SOCKETS = 0x080007,
3078        SSOCKET = 0x080008,
3079        SYS_EXECUTE = 0x080010,
3080        SYS_EXECUTE_CANCEL = 0x080011,
3081        SHELL_REGISTER = 0x080012,
3082        SHELL_UNREGISTER = 0x080013,
3083        SHELL_IN = 0x080014,
3084        SHELL_OUT = 0x080015,
3085        REMOTE_DEBUG_REGISTERED = 0x080016,
3086        REMOTE_DEBUG_UNREGISTERED = 0x080017,
3087        INLINE_SYS_EXECUTE = 0x080023,
3088        VIRTUAL_CONNECTIONS = 0x080024,
3089        VIRTUAL_CONNECTION = 0x080025,
3090        SYS_EXECUTE_INTERACTIVE = 0x080026,
3091        SYS_OBSERVER_REGISTERED = 0x080100,
3092        SYS_OBSERVER_UNREGISTERED = 0x080101,
3093        CURRENT_FOLDER = 0x080102,
3094        LIST_ACTIVATOR_STATUS = 0x080103,
3095        FILE_LIST = 0x080104,
3096        MD5_HASH = 0x080105,
3097        FILE_CONTENT = 0x080106,
3098        FOLDER_CREATED = 0x080107,
3099        FILE_CONTENT_APPENDED = 0x080108,
3100        FILE_RENAMED = 0x08010a,
3101        SYM_LINK_CREATED = 0x08010b,
3102        FILE_DELETED = 0x08010d,
3103        FOLDER_DELETED = 0x08010e,
3104        PROC_OBS_REGISTERED = 0x080200,
3105        PROC_ID = 0x080203,
3106        PROC_FILE = 0x080204,
3107        PROC_LIST = 0x080205,
3108        PROC_OBS_UNREGISTERED = 0x080206,
3109        ACTIVATOR_STATUS = 0x090103,
3110        PARAM_FB_SCREEN_WIDTH = 0x400001,
3111        PARAM_FB_SCREEN_HEIGHT = 0x400002,
3112        PARAM_FB_BPS = 0x400003,
3113        PARAM_FB_RAW_DATA = 0x400004,
3114        PARAM_FB_SCALE = 0x400005,
3115        PARAM_INJECT_TOUCH_EVENT_POS_Y = 0x400006,
3116        PARAM_INJECT_TOUCH_EVENT_POS_X = 0x400007,
3117        PARAM_FB_ALIGNMENT = 0x400008,
3118        PARAM_FB_INTERPOLATE = 0x400009,
3119        GENERAL_ERROR = 0x7fffff
3120    }
3121}
3122
3123macro_attr! {
3124    #[group!(TagGroup::DB_SERVICE)]
3125    #[allow(non_camel_case_types, dead_code)]
3126    #[repr(u32)]
3127    pub enum DB_SERVICE {
3128        S10_SYS_INFO = 0x000001,
3129        SET_S10_SYS_INFO = 0x000002,
3130        NOTIFY_REGISTERED = 0x000003,
3131        SET_RELEASE_LATEST = 0x000004,
3132        SYNC_CONFIG_TO_TARGET = 0x000005,
3133        PARAM_SERIALNO = 0x00b001,
3134        PARAM_TIMESTAMP_INIT_CHECK = 0x00b002,
3135        PARAM_TIMESTAMP_FIRST_ONLINE = 0x00b003,
3136        PARAM_TIMESTAMP_INSTALL_DATE = 0x00b004,
3137        PARAM_SW_RELEASE = 0x00b005,
3138        PARAM_ACC_KEY_STATUS = 0x00b006,
3139        PARAM_DEVICE_TYPE = 0x00b007,
3140        PARAM_COUPLING_MODE = 0x00b008,
3141        PARAM_TUNNEL_PORT = 0x00b009,
3142        PARAM_SW_UPDATE_DISABLED = 0x00b010,
3143        PARAM_HW_UPDATE_DISABLED = 0x00b011,
3144        PARAM_COMMENT = 0x00b012,
3145        PARAM_LAST_UPDATE = 0x00b013,
3146        PARAM_HIDE_FROM_DL = 0x00b014,
3147        PARAM_ERR_CODE = 0x00b015,
3148        PARAM_TIMESTAMP_LAST_ONLINE = 0x00b016,
3149        PARAM_REPORTED_SW_RELEASE = 0x00b017,
3150        PARAM_REPORTED_SW_RELEASE_DATE = 0x00b018,
3151        PARAM_SW_UPDATE_LAST_CONNECT = 0x00b019,
3152        PARAM_UPDATE_PLATFORM = 0x00b01a,
3153        PARAM_HIDDEN = 0x00b01b,
3154        REMOVABLE_DEVICES = 0x00c001,
3155        REMOVABLE_DEVICE_NAME = 0x00c002,
3156        REMOVE_DEVICE = 0x00c003,
3157        TABLE_DATA = 0x00d001,
3158        TABLE_NAME = 0x00d002,
3159        TABLE_MAX_COLUMNS = 0x00d003,
3160        TABLE_INCLUDE_METADATA = 0x00d004,
3161        TABLE_COLUMNS = 0x00d005,
3162        TABLE_COLUMN = 0x00d006,
3163        TABLE_COLUMN_NAME = 0x00d007,
3164        TABLE_COLUMN_TYPE = 0x00d008,
3165        TABLE_DATA_ROWS = 0x00d009,
3166        TABLE_DATA_CONTENT = 0x00d00a,
3167        RESYNC = 0x00e001,
3168        RESYNC_FROM = 0x00e002,
3169        SYNC_CONFIG_PROPERTIES = 0x00e003,
3170        GENERAL_ERROR = 0x7fffff
3171    }
3172}
3173
3174macro_attr! {
3175    #[group!(TagGroup::DB_RECOVERY)]
3176    #[allow(non_camel_case_types, dead_code)]
3177    #[repr(u32)]
3178    pub enum DB_RECOVERY {
3179        FINISH = 0x000000,
3180        REQ_RECOVERY = 0x000001,
3181        SOURCE = 0x000002,
3182        TARGET = 0x000003,
3183        RECOVERY = 0x000004,
3184        ERROR = 0x000005,
3185        LOG = 0x000006,
3186        REQ_RECOVERY_CONFIRM = 0x000007,
3187        RECOVERY_CONFIRM = 0x000008,
3188        REQ_RECOVERY_CANCEL = 0x000009,
3189        CANDIDATE_LIST = 0x00000a,
3190        REQ_STATUS = 0x00000b,
3191        REQ_FINISH = 0x00000c,
3192        RECOVERY_CANCEL = 0x000010,
3193        PARAM_USER = 0x400001,
3194        PARAM_PASSWORD = 0x400002,
3195        PARAM_CANDIDATE_SERIAL = 0x400003,
3196        STATUS = 0x400004,
3197        PARAM_ID = 0x400005,
3198        GENERAL_ERROR = 0x7fffff
3199    }
3200}
3201
3202macro_attr! {
3203    #[group!(TagGroup::GROUP_CTRL)]
3204    #[allow(non_camel_case_types, dead_code)]
3205    #[repr(u32)]
3206    pub enum GROUP_CTRL {
3207        STATUS = 0x000001,
3208        GROUP_ID = 0x000002,
3209        READY = 0x000003,
3210        P_OPERATION_POINT = 0x000004,
3211        P_ACTUAL = 0x000005,
3212        FORECAST_60MINUTES = 0x000006,
3213        CONTROL = 0x000007,
3214        P_TARGET = 0x000008,
3215        ACTIVE = 0x000009,
3216        AWARD = 0x00000a,
3217        TIME = 0x00000b,
3218        GENERAL_ERROR = 0x7fffff
3219    }
3220}
3221
3222macro_attr! {
3223    #[group!(TagGroup::ADMIN)]
3224    #[allow(non_camel_case_types, dead_code)]
3225    #[repr(u32)]
3226    pub enum ADMIN {
3227        MESSAGE = 0x000001,
3228        ERROR = 0x000002,
3229        HISTORY_VALUES_AGGREGATION_RECALC = 0x000003,
3230        HISTORY_VALUES_AGGREGATION_STOP = 0x000004,
3231        POWER_METER_AGGREGATION_RECALC = 0x000005,
3232        POWER_METER_AGG_RECALC_STOP = 0x000006,
3233        SYSTEMERROR = 0x000007,
3234        SYSTEMERROR_CODES = 0x000008,
3235        ASSEMBLY_SERIAL_MAPPING = 0x000009,
3236        ASSEMBLY_SERIAL_HISTORY = 0x00000a,
3237        EXEC_CMD_TARGETS = 0x00000b,
3238        EXEC_CMD_RESPONSE = 0x00000c,
3239        PARAM_SN = 0x400001,
3240        PARAM_FROM = 0x400002,
3241        PARAM_TO = 0x400003,
3242        PARAM_PM_TYPE = 0x400004,
3243        PARAM_PM_ID = 0x400005,
3244        PARAM_ERRORCODE = 0x400006,
3245        PARAM_ERRORNAME = 0x400007,
3246        PARAM_ERRORDATE = 0x400008,
3247        PARAM_ERRORCOUNT = 0x400009,
3248        PARAM_ERRORDESCRIPTION = 0x40000a,
3249        PARAM_SERIALNO = 0x40000b,
3250        PARAM_ASSEMBLY_SERIAL = 0x40000c,
3251        PARAM_S10_SERIAL = 0x40000d,
3252        PARAM_TIMESTAMP = 0x40000e,
3253        ASSEMBLY_SERIAL_HISTORY_ENTRY = 0x40000f,
3254        PARAM_EXEC_CMD_REQUEST = 0x400010,
3255        PARAM_EXEC_CMD_RESPONSE = 0x400011,
3256        PARAM_EXEC_CMD_HASH = 0x400012,
3257        PARAM_EXEC_CMD_TARGET = 0x400013,
3258        GENERAL_ERROR = 0x7fffff
3259    }
3260}
3261
3262macro_attr! {
3263    #[group!(TagGroup::FINAL_CHECK)]
3264    #[allow(non_camel_case_types, dead_code)]
3265    #[repr(u32)]
3266    pub enum FINAL_CHECK {
3267        PARAM_TEST_PASSED_ON = 0x000000,
3268        REPORT_SAVED = 0x000001,
3269        SERIAL_FOR_ASSEMBLY = 0x000002,
3270        ERROR_MESSAGE = 0x000003,
3271        SERIAL_STATUS = 0x000004,
3272        SUBMIT_TEST_PROTOCOL = 0x000005,
3273        PARAM_SN = 0x400001,
3274        PARAM_STATUS = 0x400002,
3275        PARAM_START = 0x400003,
3276        PARAM_END = 0x400004,
3277        PARAM_META = 0x400005,
3278        PARAM_LOG = 0x400006,
3279        PARAM_TICKET = 0x400007,
3280        DEVICE_PROPERTY = 0x400008,
3281        DEVICE_PROPERTY_MODULE_NAME = 0x400009,
3282        DEVICE_PROPERTY_PROP_NAME = 0x40000a,
3283        DEVICE_PROPERTY_ACTUAL_VALUE = 0x40000b,
3284        PARAM_ASSEMBLY_SERIAL = 0x40000c,
3285        PARAM_SERIAL_NUMBER = 0x40000d,
3286        ERROR_TAG_REFERENCE = 0x40000e,
3287        ERROR_TEXT = 0x40000f,
3288        PARAM_TEST_STATUS = 0x400011,
3289        PARAM_SUBMITTED_ON = 0x400012,
3290        PARAM_PROTOCOL = 0x400013,
3291        PARAM_PROTOCOL_SAVED = 0x400014,
3292        PARAM_TEST_PASSED = 0x400016,
3293        GENERAL_ERROR = 0x7fffff
3294    }
3295}
3296
3297/// ################################################
3298///      TEST TEST TEST
3299/// ################################################
3300
3301#[test]
3302fn test_tag_group() {
3303    assert_eq!(RSCP::AUTHENTICATION.to_string(), "RSCP_AUTHENTICATION", "Test fmt::Display");
3304    assert_eq!(RSCP::from(0x01u32), RSCP::AUTHENTICATION, "Test From<u32>");
3305    assert_eq!(Into::<u32>::into(RSCP::AUTHENTICATION), 0x01u32, "Test Into<u32>");
3306    assert_eq!(RSCP::from(0xffffffffu32), RSCP::GENERAL_ERROR, "Test From Unknown<u32>");
3307}
3308
3309#[test]
3310fn test_tag_groups() {
3311    assert_eq!(TagGroup::from(0x00), TagGroup::RSCP, "Test From<u8>");
3312    assert_eq!(TagGroup::RSCP.tags(0x01u32), "RSCP_AUTHENTICATION", "Test tags(u32)");
3313    // 0xee is currently unused
3314    assert_eq!(TagGroup::from(0xee), TagGroup::UNKNOWN, "Test From Unknown<u32>");
3315}