@@ -79,7 +79,10 @@ private static void WriteClass(Cluster cluster, StreamWriter writer)
7979
8080 writer . WriteLine ( " // Attributes" ) ;
8181 foreach ( var attribute in cluster . attributes )
82- WriteAttribute ( attribute , writer ) ;
82+ {
83+ if ( attribute . type != null )
84+ WriteAttribute ( attribute , writer ) ;
85+ }
8386
8487 writer . WriteLine ( " }" ) ;
8588 writer . Write ( "}" ) ;
@@ -93,10 +96,12 @@ private static void WriteStruct(clusterCommand command, bool toServer, StreamWri
9396 writer . WriteLine ( $ " { ( toServer ? "private record" : "public struct" ) } " + GeneratorUtil . SanitizeName ( command . name ) + ( toServer ? "Payload : TLVPayload {" : " {" ) ) ;
9497 foreach ( clusterCommandField field in command . field )
9598 {
99+ if ( field . type == null ) //Reserved/removed fields
100+ continue ;
96101 writer . Write ( " public " ) ;
97102 if ( field . optionalConform == null )
98103 writer . Write ( "required " ) ;
99- WriteType ( field . type , null , writer ) ;
104+ WriteType ( field . type , field . entry ? . type , writer ) ;
100105 if ( field . optionalConform != null )
101106 writer . Write ( "?" ) ;
102107 if ( field . name == GeneratorUtil . SanitizeName ( command . name ) )
@@ -208,9 +213,9 @@ private static void WriteStructType(bool optional, string type, byte id, string
208213 case "uint56" :
209214 case "uint64" :
210215 case "epoch-us" :
211- case "posix-ms " :
216+ case "ref_DataTypePosixMs " :
212217 case "systime-us" :
213- case "systime-ms " :
218+ case "ref_DataTypeSystemTimeMs " :
214219 case "fabric-id" :
215220 case "node-id" :
216221 case "EUI64" :
@@ -225,11 +230,11 @@ private static void WriteStructType(bool optional, string type, byte id, string
225230 writer . WriteLine ( $ "{ totalIndent } writer.WriteDouble({ id } , { name } );") ;
226231 break ;
227232 case "octstr" :
228- case "ipadr " :
229- case "ipv4adr " :
230- case "ipv6adr " :
233+ case "ref_IpAdr " :
234+ case "ref_Ipv4Adr " :
235+ case "ref_Ipv6Adr " :
231236 case "ipv6pre" :
232- case "hwadr " :
237+ case "Hardware Address " :
233238 writer . WriteLine ( $ "{ totalIndent } writer.WriteBytes({ id } , { name } );") ;
234239 break ;
235240 case "string" :
@@ -274,8 +279,12 @@ private static void WriteCommands(Cluster cluster, StreamWriter writer)
274279 {
275280 foreach ( var field in cmd . field )
276281 {
282+ if ( field . type == null )
283+ continue ;
277284 writer . Write ( ", " ) ;
278- WriteType ( field . type , null , writer ) ;
285+ WriteType ( field . type , field . entry ? . type , writer ) ;
286+ if ( field . optionalConform != null )
287+ writer . Write ( '?' ) ;
279288 writer . Write ( " " + field . name ) ;
280289 }
281290 }
@@ -290,7 +299,7 @@ private static void WriteCommands(Cluster cluster, StreamWriter writer)
290299 }
291300 else
292301 {
293- if ( cmd . response ! = "N" )
302+ if ( cmd . response = = "N" )
294303 writer . WriteLine ( " await InteractionManager.SendCommand(session, endPoint, CLUSTER_ID, " + cmd . id + ");" ) ;
295304 else
296305 writer . WriteLine ( " InvokeResponseIB resp = await InteractionManager.ExecCommand(session, endPoint, CLUSTER_ID, " + cmd . id + ");" ) ;
@@ -308,7 +317,7 @@ private static void WriteCommands(Cluster cluster, StreamWriter writer)
308317 foreach ( var field in response . field )
309318 {
310319 writer . Write ( " " + field . name + " = (" ) ;
311- WriteType ( field . type , null , writer ) ;
320+ WriteType ( field . type , field . entry ? . type , writer ) ;
312321 if ( field . optionalConform != null )
313322 writer . WriteLine ( $ "?)GetOptionalField(resp, { field . id } ),") ;
314323 else
@@ -439,9 +448,9 @@ private static void WriteType(string type, string? entryType, StreamWriter write
439448 case "uint56" :
440449 case "uint64" :
441450 case "epoch-us" :
442- case "posix-ms " :
451+ case "ref_DataTypePosixMs " :
443452 case "systime-us" :
444- case "systime-ms " :
453+ case "ref_DataTypeSystemTimeMs " :
445454 case "fabric-id" :
446455 case "node-id" :
447456 case "EUI64" :
@@ -479,11 +488,11 @@ private static void WriteType(string type, string? entryType, StreamWriter write
479488 writer . Write ( "float" ) ;
480489 break ;
481490 case "octstr" :
482- case "ipadr " :
483- case "ipv4adr " :
484- case "ipv6adr " :
491+ case "ref_IpAdr " :
492+ case "ref_Ipv4Adr " :
493+ case "ref_Ipv6Adr " :
485494 case "ipv6pre" :
486- case "hwadr " :
495+ case "Hardware Address " :
487496 writer . Write ( "byte[]" ) ;
488497 break ;
489498 case "bool" :
0 commit comments