zcl_se.h 219 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976
  1. /**************************************************************************************************
  2. Filename: zcl_se.h
  3. Revised: $Date: 2012-03-13 01:09:38 -0700 (Tue, 13 Mar 2012) $
  4. Revision: $Revision: 29723 $
  5. Description: This file contains the ZCL SE (Smart Energy) Profile definitions.
  6. Copyright 2007-2012 Texas Instruments Incorporated. All rights reserved.
  7. IMPORTANT: Your use of this Software is limited to those specific rights
  8. granted under the terms of a software license agreement between the user
  9. who downloaded the software, his/her employer (which must be your employer)
  10. and Texas Instruments Incorporated (the "License"). You may not use this
  11. Software unless you agree to abide by the terms of the License. The License
  12. limits your use, and you acknowledge, that the Software may not be modified,
  13. copied or distributed unless embedded on a Texas Instruments microcontroller
  14. or used solely and exclusively in conjunction with a Texas Instruments radio
  15. frequency transceiver, which is integrated into your product. Other than for
  16. the foregoing purpose, you may not use, reproduce, copy, prepare derivative
  17. works of, modify, distribute, perform, display or sell this Software and/or
  18. its documentation for any purpose.
  19. YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE
  20. PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
  21. INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE,
  22. NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL
  23. TEXAS INSTRUMENTS OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT,
  24. NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER
  25. LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
  26. INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE
  27. OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT
  28. OF SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
  29. (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
  30. Should you have any questions regarding your right to use this Software,
  31. contact Texas Instruments Incorporated at www.TI.com.
  32. **************************************************************************************************/
  33. #ifndef ZCL_SE_H
  34. #define ZCL_SE_H
  35. #ifdef __cplusplus
  36. extern "C"
  37. {
  38. #endif
  39. /*********************************************************************
  40. * INCLUDES
  41. */
  42. #include "zcl.h"
  43. /*********************************************************************
  44. * CONSTANTS
  45. */
  46. /********************************************/
  47. /*** SE Profile Attributes List ************/
  48. /********************************************/
  49. // Simple Metering Cluster Attribute Sets
  50. #define ATTRID_MASK_SE_READ_INFORMATION_SET 0x0000
  51. #define ATTRID_MASK_SE_TOU_INFORMATION_SET 0x0100
  52. #define ATTRID_MASK_SE_METER_STATUS 0x0200
  53. #define ATTRID_MASK_SE_FORMATTING 0x0300
  54. #define ATTRID_MASK_SE_HISTORICAL_CONSUMPTION 0x0400
  55. #define ATTRID_MASK_SE_LOAD_PROFILE_CONFIGURATION 0x0500
  56. #define ATTRID_MASK_SE_SUPPLY_LIMIT 0x0600
  57. #define ATTRID_MASK_SE_BLOCK_INFORMATION 0x0700
  58. #define ATTRID_MASK_SE_ALARMS 0x0800
  59. #define ATTRID_MASK_SE_BLOCK_INFORMATION_RECEIVED 0x0900
  60. #define ATTRID_MASK_SE_BILLING 0x0A00
  61. // Simple Metering Cluster - Reading Information Set Attributes 0x00
  62. #define ATTRID_SE_CURRENT_SUMMATION_DELIVERED ( 0x0000 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  63. #define ATTRID_SE_CURRENT_SUMMATION_RECEIVED ( 0x0001 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  64. #define ATTRID_SE_CURRENT_MAX_DEMAND_DELIVERED ( 0x0002 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  65. #define ATTRID_SE_CURRENT_MAX_DEMAND_RECEIVED ( 0x0003 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  66. #define ATTRID_SE_DFT_SUMMATION ( 0x0004 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  67. #define ATTRID_SE_DAILY_FREEZE_TIME ( 0x0005 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  68. #define ATTRID_SE_POWER_FACTOR ( 0x0006 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  69. #define ATTRID_SE_READING_SNAPSHOT_TIME ( 0x0007 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  70. #define ATTRID_SE_CURRENT_MAX_DEMAND_DELIVERD_TIME ( 0x0008 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  71. #define ATTRID_SE_CURRENT_MAX_DEMAND_RECEIVED_TIME ( 0x0009 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  72. #define ATTRID_SE_DEFAULT_UPDATE_PERIOD ( 0x000A | ATTRID_MASK_SE_READ_INFORMATION_SET )
  73. #define ATTRID_SE_FAST_POLL_UPDATE_PERIOD ( 0x000B | ATTRID_MASK_SE_READ_INFORMATION_SET )
  74. #define ATTRID_SE_CURRENT_BLOCK_PERIOD_CONSUMPTION_DELIVERED ( 0x000C | ATTRID_MASK_SE_READ_INFORMATION_SET )
  75. #define ATTRID_SE_DAILY_CONSUMPTION_TARGET ( 0x000D | ATTRID_MASK_SE_READ_INFORMATION_SET )
  76. #define ATTRID_SE_CURRENT_BLOCK ( 0x000E | ATTRID_MASK_SE_READ_INFORMATION_SET )
  77. #define ATTRID_SE_PROFILE_INTERVAL_PERIOD ( 0x000F | ATTRID_MASK_SE_READ_INFORMATION_SET )
  78. #define ATTRID_SE_INTERVAL_READ_REPORTING_PERIOD ( 0x0010 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  79. #define ATTRID_SE_PRESET_READING_TIME ( 0x0011 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  80. #define ATTRID_SE_VOLUME_PER_REPORT ( 0x0012 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  81. #define ATTRID_SE_FLOW_RESTRICTION ( 0x0013 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  82. #define ATTRID_SE_SUPPLY_STATUS ( 0x0014 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  83. #define ATTRID_SE_CURRENT_IN_ENERGY_CARRIER_SUMM ( 0x0015 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  84. #define ATTRID_SE_CURRENT_OUT_ENERGY_CARRIER_SUMM ( 0x0016 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  85. #define ATTRID_SE_INLET_TEMPREATURE ( 0x0017 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  86. #define ATTRID_SE_OUTLET_TEMPREATURE ( 0x0018 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  87. #define ATTRID_SE_CONTROL_TEMPREATURE ( 0x0019 | ATTRID_MASK_SE_READ_INFORMATION_SET )
  88. #define ATTRID_SE_CURRENT_IN_ENERGY_CARRIER_DEMAND ( 0x001A | ATTRID_MASK_SE_READ_INFORMATION_SET )
  89. #define ATTRID_SE_CURRENT_OUT_ENERGY_CARRIER_DEMAND ( 0x001B | ATTRID_MASK_SE_READ_INFORMATION_SET )
  90. #define ATTRID_SE_CURRENT_BLOCK_PERIOD_CONSUMPTION_RECEIVED ( 0x001D | ATTRID_MASK_SE_READ_INFORMATION_SET )
  91. #define ATTRID_SE_CURRENT_BLOCK_RECEIVED ( 0x001E | ATTRID_MASK_SE_READ_INFORMATION_SET )
  92. // Simple Metering Cluster - TOU Information Set Attributes 0x01
  93. #define ATTRID_SE_CURRENT_TIER1_SUMMATION_DELIVERED ( 0x0000 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  94. #define ATTRID_SE_CURRENT_TIER1_SUMMATION_RECEIVED ( 0x0001 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  95. #define ATTRID_SE_CURRENT_TIER2_SUMMATION_DELIVERED ( 0x0002 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  96. #define ATTRID_SE_CURRENT_TIER2_SUMMATION_RECEIVED ( 0x0003 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  97. #define ATTRID_SE_CURRENT_TIER3_SUMMATION_DELIVERED ( 0x0004 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  98. #define ATTRID_SE_CURRENT_TIER3_SUMMATION_RECEIVED ( 0x0005 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  99. #define ATTRID_SE_CURRENT_TIER4_SUMMATION_DELIVERED ( 0x0006 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  100. #define ATTRID_SE_CURRENT_TIER4_SUMMATION_RECEIVED ( 0x0007 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  101. #define ATTRID_SE_CURRENT_TIER5_SUMMATION_DELIVERED ( 0x0008 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  102. #define ATTRID_SE_CURRENT_TIER5_SUMMATION_RECEIVED ( 0x0009 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  103. #define ATTRID_SE_CURRENT_TIER6_SUMMATION_DELIVERED ( 0x000A | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  104. #define ATTRID_SE_CURRENT_TIER6_SUMMATION_RECEIVED ( 0x000B | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  105. #define ATTRID_SE_CURRENT_TIER7_SUMMATION_DELIVERED ( 0x000C | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  106. #define ATTRID_SE_CURRENT_TIER7_SUMMATION_RECEIVED ( 0x000D | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  107. #define ATTRID_SE_CURRENT_TIER8_SUMMATION_DELIVERED ( 0x000E | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  108. #define ATTRID_SE_CURRENT_TIER8_SUMMATION_RECEIVED ( 0x000F | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  109. #define ATTRID_SE_CURRENT_TIER9_SUMMATION_DELIVERED ( 0x0010 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  110. #define ATTRID_SE_CURRENT_TIER9_SUMMATION_RECEIVED ( 0x0011 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  111. #define ATTRID_SE_CURRENT_TIER10_SUMMATION_DELIVERED ( 0x0012 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  112. #define ATTRID_SE_CURRENT_TIER10_SUMMATION_RECEIVED ( 0x0013 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  113. #define ATTRID_SE_CURRENT_TIER11_SUMMATION_DELIVERED ( 0x0014 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  114. #define ATTRID_SE_CURRENT_TIER11_SUMMATION_RECEIVED ( 0x0015 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  115. #define ATTRID_SE_CURRENT_TIER12_SUMMATION_DELIVERED ( 0x0016 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  116. #define ATTRID_SE_CURRENT_TIER12_SUMMATION_RECEIVED ( 0x0017 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  117. #define ATTRID_SE_CURRENT_TIER13_SUMMATION_DELIVERED ( 0x0018 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  118. #define ATTRID_SE_CURRENT_TIER13_SUMMATION_RECEIVED ( 0x0019 | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  119. #define ATTRID_SE_CURRENT_TIER14_SUMMATION_DELIVERED ( 0x001A | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  120. #define ATTRID_SE_CURRENT_TIER14_SUMMATION_RECEIVED ( 0x001B | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  121. #define ATTRID_SE_CURRENT_TIER15_SUMMATION_DELIVERED ( 0x001C | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  122. #define ATTRID_SE_CURRENT_TIER15_SUMMATION_RECEIVED ( 0x001D | ATTRID_MASK_SE_TOU_INFORMATION_SET )
  123. // Simple Metering Cluster - Meter Status Attributes 0x02
  124. #define ATTRID_SE_STATUS ( 0x0000 | ATTRID_MASK_SE_METER_STATUS )
  125. #define ATTRID_SE_REMAINING_BATTERY_LIFE ( 0x0001 | ATTRID_MASK_SE_METER_STATUS )
  126. #define ATTRID_SE_HOURS_IN_OPERATION ( 0x0002 | ATTRID_MASK_SE_METER_STATUS )
  127. #define ATTRID_SE_HOURS_IN_FAULT ( 0x0003 | ATTRID_MASK_SE_METER_STATUS )
  128. #define ATTRID_SE_EXTENDED_STATUS ( 0x0004 | ATTRID_MASK_SE_METER_STATUS )
  129. // Simple Metering Cluster - Formatting Attributes 0x03
  130. #define ATTRID_SE_UNIT_OF_MEASURE ( 0x0000 | ATTRID_MASK_SE_FORMATTING )
  131. #define ATTRID_SE_MULTIPLIER ( 0x0001 | ATTRID_MASK_SE_FORMATTING )
  132. #define ATTRID_SE_DIVISOR ( 0x0002 | ATTRID_MASK_SE_FORMATTING )
  133. #define ATTRID_SE_SUMMATION_FORMATTING ( 0x0003 | ATTRID_MASK_SE_FORMATTING )
  134. #define ATTRID_SE_DEMAND_FORMATTING ( 0x0004 | ATTRID_MASK_SE_FORMATTING )
  135. #define ATTRID_SE_HISTORICAL_CONSUMPTION_FORMATTING ( 0x0005 | ATTRID_MASK_SE_FORMATTING )
  136. #define ATTRID_SE_METERING_DEVICE_TYPE ( 0x0006 | ATTRID_MASK_SE_FORMATTING )
  137. #define ATTRID_SE_SITE_ID ( 0x0007 | ATTRID_MASK_SE_FORMATTING )
  138. #define ATTRID_SE_METER_SERIAL_NUMBER ( 0x0008 | ATTRID_MASK_SE_FORMATTING )
  139. #define ATTRID_SE_ENERGY_CARRIER_UNIT_OF_MEASURE ( 0x0009 | ATTRID_MASK_SE_FORMATTING )
  140. #define ATTRID_SE_ENERGY_CARRIER_SUMM_FORMATTING ( 0x000A | ATTRID_MASK_SE_FORMATTING )
  141. #define ATTRID_SE_ENERGY_CARRIER_DEMAND_FORMATTING ( 0x000B | ATTRID_MASK_SE_FORMATTING )
  142. #define ATTRID_SE_TEMPERATURE_UNIT_OF_MEASURE ( 0x000C | ATTRID_MASK_SE_FORMATTING )
  143. #define ATTRID_SE_TEMPERATURE_FORMATTING ( 0x000D | ATTRID_MASK_SE_FORMATTING )
  144. #define ATTRID_SE_MODULE_SERIAL_NUMBER ( 0x000E | ATTRID_MASK_SE_FORMATTING )
  145. #define ATTRID_SE_OPERATING_TARIFF_LEVEL ( 0x000F | ATTRID_MASK_SE_FORMATTING )
  146. // Simple Metering Server Cluster - Historical Comsumption Attributes 0x04
  147. #define ATTRID_SE_INSTANTANEOUS_DEMAND ( 0x0000 | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  148. #define ATTRID_SE_CURRENTDAY_CONSUMPTION_DELIVERED ( 0x0001 | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  149. #define ATTRID_SE_CURRENTDAY_CONSUMPTION_RECEIVED ( 0x0002 | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  150. #define ATTRID_SE_PREVIOUSDAY_CONSUMPTION_DELIVERED ( 0x0003 | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  151. #define ATTRID_SE_PREVIOUSDAY_CONSUMPTION_RECEIVED ( 0x0004 | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  152. #define ATTRID_SE_CUR_PART_PROFILE_INT_START_TIME_DELIVERED ( 0x0005 | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  153. #define ATTRID_SE_CUR_PART_PROFILE_INT_START_TIME_RECEIVED ( 0x0006 | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  154. #define ATTRID_SE_CUR_PART_PROFILE_INT_VALUE_DELIVERED ( 0x0007 | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  155. #define ATTRID_SE_CUR_PART_PROFILE_INT_VALUE_RECEIVED ( 0x0008 | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  156. #define ATTRID_SE_CURRENT_DAY_MAX_PRESSURE ( 0x0009 | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  157. #define ATTRID_SE_CURRENT_DAY_MIN_PRESSURE ( 0x000A | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  158. #define ATTRID_SE_PREVIOUS_DAY_MAX_PRESSURE ( 0x000B | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  159. #define ATTRID_SE_PREVIOUS_DAY_MIN_PRESSURE ( 0x000C | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  160. #define ATTRID_SE_CURRENT_DAY_MAX_DEMAND ( 0x000D | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  161. #define ATTRID_SE_PREVIOUS_DAY_MAX_DEMAND ( 0x000E | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  162. #define ATTRID_SE_CURRENT_MONTH_MAX_DEMAND ( 0x000F | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  163. #define ATTRID_SE_CURRENT_YEAR_MAX_DEMAND ( 0x0010 | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  164. #define ATTRID_SE_CURRENTDAY_MAX_ENERGY_CARR_DEMAND ( 0x0011 | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  165. #define ATTRID_SE_PREVIOUSDAY_MAX_ENERGY_CARR_DEMAND ( 0x0012 | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  166. #define ATTRID_SE_CUR_MONTH_MAX_ENERGY_CARR_DEMAND ( 0x0013 | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  167. #define ATTRID_SE_CUR_MONTH_MIN_ENERGY_CARR_DEMAND ( 0x0014 | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  168. #define ATTRID_SE_CUR_YEAR_MAX_ENERGY_CARR_DEMAND ( 0x0015 | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  169. #define ATTRID_SE_CUR_YEAR_MIN_ENERGY_CARR_DEMAND ( 0x0016 | ATTRID_MASK_SE_HISTORICAL_CONSUMPTION )
  170. // Simple Metering Server Cluster - Load Profile Configuration Attributes 0x05
  171. #define ATTRID_SE_MAX_NUMBER_OF_PERIODS_DELIVERED ( 0x0000 | ATTRID_MASK_SE_LOAD_PROFILE_CONFIGURATION )
  172. // Simple Metering Server Cluster - Supply Limit Attributes 0x06
  173. #define ATTRID_SE_CURRENT_DEMAND_DELIVERED ( 0x0000 | ATTRID_MASK_SE_SUPPLY_LIMIT )
  174. #define ATTRID_SE_DEMAND_LIMIT ( 0x0001 | ATTRID_MASK_SE_SUPPLY_LIMIT )
  175. #define ATTRID_SE_DEMAND_INTEGRATION_PERIOD ( 0x0002 | ATTRID_MASK_SE_SUPPLY_LIMIT )
  176. #define ATTRID_SE_NUMBER_OF_DEMAND_SUBINTERVALS ( 0x0003 | ATTRID_MASK_SE_SUPPLY_LIMIT )
  177. #define ATTRID_SE_DEMAND_LIMIT_ARM_DURATION ( 0x0004 | ATTRID_MASK_SE_SUPPLY_LIMIT )
  178. // Simple Metering Server Cluster - Block Information Attributes 0x07
  179. #define ATTRID_SE_CURRENT_NO_TIER_BLOCK1_SUMMATION_DELIVERED ( 0x0000 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  180. #define ATTRID_SE_CURRENT_NO_TIER_BLOCK2_SUMMATION_DELIVERED ( 0x0001 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  181. #define ATTRID_SE_CURRENT_NO_TIER_BLOCK3_SUMMATION_DELIVERED ( 0x0002 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  182. #define ATTRID_SE_CURRENT_NO_TIER_BLOCK4_SUMMATION_DELIVERED ( 0x0003 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  183. #define ATTRID_SE_CURRENT_NO_TIER_BLOCK5_SUMMATION_DELIVERED ( 0x0004 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  184. #define ATTRID_SE_CURRENT_NO_TIER_BLOCK6_SUMMATION_DELIVERED ( 0x0005 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  185. #define ATTRID_SE_CURRENT_NO_TIER_BLOCK7_SUMMATION_DELIVERED ( 0x0006 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  186. #define ATTRID_SE_CURRENT_NO_TIER_BLOCK8_SUMMATION_DELIVERED ( 0x0007 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  187. #define ATTRID_SE_CURRENT_NO_TIER_BLOCK9_SUMMATION_DELIVERED ( 0x0008 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  188. #define ATTRID_SE_CURRENT_NO_TIER_BLOCK10_SUMMATION_DELIVERED ( 0x0009 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  189. #define ATTRID_SE_CURRENT_NO_TIER_BLOCK11_SUMMATION_DELIVERED ( 0x000A | ATTRID_MASK_SE_BLOCK_INFORMATION )
  190. #define ATTRID_SE_CURRENT_NO_TIER_BLOCK12_SUMMATION_DELIVERED ( 0x000B | ATTRID_MASK_SE_BLOCK_INFORMATION )
  191. #define ATTRID_SE_CURRENT_NO_TIER_BLOCK13_SUMMATION_DELIVERED ( 0x000C | ATTRID_MASK_SE_BLOCK_INFORMATION )
  192. #define ATTRID_SE_CURRENT_NO_TIER_BLOCK14_SUMMATION_DELIVERED ( 0x000D | ATTRID_MASK_SE_BLOCK_INFORMATION )
  193. #define ATTRID_SE_CURRENT_NO_TIER_BLOCK15_SUMMATION_DELIVERED ( 0x000E | ATTRID_MASK_SE_BLOCK_INFORMATION )
  194. #define ATTRID_SE_CURRENT_NO_TIER_BLOCK16_SUMMATION_DELIVERED ( 0x000F | ATTRID_MASK_SE_BLOCK_INFORMATION )
  195. // Tier 1
  196. #define ATTRID_SE_CURRENT_TIER1_BLOCK1_SUMMATION_DELIVERED ( 0x0010 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  197. #define ATTRID_SE_CURRENT_TIER1_BLOCK2_SUMMATION_DELIVERED ( 0x0011 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  198. #define ATTRID_SE_CURRENT_TIER1_BLOCK3_SUMMATION_DELIVERED ( 0x0012 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  199. #define ATTRID_SE_CURRENT_TIER1_BLOCK4_SUMMATION_DELIVERED ( 0x0013 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  200. #define ATTRID_SE_CURRENT_TIER1_BLOCK5_SUMMATION_DELIVERED ( 0x0014 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  201. #define ATTRID_SE_CURRENT_TIER1_BLOCK6_SUMMATION_DELIVERED ( 0x0015 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  202. #define ATTRID_SE_CURRENT_TIER1_BLOCK7_SUMMATION_DELIVERED ( 0x0016 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  203. #define ATTRID_SE_CURRENT_TIER1_BLOCK8_SUMMATION_DELIVERED ( 0x0017 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  204. #define ATTRID_SE_CURRENT_TIER1_BLOCK9_SUMMATION_DELIVERED ( 0x0018 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  205. #define ATTRID_SE_CURRENT_TIER1_BLOCK10_SUMMATION_DELIVERED ( 0x0019 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  206. #define ATTRID_SE_CURRENT_TIER1_BLOCK11_SUMMATION_DELIVERED ( 0x001A | ATTRID_MASK_SE_BLOCK_INFORMATION )
  207. #define ATTRID_SE_CURRENT_TIER1_BLOCK12_SUMMATION_DELIVERED ( 0x001B | ATTRID_MASK_SE_BLOCK_INFORMATION )
  208. #define ATTRID_SE_CURRENT_TIER1_BLOCK13_SUMMATION_DELIVERED ( 0x001C | ATTRID_MASK_SE_BLOCK_INFORMATION )
  209. #define ATTRID_SE_CURRENT_TIER1_BLOCK14_SUMMATION_DELIVERED ( 0x001D | ATTRID_MASK_SE_BLOCK_INFORMATION )
  210. #define ATTRID_SE_CURRENT_TIER1_BLOCK15_SUMMATION_DELIVERED ( 0x001E | ATTRID_MASK_SE_BLOCK_INFORMATION )
  211. #define ATTRID_SE_CURRENT_TIER1_BLOCK16_SUMMATION_DELIVERED ( 0x001F | ATTRID_MASK_SE_BLOCK_INFORMATION )
  212. // Tier 2
  213. #define ATTRID_SE_CURRENT_TIER2_BLOCK1_SUMMATION_DELIVERED ( 0x0020 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  214. #define ATTRID_SE_CURRENT_TIER2_BLOCK2_SUMMATION_DELIVERED ( 0x0021 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  215. #define ATTRID_SE_CURRENT_TIER2_BLOCK3_SUMMATION_DELIVERED ( 0x0022 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  216. #define ATTRID_SE_CURRENT_TIER2_BLOCK4_SUMMATION_DELIVERED ( 0x0023 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  217. #define ATTRID_SE_CURRENT_TIER2_BLOCK5_SUMMATION_DELIVERED ( 0x0024 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  218. #define ATTRID_SE_CURRENT_TIER2_BLOCK6_SUMMATION_DELIVERED ( 0x0025 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  219. #define ATTRID_SE_CURRENT_TIER2_BLOCK7_SUMMATION_DELIVERED ( 0x0026 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  220. #define ATTRID_SE_CURRENT_TIER2_BLOCK8_SUMMATION_DELIVERED ( 0x0027 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  221. #define ATTRID_SE_CURRENT_TIER2_BLOCK9_SUMMATION_DELIVERED ( 0x0028 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  222. #define ATTRID_SE_CURRENT_TIER2_BLOCK10_SUMMATION_DELIVERED ( 0x0029 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  223. #define ATTRID_SE_CURRENT_TIER2_BLOCK11_SUMMATION_DELIVERED ( 0x002A | ATTRID_MASK_SE_BLOCK_INFORMATION )
  224. #define ATTRID_SE_CURRENT_TIER2_BLOCK12_SUMMATION_DELIVERED ( 0x002B | ATTRID_MASK_SE_BLOCK_INFORMATION )
  225. #define ATTRID_SE_CURRENT_TIER2_BLOCK13_SUMMATION_DELIVERED ( 0x002C | ATTRID_MASK_SE_BLOCK_INFORMATION )
  226. #define ATTRID_SE_CURRENT_TIER2_BLOCK14_SUMMATION_DELIVERED ( 0x002D | ATTRID_MASK_SE_BLOCK_INFORMATION )
  227. #define ATTRID_SE_CURRENT_TIER2_BLOCK15_SUMMATION_DELIVERED ( 0x002E | ATTRID_MASK_SE_BLOCK_INFORMATION )
  228. #define ATTRID_SE_CURRENT_TIER2_BLOCK16_SUMMATION_DELIVERED ( 0x002F | ATTRID_MASK_SE_BLOCK_INFORMATION )
  229. // Tier 3
  230. #define ATTRID_SE_CURRENT_TIER3_BLOCK1_SUMMATION_DELIVERED ( 0x0030 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  231. #define ATTRID_SE_CURRENT_TIER3_BLOCK2_SUMMATION_DELIVERED ( 0x0031 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  232. #define ATTRID_SE_CURRENT_TIER3_BLOCK3_SUMMATION_DELIVERED ( 0x0032 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  233. #define ATTRID_SE_CURRENT_TIER3_BLOCK4_SUMMATION_DELIVERED ( 0x0033 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  234. #define ATTRID_SE_CURRENT_TIER3_BLOCK5_SUMMATION_DELIVERED ( 0x0034 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  235. #define ATTRID_SE_CURRENT_TIER3_BLOCK6_SUMMATION_DELIVERED ( 0x0035 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  236. #define ATTRID_SE_CURRENT_TIER3_BLOCK7_SUMMATION_DELIVERED ( 0x0036 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  237. #define ATTRID_SE_CURRENT_TIER3_BLOCK8_SUMMATION_DELIVERED ( 0x0037 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  238. #define ATTRID_SE_CURRENT_TIER3_BLOCK9_SUMMATION_DELIVERED ( 0x0038 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  239. #define ATTRID_SE_CURRENT_TIER3_BLOCK10_SUMMATION_DELIVERED ( 0x0039 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  240. #define ATTRID_SE_CURRENT_TIER3_BLOCK11_SUMMATION_DELIVERED ( 0x003A | ATTRID_MASK_SE_BLOCK_INFORMATION )
  241. #define ATTRID_SE_CURRENT_TIER3_BLOCK12_SUMMATION_DELIVERED ( 0x003B | ATTRID_MASK_SE_BLOCK_INFORMATION )
  242. #define ATTRID_SE_CURRENT_TIER3_BLOCK13_SUMMATION_DELIVERED ( 0x003C | ATTRID_MASK_SE_BLOCK_INFORMATION )
  243. #define ATTRID_SE_CURRENT_TIER3_BLOCK14_SUMMATION_DELIVERED ( 0x003D | ATTRID_MASK_SE_BLOCK_INFORMATION )
  244. #define ATTRID_SE_CURRENT_TIER3_BLOCK15_SUMMATION_DELIVERED ( 0x003E | ATTRID_MASK_SE_BLOCK_INFORMATION )
  245. #define ATTRID_SE_CURRENT_TIER3_BLOCK16_SUMMATION_DELIVERED ( 0x003F | ATTRID_MASK_SE_BLOCK_INFORMATION )
  246. // Tier 4
  247. #define ATTRID_SE_CURRENT_TIER4_BLOCK1_SUMMATION_DELIVERED ( 0x0040 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  248. #define ATTRID_SE_CURRENT_TIER4_BLOCK2_SUMMATION_DELIVERED ( 0x0041 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  249. #define ATTRID_SE_CURRENT_TIER4_BLOCK3_SUMMATION_DELIVERED ( 0x0042 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  250. #define ATTRID_SE_CURRENT_TIER4_BLOCK4_SUMMATION_DELIVERED ( 0x0043 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  251. #define ATTRID_SE_CURRENT_TIER4_BLOCK5_SUMMATION_DELIVERED ( 0x0044 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  252. #define ATTRID_SE_CURRENT_TIER4_BLOCK6_SUMMATION_DELIVERED ( 0x0045 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  253. #define ATTRID_SE_CURRENT_TIER4_BLOCK7_SUMMATION_DELIVERED ( 0x0046 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  254. #define ATTRID_SE_CURRENT_TIER4_BLOCK8_SUMMATION_DELIVERED ( 0x0047 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  255. #define ATTRID_SE_CURRENT_TIER4_BLOCK9_SUMMATION_DELIVERED ( 0x0048 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  256. #define ATTRID_SE_CURRENT_TIER4_BLOCK10_SUMMATION_DELIVERED ( 0x0049 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  257. #define ATTRID_SE_CURRENT_TIER4_BLOCK11_SUMMATION_DELIVERED ( 0x004A | ATTRID_MASK_SE_BLOCK_INFORMATION )
  258. #define ATTRID_SE_CURRENT_TIER4_BLOCK12_SUMMATION_DELIVERED ( 0x004B | ATTRID_MASK_SE_BLOCK_INFORMATION )
  259. #define ATTRID_SE_CURRENT_TIER4_BLOCK13_SUMMATION_DELIVERED ( 0x004C | ATTRID_MASK_SE_BLOCK_INFORMATION )
  260. #define ATTRID_SE_CURRENT_TIER4_BLOCK14_SUMMATION_DELIVERED ( 0x004D | ATTRID_MASK_SE_BLOCK_INFORMATION )
  261. #define ATTRID_SE_CURRENT_TIER4_BLOCK15_SUMMATION_DELIVERED ( 0x004E | ATTRID_MASK_SE_BLOCK_INFORMATION )
  262. #define ATTRID_SE_CURRENT_TIER4_BLOCK16_SUMMATION_DELIVERED ( 0x004F | ATTRID_MASK_SE_BLOCK_INFORMATION )
  263. // Tier 5
  264. #define ATTRID_SE_CURRENT_TIER5_BLOCK1_SUMMATION_DELIVERED ( 0x0050 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  265. #define ATTRID_SE_CURRENT_TIER5_BLOCK2_SUMMATION_DELIVERED ( 0x0051 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  266. #define ATTRID_SE_CURRENT_TIER5_BLOCK3_SUMMATION_DELIVERED ( 0x0052 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  267. #define ATTRID_SE_CURRENT_TIER5_BLOCK4_SUMMATION_DELIVERED ( 0x0053 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  268. #define ATTRID_SE_CURRENT_TIER5_BLOCK5_SUMMATION_DELIVERED ( 0x0054 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  269. #define ATTRID_SE_CURRENT_TIER5_BLOCK6_SUMMATION_DELIVERED ( 0x0055 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  270. #define ATTRID_SE_CURRENT_TIER5_BLOCK7_SUMMATION_DELIVERED ( 0x0056 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  271. #define ATTRID_SE_CURRENT_TIER5_BLOCK8_SUMMATION_DELIVERED ( 0x0057 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  272. #define ATTRID_SE_CURRENT_TIER5_BLOCK9_SUMMATION_DELIVERED ( 0x0058 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  273. #define ATTRID_SE_CURRENT_TIER5_BLOCK10_SUMMATION_DELIVERED ( 0x0059 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  274. #define ATTRID_SE_CURRENT_TIER5_BLOCK11_SUMMATION_DELIVERED ( 0x005A | ATTRID_MASK_SE_BLOCK_INFORMATION )
  275. #define ATTRID_SE_CURRENT_TIER5_BLOCK12_SUMMATION_DELIVERED ( 0x005B | ATTRID_MASK_SE_BLOCK_INFORMATION )
  276. #define ATTRID_SE_CURRENT_TIER5_BLOCK13_SUMMATION_DELIVERED ( 0x005C | ATTRID_MASK_SE_BLOCK_INFORMATION )
  277. #define ATTRID_SE_CURRENT_TIER5_BLOCK14_SUMMATION_DELIVERED ( 0x005D | ATTRID_MASK_SE_BLOCK_INFORMATION )
  278. #define ATTRID_SE_CURRENT_TIER5_BLOCK15_SUMMATION_DELIVERED ( 0x005E | ATTRID_MASK_SE_BLOCK_INFORMATION )
  279. #define ATTRID_SE_CURRENT_TIER5_BLOCK16_SUMMATION_DELIVERED ( 0x005F | ATTRID_MASK_SE_BLOCK_INFORMATION )
  280. // Tier 6
  281. #define ATTRID_SE_CURRENT_TIER6_BLOCK1_SUMMATION_DELIVERED ( 0x0060 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  282. #define ATTRID_SE_CURRENT_TIER6_BLOCK2_SUMMATION_DELIVERED ( 0x0061 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  283. #define ATTRID_SE_CURRENT_TIER6_BLOCK3_SUMMATION_DELIVERED ( 0x0062 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  284. #define ATTRID_SE_CURRENT_TIER6_BLOCK4_SUMMATION_DELIVERED ( 0x0063 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  285. #define ATTRID_SE_CURRENT_TIER6_BLOCK5_SUMMATION_DELIVERED ( 0x0064 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  286. #define ATTRID_SE_CURRENT_TIER6_BLOCK6_SUMMATION_DELIVERED ( 0x0065 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  287. #define ATTRID_SE_CURRENT_TIER6_BLOCK7_SUMMATION_DELIVERED ( 0x0066 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  288. #define ATTRID_SE_CURRENT_TIER6_BLOCK8_SUMMATION_DELIVERED ( 0x0067 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  289. #define ATTRID_SE_CURRENT_TIER6_BLOCK9_SUMMATION_DELIVERED ( 0x0068 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  290. #define ATTRID_SE_CURRENT_TIER6_BLOCK10_SUMMATION_DELIVERED ( 0x0069 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  291. #define ATTRID_SE_CURRENT_TIER6_BLOCK11_SUMMATION_DELIVERED ( 0x006A | ATTRID_MASK_SE_BLOCK_INFORMATION )
  292. #define ATTRID_SE_CURRENT_TIER6_BLOCK12_SUMMATION_DELIVERED ( 0x006B | ATTRID_MASK_SE_BLOCK_INFORMATION )
  293. #define ATTRID_SE_CURRENT_TIER6_BLOCK13_SUMMATION_DELIVERED ( 0x006C | ATTRID_MASK_SE_BLOCK_INFORMATION )
  294. #define ATTRID_SE_CURRENT_TIER6_BLOCK14_SUMMATION_DELIVERED ( 0x006D | ATTRID_MASK_SE_BLOCK_INFORMATION )
  295. #define ATTRID_SE_CURRENT_TIER6_BLOCK15_SUMMATION_DELIVERED ( 0x006E | ATTRID_MASK_SE_BLOCK_INFORMATION )
  296. #define ATTRID_SE_CURRENT_TIER6_BLOCK16_SUMMATION_DELIVERED ( 0x006F | ATTRID_MASK_SE_BLOCK_INFORMATION )
  297. // Tier 7
  298. #define ATTRID_SE_CURRENT_TIER7_BLOCK1_SUMMATION_DELIVERED ( 0x0070 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  299. #define ATTRID_SE_CURRENT_TIER7_BLOCK2_SUMMATION_DELIVERED ( 0x0071 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  300. #define ATTRID_SE_CURRENT_TIER7_BLOCK3_SUMMATION_DELIVERED ( 0x0072 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  301. #define ATTRID_SE_CURRENT_TIER7_BLOCK4_SUMMATION_DELIVERED ( 0x0073 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  302. #define ATTRID_SE_CURRENT_TIER7_BLOCK5_SUMMATION_DELIVERED ( 0x0074 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  303. #define ATTRID_SE_CURRENT_TIER7_BLOCK6_SUMMATION_DELIVERED ( 0x0075 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  304. #define ATTRID_SE_CURRENT_TIER7_BLOCK7_SUMMATION_DELIVERED ( 0x0076 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  305. #define ATTRID_SE_CURRENT_TIER7_BLOCK8_SUMMATION_DELIVERED ( 0x0077 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  306. #define ATTRID_SE_CURRENT_TIER7_BLOCK9_SUMMATION_DELIVERED ( 0x0078 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  307. #define ATTRID_SE_CURRENT_TIER7_BLOCK10_SUMMATION_DELIVERED ( 0x0079 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  308. #define ATTRID_SE_CURRENT_TIER7_BLOCK11_SUMMATION_DELIVERED ( 0x007A | ATTRID_MASK_SE_BLOCK_INFORMATION )
  309. #define ATTRID_SE_CURRENT_TIER7_BLOCK12_SUMMATION_DELIVERED ( 0x007B | ATTRID_MASK_SE_BLOCK_INFORMATION )
  310. #define ATTRID_SE_CURRENT_TIER7_BLOCK13_SUMMATION_DELIVERED ( 0x007C | ATTRID_MASK_SE_BLOCK_INFORMATION )
  311. #define ATTRID_SE_CURRENT_TIER7_BLOCK14_SUMMATION_DELIVERED ( 0x007D | ATTRID_MASK_SE_BLOCK_INFORMATION )
  312. #define ATTRID_SE_CURRENT_TIER7_BLOCK15_SUMMATION_DELIVERED ( 0x007E | ATTRID_MASK_SE_BLOCK_INFORMATION )
  313. #define ATTRID_SE_CURRENT_TIER7_BLOCK16_SUMMATION_DELIVERED ( 0x007F | ATTRID_MASK_SE_BLOCK_INFORMATION )
  314. // Tier 8
  315. #define ATTRID_SE_CURRENT_TIER8_BLOCK1_SUMMATION_DELIVERED ( 0x0080 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  316. #define ATTRID_SE_CURRENT_TIER8_BLOCK2_SUMMATION_DELIVERED ( 0x0081 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  317. #define ATTRID_SE_CURRENT_TIER8_BLOCK3_SUMMATION_DELIVERED ( 0x0082 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  318. #define ATTRID_SE_CURRENT_TIER8_BLOCK4_SUMMATION_DELIVERED ( 0x0083 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  319. #define ATTRID_SE_CURRENT_TIER8_BLOCK5_SUMMATION_DELIVERED ( 0x0084 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  320. #define ATTRID_SE_CURRENT_TIER8_BLOCK6_SUMMATION_DELIVERED ( 0x0085 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  321. #define ATTRID_SE_CURRENT_TIER8_BLOCK7_SUMMATION_DELIVERED ( 0x0086 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  322. #define ATTRID_SE_CURRENT_TIER8_BLOCK8_SUMMATION_DELIVERED ( 0x0087 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  323. #define ATTRID_SE_CURRENT_TIER8_BLOCK9_SUMMATION_DELIVERED ( 0x0088 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  324. #define ATTRID_SE_CURRENT_TIER8_BLOCK10_SUMMATION_DELIVERED ( 0x0089 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  325. #define ATTRID_SE_CURRENT_TIER8_BLOCK11_SUMMATION_DELIVERED ( 0x008A | ATTRID_MASK_SE_BLOCK_INFORMATION )
  326. #define ATTRID_SE_CURRENT_TIER8_BLOCK12_SUMMATION_DELIVERED ( 0x008B | ATTRID_MASK_SE_BLOCK_INFORMATION )
  327. #define ATTRID_SE_CURRENT_TIER8_BLOCK13_SUMMATION_DELIVERED ( 0x008C | ATTRID_MASK_SE_BLOCK_INFORMATION )
  328. #define ATTRID_SE_CURRENT_TIER8_BLOCK14_SUMMATION_DELIVERED ( 0x008D | ATTRID_MASK_SE_BLOCK_INFORMATION )
  329. #define ATTRID_SE_CURRENT_TIER8_BLOCK15_SUMMATION_DELIVERED ( 0x008E | ATTRID_MASK_SE_BLOCK_INFORMATION )
  330. #define ATTRID_SE_CURRENT_TIER8_BLOCK16_SUMMATION_DELIVERED ( 0x008F | ATTRID_MASK_SE_BLOCK_INFORMATION )
  331. // Tier 9
  332. #define ATTRID_SE_CURRENT_TIER9_BLOCK1_SUMMATION_DELIVERED ( 0x0090 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  333. #define ATTRID_SE_CURRENT_TIER9_BLOCK2_SUMMATION_DELIVERED ( 0x0091 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  334. #define ATTRID_SE_CURRENT_TIER9_BLOCK3_SUMMATION_DELIVERED ( 0x0092 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  335. #define ATTRID_SE_CURRENT_TIER9_BLOCK4_SUMMATION_DELIVERED ( 0x0093 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  336. #define ATTRID_SE_CURRENT_TIER9_BLOCK5_SUMMATION_DELIVERED ( 0x0094 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  337. #define ATTRID_SE_CURRENT_TIER9_BLOCK6_SUMMATION_DELIVERED ( 0x0095 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  338. #define ATTRID_SE_CURRENT_TIER9_BLOCK7_SUMMATION_DELIVERED ( 0x0096 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  339. #define ATTRID_SE_CURRENT_TIER9_BLOCK8_SUMMATION_DELIVERED ( 0x0097 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  340. #define ATTRID_SE_CURRENT_TIER9_BLOCK9_SUMMATION_DELIVERED ( 0x0098 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  341. #define ATTRID_SE_CURRENT_TIER9_BLOCK10_SUMMATION_DELIVERED ( 0x0099 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  342. #define ATTRID_SE_CURRENT_TIER9_BLOCK11_SUMMATION_DELIVERED ( 0x009A | ATTRID_MASK_SE_BLOCK_INFORMATION )
  343. #define ATTRID_SE_CURRENT_TIER9_BLOCK12_SUMMATION_DELIVERED ( 0x009B | ATTRID_MASK_SE_BLOCK_INFORMATION )
  344. #define ATTRID_SE_CURRENT_TIER9_BLOCK13_SUMMATION_DELIVERED ( 0x009C | ATTRID_MASK_SE_BLOCK_INFORMATION )
  345. #define ATTRID_SE_CURRENT_TIER9_BLOCK14_SUMMATION_DELIVERED ( 0x009D | ATTRID_MASK_SE_BLOCK_INFORMATION )
  346. #define ATTRID_SE_CURRENT_TIER9_BLOCK15_SUMMATION_DELIVERED ( 0x009E | ATTRID_MASK_SE_BLOCK_INFORMATION )
  347. #define ATTRID_SE_CURRENT_TIER9_BLOCK16_SUMMATION_DELIVERED ( 0x009F | ATTRID_MASK_SE_BLOCK_INFORMATION )
  348. // Tier 10
  349. #define ATTRID_SE_CURRENT_TIER10_BLOCK1_SUMMATION_DELIVERED ( 0x00A0 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  350. #define ATTRID_SE_CURRENT_TIER10_BLOCK2_SUMMATION_DELIVERED ( 0x00A1 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  351. #define ATTRID_SE_CURRENT_TIER10_BLOCK3_SUMMATION_DELIVERED ( 0x00A2 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  352. #define ATTRID_SE_CURRENT_TIER10_BLOCK4_SUMMATION_DELIVERED ( 0x00A3 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  353. #define ATTRID_SE_CURRENT_TIER10_BLOCK5_SUMMATION_DELIVERED ( 0x00A4 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  354. #define ATTRID_SE_CURRENT_TIER10_BLOCK6_SUMMATION_DELIVERED ( 0x00A5 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  355. #define ATTRID_SE_CURRENT_TIER10_BLOCK7_SUMMATION_DELIVERED ( 0x00A6 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  356. #define ATTRID_SE_CURRENT_TIER10_BLOCK8_SUMMATION_DELIVERED ( 0x00A7 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  357. #define ATTRID_SE_CURRENT_TIER10_BLOCK9_SUMMATION_DELIVERED ( 0x00A8 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  358. #define ATTRID_SE_CURRENT_TIER10_BLOCK10_SUMMATION_DELIVERED ( 0x00A9 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  359. #define ATTRID_SE_CURRENT_TIER10_BLOCK11_SUMMATION_DELIVERED ( 0x00AA | ATTRID_MASK_SE_BLOCK_INFORMATION )
  360. #define ATTRID_SE_CURRENT_TIER10_BLOCK12_SUMMATION_DELIVERED ( 0x00AB | ATTRID_MASK_SE_BLOCK_INFORMATION )
  361. #define ATTRID_SE_CURRENT_TIER10_BLOCK13_SUMMATION_DELIVERED ( 0x00AC | ATTRID_MASK_SE_BLOCK_INFORMATION )
  362. #define ATTRID_SE_CURRENT_TIER10_BLOCK14_SUMMATION_DELIVERED ( 0x00AD | ATTRID_MASK_SE_BLOCK_INFORMATION )
  363. #define ATTRID_SE_CURRENT_TIER10_BLOCK15_SUMMATION_DELIVERED ( 0x00AE | ATTRID_MASK_SE_BLOCK_INFORMATION )
  364. #define ATTRID_SE_CURRENT_TIER10_BLOCK16_SUMMATION_DELIVERED ( 0x00AF | ATTRID_MASK_SE_BLOCK_INFORMATION )
  365. // Tier 11
  366. #define ATTRID_SE_CURRENT_TIER11_BLOCK1_SUMMATION_DELIVERED ( 0x00B0 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  367. #define ATTRID_SE_CURRENT_TIER11_BLOCK2_SUMMATION_DELIVERED ( 0x00B1 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  368. #define ATTRID_SE_CURRENT_TIER11_BLOCK3_SUMMATION_DELIVERED ( 0x00B2 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  369. #define ATTRID_SE_CURRENT_TIER11_BLOCK4_SUMMATION_DELIVERED ( 0x00B3 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  370. #define ATTRID_SE_CURRENT_TIER11_BLOCK5_SUMMATION_DELIVERED ( 0x00B4 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  371. #define ATTRID_SE_CURRENT_TIER11_BLOCK6_SUMMATION_DELIVERED ( 0x00B5 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  372. #define ATTRID_SE_CURRENT_TIER11_BLOCK7_SUMMATION_DELIVERED ( 0x00B6 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  373. #define ATTRID_SE_CURRENT_TIER11_BLOCK8_SUMMATION_DELIVERED ( 0x00B7 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  374. #define ATTRID_SE_CURRENT_TIER11_BLOCK9_SUMMATION_DELIVERED ( 0x00B8 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  375. #define ATTRID_SE_CURRENT_TIER11_BLOCK10_SUMMATION_DELIVERED ( 0x00B9 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  376. #define ATTRID_SE_CURRENT_TIER11_BLOCK11_SUMMATION_DELIVERED ( 0x00BA | ATTRID_MASK_SE_BLOCK_INFORMATION )
  377. #define ATTRID_SE_CURRENT_TIER11_BLOCK12_SUMMATION_DELIVERED ( 0x00BB | ATTRID_MASK_SE_BLOCK_INFORMATION )
  378. #define ATTRID_SE_CURRENT_TIER11_BLOCK13_SUMMATION_DELIVERED ( 0x00BC | ATTRID_MASK_SE_BLOCK_INFORMATION )
  379. #define ATTRID_SE_CURRENT_TIER11_BLOCK14_SUMMATION_DELIVERED ( 0x00BD | ATTRID_MASK_SE_BLOCK_INFORMATION )
  380. #define ATTRID_SE_CURRENT_TIER11_BLOCK15_SUMMATION_DELIVERED ( 0x00BE | ATTRID_MASK_SE_BLOCK_INFORMATION )
  381. #define ATTRID_SE_CURRENT_TIER11_BLOCK16_SUMMATION_DELIVERED ( 0x00BF | ATTRID_MASK_SE_BLOCK_INFORMATION )
  382. // Tier 12
  383. #define ATTRID_SE_CURRENT_TIER12_BLOCK1_SUMMATION_DELIVERED ( 0x00C0 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  384. #define ATTRID_SE_CURRENT_TIER12_BLOCK2_SUMMATION_DELIVERED ( 0x00C1 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  385. #define ATTRID_SE_CURRENT_TIER12_BLOCK3_SUMMATION_DELIVERED ( 0x00C2 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  386. #define ATTRID_SE_CURRENT_TIER12_BLOCK4_SUMMATION_DELIVERED ( 0x00C3 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  387. #define ATTRID_SE_CURRENT_TIER12_BLOCK5_SUMMATION_DELIVERED ( 0x00C4 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  388. #define ATTRID_SE_CURRENT_TIER12_BLOCK6_SUMMATION_DELIVERED ( 0x00C5 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  389. #define ATTRID_SE_CURRENT_TIER12_BLOCK7_SUMMATION_DELIVERED ( 0x00C6 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  390. #define ATTRID_SE_CURRENT_TIER12_BLOCK8_SUMMATION_DELIVERED ( 0x00C7 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  391. #define ATTRID_SE_CURRENT_TIER12_BLOCK9_SUMMATION_DELIVERED ( 0x00C8 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  392. #define ATTRID_SE_CURRENT_TIER12_BLOCK10_SUMMATION_DELIVERED ( 0x00C9 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  393. #define ATTRID_SE_CURRENT_TIER12_BLOCK11_SUMMATION_DELIVERED ( 0x00CA | ATTRID_MASK_SE_BLOCK_INFORMATION )
  394. #define ATTRID_SE_CURRENT_TIER12_BLOCK12_SUMMATION_DELIVERED ( 0x00CB | ATTRID_MASK_SE_BLOCK_INFORMATION )
  395. #define ATTRID_SE_CURRENT_TIER12_BLOCK13_SUMMATION_DELIVERED ( 0x00CC | ATTRID_MASK_SE_BLOCK_INFORMATION )
  396. #define ATTRID_SE_CURRENT_TIER12_BLOCK14_SUMMATION_DELIVERED ( 0x00CD | ATTRID_MASK_SE_BLOCK_INFORMATION )
  397. #define ATTRID_SE_CURRENT_TIER12_BLOCK15_SUMMATION_DELIVERED ( 0x00CE | ATTRID_MASK_SE_BLOCK_INFORMATION )
  398. #define ATTRID_SE_CURRENT_TIER12_BLOCK16_SUMMATION_DELIVERED ( 0x00CF | ATTRID_MASK_SE_BLOCK_INFORMATION )
  399. // Tier 13
  400. #define ATTRID_SE_CURRENT_TIER13_BLOCK1_SUMMATION_DELIVERED ( 0x00D0 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  401. #define ATTRID_SE_CURRENT_TIER13_BLOCK2_SUMMATION_DELIVERED ( 0x00D1 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  402. #define ATTRID_SE_CURRENT_TIER13_BLOCK3_SUMMATION_DELIVERED ( 0x00D2 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  403. #define ATTRID_SE_CURRENT_TIER13_BLOCK4_SUMMATION_DELIVERED ( 0x00D3 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  404. #define ATTRID_SE_CURRENT_TIER13_BLOCK5_SUMMATION_DELIVERED ( 0x00D4 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  405. #define ATTRID_SE_CURRENT_TIER13_BLOCK6_SUMMATION_DELIVERED ( 0x00D5 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  406. #define ATTRID_SE_CURRENT_TIER13_BLOCK7_SUMMATION_DELIVERED ( 0x00D6 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  407. #define ATTRID_SE_CURRENT_TIER13_BLOCK8_SUMMATION_DELIVERED ( 0x00D7 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  408. #define ATTRID_SE_CURRENT_TIER13_BLOCK9_SUMMATION_DELIVERED ( 0x00D8 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  409. #define ATTRID_SE_CURRENT_TIER13_BLOCK10_SUMMATION_DELIVERED ( 0x00D9 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  410. #define ATTRID_SE_CURRENT_TIER13_BLOCK11_SUMMATION_DELIVERED ( 0x00DA | ATTRID_MASK_SE_BLOCK_INFORMATION )
  411. #define ATTRID_SE_CURRENT_TIER13_BLOCK12_SUMMATION_DELIVERED ( 0x00DB | ATTRID_MASK_SE_BLOCK_INFORMATION )
  412. #define ATTRID_SE_CURRENT_TIER13_BLOCK13_SUMMATION_DELIVERED ( 0x00DC | ATTRID_MASK_SE_BLOCK_INFORMATION )
  413. #define ATTRID_SE_CURRENT_TIER13_BLOCK14_SUMMATION_DELIVERED ( 0x00DD | ATTRID_MASK_SE_BLOCK_INFORMATION )
  414. #define ATTRID_SE_CURRENT_TIER13_BLOCK15_SUMMATION_DELIVERED ( 0x00DE | ATTRID_MASK_SE_BLOCK_INFORMATION )
  415. #define ATTRID_SE_CURRENT_TIER13_BLOCK16_SUMMATION_DELIVERED ( 0x00DF | ATTRID_MASK_SE_BLOCK_INFORMATION )
  416. // Tier 14
  417. #define ATTRID_SE_CURRENT_TIER14_BLOCK1_SUMMATION_DELIVERED ( 0x00E0 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  418. #define ATTRID_SE_CURRENT_TIER14_BLOCK2_SUMMATION_DELIVERED ( 0x00E1 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  419. #define ATTRID_SE_CURRENT_TIER14_BLOCK3_SUMMATION_DELIVERED ( 0x00E2 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  420. #define ATTRID_SE_CURRENT_TIER14_BLOCK4_SUMMATION_DELIVERED ( 0x00E3 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  421. #define ATTRID_SE_CURRENT_TIER14_BLOCK5_SUMMATION_DELIVERED ( 0x00E4 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  422. #define ATTRID_SE_CURRENT_TIER14_BLOCK6_SUMMATION_DELIVERED ( 0x00E5 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  423. #define ATTRID_SE_CURRENT_TIER14_BLOCK7_SUMMATION_DELIVERED ( 0x00E6 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  424. #define ATTRID_SE_CURRENT_TIER14_BLOCK8_SUMMATION_DELIVERED ( 0x00E7 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  425. #define ATTRID_SE_CURRENT_TIER14_BLOCK9_SUMMATION_DELIVERED ( 0x00E8 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  426. #define ATTRID_SE_CURRENT_TIER14_BLOCK10_SUMMATION_DELIVERED ( 0x00E9 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  427. #define ATTRID_SE_CURRENT_TIER14_BLOCK11_SUMMATION_DELIVERED ( 0x00EA | ATTRID_MASK_SE_BLOCK_INFORMATION )
  428. #define ATTRID_SE_CURRENT_TIER14_BLOCK12_SUMMATION_DELIVERED ( 0x00EB | ATTRID_MASK_SE_BLOCK_INFORMATION )
  429. #define ATTRID_SE_CURRENT_TIER14_BLOCK13_SUMMATION_DELIVERED ( 0x00EC | ATTRID_MASK_SE_BLOCK_INFORMATION )
  430. #define ATTRID_SE_CURRENT_TIER14_BLOCK14_SUMMATION_DELIVERED ( 0x00ED | ATTRID_MASK_SE_BLOCK_INFORMATION )
  431. #define ATTRID_SE_CURRENT_TIER14_BLOCK15_SUMMATION_DELIVERED ( 0x00EE | ATTRID_MASK_SE_BLOCK_INFORMATION )
  432. #define ATTRID_SE_CURRENT_TIER14_BLOCK16_SUMMATION_DELIVERED ( 0x00EF | ATTRID_MASK_SE_BLOCK_INFORMATION )
  433. // Tier 15
  434. #define ATTRID_SE_CURRENT_TIER15_BLOCK1_SUMMATION_DELIVERED ( 0x00F0 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  435. #define ATTRID_SE_CURRENT_TIER15_BLOCK2_SUMMATION_DELIVERED ( 0x00F1 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  436. #define ATTRID_SE_CURRENT_TIER15_BLOCK3_SUMMATION_DELIVERED ( 0x00F2 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  437. #define ATTRID_SE_CURRENT_TIER15_BLOCK4_SUMMATION_DELIVERED ( 0x00F3 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  438. #define ATTRID_SE_CURRENT_TIER15_BLOCK5_SUMMATION_DELIVERED ( 0x00F4 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  439. #define ATTRID_SE_CURRENT_TIER15_BLOCK6_SUMMATION_DELIVERED ( 0x00F5 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  440. #define ATTRID_SE_CURRENT_TIER15_BLOCK7_SUMMATION_DELIVERED ( 0x00F6 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  441. #define ATTRID_SE_CURRENT_TIER15_BLOCK8_SUMMATION_DELIVERED ( 0x00F7 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  442. #define ATTRID_SE_CURRENT_TIER15_BLOCK9_SUMMATION_DELIVERED ( 0x00F8 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  443. #define ATTRID_SE_CURRENT_TIER15_BLOCK10_SUMMATION_DELIVERED ( 0x00F9 | ATTRID_MASK_SE_BLOCK_INFORMATION )
  444. #define ATTRID_SE_CURRENT_TIER15_BLOCK11_SUMMATION_DELIVERED ( 0x00FA | ATTRID_MASK_SE_BLOCK_INFORMATION )
  445. #define ATTRID_SE_CURRENT_TIER15_BLOCK12_SUMMATION_DELIVERED ( 0x00FB | ATTRID_MASK_SE_BLOCK_INFORMATION )
  446. #define ATTRID_SE_CURRENT_TIER15_BLOCK13_SUMMATION_DELIVERED ( 0x00FC | ATTRID_MASK_SE_BLOCK_INFORMATION )
  447. #define ATTRID_SE_CURRENT_TIER15_BLOCK14_SUMMATION_DELIVERED ( 0x00FD | ATTRID_MASK_SE_BLOCK_INFORMATION )
  448. #define ATTRID_SE_CURRENT_TIER15_BLOCK15_SUMMATION_DELIVERED ( 0x00FE | ATTRID_MASK_SE_BLOCK_INFORMATION )
  449. #define ATTRID_SE_CURRENT_TIER15_BLOCK16_SUMMATION_DELIVERED ( 0x00FF | ATTRID_MASK_SE_BLOCK_INFORMATION )
  450. // Simple Metering Server Cluster - Alarms Attributes 0x08
  451. #define ATTRID_SE_GENERIC_ALARM_MASK ( 0x0000 | ATTRID_MASK_SE_ALARMS )
  452. #define ATTRID_SE_ELECTRICITY_ALARM_MASK ( 0x0001 | ATTRID_MASK_SE_ALARMS )
  453. #define ATTRID_SE_GEN_FLOW_PRESSURE_ALARM_MASK ( 0x0002 | ATTRID_MASK_SE_ALARMS )
  454. #define ATTRID_SE_WATER_SPECIFIC_ALARM_MASK ( 0x0003 | ATTRID_MASK_SE_ALARMS )
  455. #define ATTRID_SE_HEAT_COOL_SPECIFIC_ALARM_MASK ( 0x0004 | ATTRID_MASK_SE_ALARMS )
  456. #define ATTRID_SE_GAS_SPECIFIC_ALARM_MASK ( 0x0005 | ATTRID_MASK_SE_ALARMS )
  457. #define ATTRID_SE_MANUFACTURE_ALARM_MASK ( 0x0006 | ATTRID_MASK_SE_ALARMS )
  458. // Simple Metering Server Cluster - Block Information Set (Received) Attributes 0x09
  459. #define ATTRID_SE_CURRENT_TIER_X_BLOCK_Y_RECEIVED(X, Y) ( ((((X)&0xF)<<4) | (((Y)&0xF)-1)) | ATTRID_MASK_SE_BLOCK_INFORMATION_RECEIVED )
  460. // Simple Metering Server Cluster - Billing Attributes 0x0A
  461. #define ATTRID_SE_BILL_TO_DATE ( 0x0000 | ATTRID_MASK_SE_BILLING )
  462. #define ATTRID_SE_BILL_TO_DATE_TIME_STAMP ( 0x0001 | ATTRID_MASK_SE_BILLING )
  463. #define ATTRID_SE_PROJECTED_BILL ( 0x0002 | ATTRID_MASK_SE_BILLING )
  464. #define ATTRID_SE_PROJECTED_BILL_TIME_STAMP ( 0x0003 | ATTRID_MASK_SE_BILLING )
  465. // Simple Meter Client Cluster Attributes Sets
  466. #define ATTRID_MASK_SE_NOTIFICATION_SET 0x0000
  467. #define ATTRID_MASK_SE_MIRROR_CONFIGURATION_SET 0x0001
  468. // Simple Metering Client Cluster - Notification Attributes 0x00
  469. #define ATTRID_SE_NOTIFICATION_CONTROL_FLAGS ( 0x0000 | ATTRID_MASK_SE_NOTIFICATION_SET )
  470. #define ATTRID_SE_NOTIFICATION_FLAGS ( 0x0001 | ATTRID_MASK_SE_NOTIFICATION_SET )
  471. #define ATTRID_SE_PRICE_NOTIFICATION_FLAGS ( 0x0002 | ATTRID_MASK_SE_NOTIFICATION_SET )
  472. #define ATTRID_SE_CALENDAR_NOTIFICATION_FLAGS ( 0x0003 | ATTRID_MASK_SE_NOTIFICATION_SET )
  473. #define ATTRID_SE_PRE_PAY_NOTIFICATION_FLAGS ( 0x0004 | ATTRID_MASK_SE_NOTIFICATION_SET )
  474. #define ATTRID_SE_DEVICE_MANAGEMENT_FLAGS ( 0x0005 | ATTRID_MASK_SE_NOTIFICATION_SET )
  475. // Simple Metering Client Cluster - Mirror Configuration Attributes 0x01
  476. #define ATTRID_SE_CHANGE_REPORTING_PROFILE ( 0x0000 | ATTRID_MASK_SE_MIRROR_CONFIGURATION_SET )
  477. // Demand Response Client Cluster Attributes
  478. #define ATTRID_SE_UTILITY_DEFINED_GROUP 0x0000
  479. #define ATTRID_SE_START_RANDOMIZE_MINUTES 0x0001
  480. #define ATTRID_SE_STOP_RANDOMIZE_MINUTES 0x0002
  481. // Price Cluster Attribute Sets
  482. #define ATTRID_MASK_SE_TIER_LABEL 0x0000
  483. #define ATTRID_MASK_SE_BLOCK_THRESHOLD 0x0100
  484. #define ATTRID_MASK_SE_BLOCK_PERIOD 0x0200
  485. #define ATTRID_MASK_SE_COMMODITY 0x0300
  486. #define ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION 0x0400
  487. #define ATTRID_MASK_SE_EXT_PRICE_INFORMATION 0x0500
  488. #define ATTRID_MASK_SE_TARIFF_INFORMATION 0x0600
  489. #define ATTRID_MASK_SE_BILLING_INFORMATION 0x0700
  490. #define ATTRID_MASK_SE_CREDIT_PAYMENT 0x0800
  491. #define ATTRID_MASK_SE_TAX_CONTROL 0x0900
  492. #define ATTRID_MASK_SE_EXPORT_TIER_LABEL 0x8000
  493. #define ATTRID_MASK_SE_EXPORT_BLOCK_THRESHOLD 0x8100
  494. #define ATTRID_MASK_SE_EXPORT_BLOCK_PERIOD 0x8200
  495. #define ATTRID_MASK_SE_EXPORT_BLOCK_PRICE_INFO 0x8400
  496. #define ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO 0x8500
  497. #define ATTRID_MASK_SE_EXPORT_TARIFF_INFO 0x8600
  498. #define ATTRID_MASK_SE_EXPORT_BILLING_INFO 0x8700
  499. // Price Cluster - Tier Label Attributes 0x00
  500. #define ATTRID_SE_TIER1_PRICE_LABEL ( 0x0000 | ATTRID_MASK_SE_TIER_LABEL )
  501. #define ATTRID_SE_TIER2_PRICE_LABEL ( 0x0001 | ATTRID_MASK_SE_TIER_LABEL )
  502. #define ATTRID_SE_TIER3_PRICE_LABEL ( 0x0002 | ATTRID_MASK_SE_TIER_LABEL )
  503. #define ATTRID_SE_TIER4_PRICE_LABEL ( 0x0003 | ATTRID_MASK_SE_TIER_LABEL )
  504. #define ATTRID_SE_TIER5_PRICE_LABEL ( 0x0004 | ATTRID_MASK_SE_TIER_LABEL )
  505. #define ATTRID_SE_TIER6_PRICE_LABEL ( 0x0005 | ATTRID_MASK_SE_TIER_LABEL )
  506. #define ATTRID_SE_TIER7_PRICE_LABEL ( 0x0006 | ATTRID_MASK_SE_TIER_LABEL )
  507. #define ATTRID_SE_TIER8_PRICE_LABEL ( 0x0007 | ATTRID_MASK_SE_TIER_LABEL )
  508. #define ATTRID_SE_TIER9_PRICE_LABEL ( 0x0008 | ATTRID_MASK_SE_TIER_LABEL )
  509. #define ATTRID_SE_TIER10_PRICE_LABEL ( 0x0009 | ATTRID_MASK_SE_TIER_LABEL )
  510. #define ATTRID_SE_TIER11_PRICE_LABEL ( 0x000A | ATTRID_MASK_SE_TIER_LABEL )
  511. #define ATTRID_SE_TIER12_PRICE_LABEL ( 0x000B | ATTRID_MASK_SE_TIER_LABEL )
  512. #define ATTRID_SE_TIER13_PRICE_LABEL ( 0x000C | ATTRID_MASK_SE_TIER_LABEL )
  513. #define ATTRID_SE_TIER14_PRICE_LABEL ( 0x000D | ATTRID_MASK_SE_TIER_LABEL )
  514. #define ATTRID_SE_TIER15_PRICE_LABEL ( 0x000E | ATTRID_MASK_SE_TIER_LABEL )
  515. // Price Cluster - Block Threshold Attributes 0x01
  516. #define ATTRID_SE_BLOCK1_THRESHOLD ( 0x0000 | ATTRID_MASK_SE_BLOCK_THRESHOLD )
  517. #define ATTRID_SE_BLOCK2_THRESHOLD ( 0x0001 | ATTRID_MASK_SE_BLOCK_THRESHOLD )
  518. #define ATTRID_SE_BLOCK3_THRESHOLD ( 0x0002 | ATTRID_MASK_SE_BLOCK_THRESHOLD )
  519. #define ATTRID_SE_BLOCK4_THRESHOLD ( 0x0003 | ATTRID_MASK_SE_BLOCK_THRESHOLD )
  520. #define ATTRID_SE_BLOCK5_THRESHOLD ( 0x0004 | ATTRID_MASK_SE_BLOCK_THRESHOLD )
  521. #define ATTRID_SE_BLOCK6_THRESHOLD ( 0x0005 | ATTRID_MASK_SE_BLOCK_THRESHOLD )
  522. #define ATTRID_SE_BLOCK7_THRESHOLD ( 0x0006 | ATTRID_MASK_SE_BLOCK_THRESHOLD )
  523. #define ATTRID_SE_BLOCK8_THRESHOLD ( 0x0007 | ATTRID_MASK_SE_BLOCK_THRESHOLD )
  524. #define ATTRID_SE_BLOCK9_THRESHOLD ( 0x0008 | ATTRID_MASK_SE_BLOCK_THRESHOLD )
  525. #define ATTRID_SE_BLOCK10_THRESHOLD ( 0x0009 | ATTRID_MASK_SE_BLOCK_THRESHOLD )
  526. #define ATTRID_SE_BLOCK11_THRESHOLD ( 0x000A | ATTRID_MASK_SE_BLOCK_THRESHOLD )
  527. #define ATTRID_SE_BLOCK12_THRESHOLD ( 0x000B | ATTRID_MASK_SE_BLOCK_THRESHOLD )
  528. #define ATTRID_SE_BLOCK13_THRESHOLD ( 0x000C | ATTRID_MASK_SE_BLOCK_THRESHOLD )
  529. #define ATTRID_SE_BLOCK14_THRESHOLD ( 0x000D | ATTRID_MASK_SE_BLOCK_THRESHOLD )
  530. #define ATTRID_SE_BLOCK15_THRESHOLD ( 0x000E | ATTRID_MASK_SE_BLOCK_THRESHOLD )
  531. // Price Cluster - Block Period Attributes 0x02
  532. #define ATTRID_SE_START_OF_BLOCK_PERIOD ( 0x0000 | ATTRID_MASK_SE_BLOCK_PERIOD )
  533. #define ATTRID_SE_BLOCK_PERIOD_DURATION ( 0x0001 | ATTRID_MASK_SE_BLOCK_PERIOD )
  534. #define ATTRID_SE_THRESHOLD_MULTIPLIER ( 0x0002 | ATTRID_MASK_SE_BLOCK_PERIOD )
  535. #define ATTRID_SE_THRESHOLD_DIVISOR ( 0x0003 | ATTRID_MASK_SE_BLOCK_PERIOD )
  536. // Price Cluster - Commodity Attributes 0x03
  537. #define ATTRID_SE_COMMODITY_TYPE ( 0x0000 | ATTRID_MASK_SE_COMMODITY )
  538. #define ATTRID_SE_STANDING_CHARGE ( 0x0001 | ATTRID_MASK_SE_COMMODITY )
  539. // Price Cluster - Block Price Information Attributes 0x04
  540. #define ATTRID_SE_NO_TIER_BLOCK1_PRICE ( 0x0000 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  541. #define ATTRID_SE_NO_TIER_BLOCK2_PRICE ( 0x0001 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  542. #define ATTRID_SE_NO_TIER_BLOCK3_PRICE ( 0x0002 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  543. #define ATTRID_SE_NO_TIER_BLOCK4_PRICE ( 0x0003 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  544. #define ATTRID_SE_NO_TIER_BLOCK5_PRICE ( 0x0004 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  545. #define ATTRID_SE_NO_TIER_BLOCK6_PRICE ( 0x0005 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  546. #define ATTRID_SE_NO_TIER_BLOCK7_PRICE ( 0x0006 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  547. #define ATTRID_SE_NO_TIER_BLOCK8_PRICE ( 0x0007 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  548. #define ATTRID_SE_NO_TIER_BLOCK9_PRICE ( 0x0008 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  549. #define ATTRID_SE_NO_TIER_BLOCK10_PRICE ( 0x0009 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  550. #define ATTRID_SE_NO_TIER_BLOCK11_PRICE ( 0x000A | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  551. #define ATTRID_SE_NO_TIER_BLOCK12_PRICE ( 0x000B | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  552. #define ATTRID_SE_NO_TIER_BLOCK13_PRICE ( 0x000C | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  553. #define ATTRID_SE_NO_TIER_BLOCK14_PRICE ( 0x000D | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  554. #define ATTRID_SE_NO_TIER_BLOCK15_PRICE ( 0x000E | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  555. #define ATTRID_SE_NO_TIER_BLOCK16_PRICE ( 0x000F | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  556. // Tier 1
  557. #define ATTRID_SE_TIER1_BLOCK1_PRICE ( 0x0010 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  558. #define ATTRID_SE_TIER1_BLOCK2_PRICE ( 0x0011 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  559. #define ATTRID_SE_TIER1_BLOCK3_PRICE ( 0x0012 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  560. #define ATTRID_SE_TIER1_BLOCK4_PRICE ( 0x0013 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  561. #define ATTRID_SE_TIER1_BLOCK5_PRICE ( 0x0014 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  562. #define ATTRID_SE_TIER1_BLOCK6_PRICE ( 0x0015 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  563. #define ATTRID_SE_TIER1_BLOCK7_PRICE ( 0x0016 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  564. #define ATTRID_SE_TIER1_BLOCK8_PRICE ( 0x0017 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  565. #define ATTRID_SE_TIER1_BLOCK9_PRICE ( 0x0018 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  566. #define ATTRID_SE_TIER1_BLOCK10_PRICE ( 0x0019 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  567. #define ATTRID_SE_TIER1_BLOCK11_PRICE ( 0x001A | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  568. #define ATTRID_SE_TIER1_BLOCK12_PRICE ( 0x001B | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  569. #define ATTRID_SE_TIER1_BLOCK13_PRICE ( 0x001C | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  570. #define ATTRID_SE_TIER1_BLOCK14_PRICE ( 0x001D | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  571. #define ATTRID_SE_TIER1_BLOCK15_PRICE ( 0x001E | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  572. #define ATTRID_SE_TIER1_BLOCK16_PRICE ( 0x001F | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  573. // Tier 2
  574. #define ATTRID_SE_TIER2_BLOCK1_PRICE ( 0x0020 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  575. #define ATTRID_SE_TIER2_BLOCK2_PRICE ( 0x0021 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  576. #define ATTRID_SE_TIER2_BLOCK3_PRICE ( 0x0022 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  577. #define ATTRID_SE_TIER2_BLOCK4_PRICE ( 0x0023 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  578. #define ATTRID_SE_TIER2_BLOCK5_PRICE ( 0x0024 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  579. #define ATTRID_SE_TIER2_BLOCK6_PRICE ( 0x0025 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  580. #define ATTRID_SE_TIER2_BLOCK7_PRICE ( 0x0026 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  581. #define ATTRID_SE_TIER2_BLOCK8_PRICE ( 0x0027 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  582. #define ATTRID_SE_TIER2_BLOCK9_PRICE ( 0x0028 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  583. #define ATTRID_SE_TIER2_BLOCK10_PRICE ( 0x0029 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  584. #define ATTRID_SE_TIER2_BLOCK11_PRICE ( 0x002A | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  585. #define ATTRID_SE_TIER2_BLOCK12_PRICE ( 0x002B | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  586. #define ATTRID_SE_TIER2_BLOCK13_PRICE ( 0x002C | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  587. #define ATTRID_SE_TIER2_BLOCK14_PRICE ( 0x002D | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  588. #define ATTRID_SE_TIER2_BLOCK15_PRICE ( 0x002E | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  589. #define ATTRID_SE_TIER2_BLOCK16_PRICE ( 0x002F | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  590. // Tier 3
  591. #define ATTRID_SE_TIER3_BLOCK1_PRICE ( 0x0030 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  592. #define ATTRID_SE_TIER3_BLOCK2_PRICE ( 0x0031 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  593. #define ATTRID_SE_TIER3_BLOCK3_PRICE ( 0x0032 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  594. #define ATTRID_SE_TIER3_BLOCK4_PRICE ( 0x0033 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  595. #define ATTRID_SE_TIER3_BLOCK5_PRICE ( 0x0034 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  596. #define ATTRID_SE_TIER3_BLOCK6_PRICE ( 0x0035 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  597. #define ATTRID_SE_TIER3_BLOCK7_PRICE ( 0x0036 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  598. #define ATTRID_SE_TIER3_BLOCK8_PRICE ( 0x0037 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  599. #define ATTRID_SE_TIER3_BLOCK9_PRICE ( 0x0038 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  600. #define ATTRID_SE_TIER3_BLOCK10_PRICE ( 0x0039 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  601. #define ATTRID_SE_TIER3_BLOCK11_PRICE ( 0x003A | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  602. #define ATTRID_SE_TIER3_BLOCK12_PRICE ( 0x003B | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  603. #define ATTRID_SE_TIER3_BLOCK13_PRICE ( 0x003C | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  604. #define ATTRID_SE_TIER3_BLOCK14_PRICE ( 0x003D | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  605. #define ATTRID_SE_TIER3_BLOCK15_PRICE ( 0x003E | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  606. #define ATTRID_SE_TIER3_BLOCK16_PRICE ( 0x003F | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  607. // Tier 4
  608. #define ATTRID_SE_TIER4_BLOCK1_PRICE ( 0x0040 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  609. #define ATTRID_SE_TIER4_BLOCK2_PRICE ( 0x0041 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  610. #define ATTRID_SE_TIER4_BLOCK3_PRICE ( 0x0042 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  611. #define ATTRID_SE_TIER4_BLOCK4_PRICE ( 0x0043 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  612. #define ATTRID_SE_TIER4_BLOCK5_PRICE ( 0x0044 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  613. #define ATTRID_SE_TIER4_BLOCK6_PRICE ( 0x0045 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  614. #define ATTRID_SE_TIER4_BLOCK7_PRICE ( 0x0046 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  615. #define ATTRID_SE_TIER4_BLOCK8_PRICE ( 0x0047 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  616. #define ATTRID_SE_TIER4_BLOCK9_PRICE ( 0x0048 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  617. #define ATTRID_SE_TIER4_BLOCK10_PRICE ( 0x0049 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  618. #define ATTRID_SE_TIER4_BLOCK11_PRICE ( 0x004A | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  619. #define ATTRID_SE_TIER4_BLOCK12_PRICE ( 0x004B | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  620. #define ATTRID_SE_TIER4_BLOCK13_PRICE ( 0x004C | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  621. #define ATTRID_SE_TIER4_BLOCK14_PRICE ( 0x004D | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  622. #define ATTRID_SE_TIER4_BLOCK15_PRICE ( 0x004E | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  623. #define ATTRID_SE_TIER4_BLOCK16_PRICE ( 0x004F | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  624. // Tier 5
  625. #define ATTRID_SE_TIER5_BLOCK1_PRICE ( 0x0050 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  626. #define ATTRID_SE_TIER5_BLOCK2_PRICE ( 0x0051 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  627. #define ATTRID_SE_TIER5_BLOCK3_PRICE ( 0x0052 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  628. #define ATTRID_SE_TIER5_BLOCK4_PRICE ( 0x0053 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  629. #define ATTRID_SE_TIER5_BLOCK5_PRICE ( 0x0054 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  630. #define ATTRID_SE_TIER5_BLOCK6_PRICE ( 0x0055 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  631. #define ATTRID_SE_TIER5_BLOCK7_PRICE ( 0x0056 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  632. #define ATTRID_SE_TIER5_BLOCK8_PRICE ( 0x0057 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  633. #define ATTRID_SE_TIER5_BLOCK9_PRICE ( 0x0058 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  634. #define ATTRID_SE_TIER5_BLOCK10_PRICE ( 0x0059 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  635. #define ATTRID_SE_TIER5_BLOCK11_PRICE ( 0x005A | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  636. #define ATTRID_SE_TIER5_BLOCK12_PRICE ( 0x005B | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  637. #define ATTRID_SE_TIER5_BLOCK13_PRICE ( 0x005C | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  638. #define ATTRID_SE_TIER5_BLOCK14_PRICE ( 0x005D | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  639. #define ATTRID_SE_TIER5_BLOCK15_PRICE ( 0x005E | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  640. #define ATTRID_SE_TIER5_BLOCK16_PRICE ( 0x005F | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  641. // Tier 6
  642. #define ATTRID_SE_TIER6_BLOCK1_PRICE ( 0x0060 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  643. #define ATTRID_SE_TIER6_BLOCK2_PRICE ( 0x0061 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  644. #define ATTRID_SE_TIER6_BLOCK3_PRICE ( 0x0062 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  645. #define ATTRID_SE_TIER6_BLOCK4_PRICE ( 0x0063 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  646. #define ATTRID_SE_TIER6_BLOCK5_PRICE ( 0x0064 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  647. #define ATTRID_SE_TIER6_BLOCK6_PRICE ( 0x0065 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  648. #define ATTRID_SE_TIER6_BLOCK7_PRICE ( 0x0066 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  649. #define ATTRID_SE_TIER6_BLOCK8_PRICE ( 0x0067 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  650. #define ATTRID_SE_TIER6_BLOCK9_PRICE ( 0x0068 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  651. #define ATTRID_SE_TIER6_BLOCK10_PRICE ( 0x0069 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  652. #define ATTRID_SE_TIER6_BLOCK11_PRICE ( 0x006A | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  653. #define ATTRID_SE_TIER6_BLOCK12_PRICE ( 0x006B | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  654. #define ATTRID_SE_TIER6_BLOCK13_PRICE ( 0x006C | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  655. #define ATTRID_SE_TIER6_BLOCK14_PRICE ( 0x006D | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  656. #define ATTRID_SE_TIER6_BLOCK15_PRICE ( 0x006E | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  657. #define ATTRID_SE_TIER6_BLOCK16_PRICE ( 0x006F | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  658. // Tier 7
  659. #define ATTRID_SE_TIER7_BLOCK1_PRICE ( 0x0070 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  660. #define ATTRID_SE_TIER7_BLOCK2_PRICE ( 0x0071 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  661. #define ATTRID_SE_TIER7_BLOCK3_PRICE ( 0x0072 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  662. #define ATTRID_SE_TIER7_BLOCK4_PRICE ( 0x0073 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  663. #define ATTRID_SE_TIER7_BLOCK5_PRICE ( 0x0074 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  664. #define ATTRID_SE_TIER7_BLOCK6_PRICE ( 0x0075 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  665. #define ATTRID_SE_TIER7_BLOCK7_PRICE ( 0x0076 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  666. #define ATTRID_SE_TIER7_BLOCK8_PRICE ( 0x0077 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  667. #define ATTRID_SE_TIER7_BLOCK9_PRICE ( 0x0078 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  668. #define ATTRID_SE_TIER7_BLOCK10_PRICE ( 0x0079 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  669. #define ATTRID_SE_TIER7_BLOCK11_PRICE ( 0x007A | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  670. #define ATTRID_SE_TIER7_BLOCK12_PRICE ( 0x007B | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  671. #define ATTRID_SE_TIER7_BLOCK13_PRICE ( 0x007C | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  672. #define ATTRID_SE_TIER7_BLOCK14_PRICE ( 0x007D | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  673. #define ATTRID_SE_TIER7_BLOCK15_PRICE ( 0x007E | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  674. #define ATTRID_SE_TIER7_BLOCK16_PRICE ( 0x007F | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  675. // Tier 8
  676. #define ATTRID_SE_TIER8_BLOCK1_PRICE ( 0x0080 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  677. #define ATTRID_SE_TIER8_BLOCK2_PRICE ( 0x0081 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  678. #define ATTRID_SE_TIER8_BLOCK3_PRICE ( 0x0082 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  679. #define ATTRID_SE_TIER8_BLOCK4_PRICE ( 0x0083 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  680. #define ATTRID_SE_TIER8_BLOCK5_PRICE ( 0x0084 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  681. #define ATTRID_SE_TIER8_BLOCK6_PRICE ( 0x0085 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  682. #define ATTRID_SE_TIER8_BLOCK7_PRICE ( 0x0086 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  683. #define ATTRID_SE_TIER8_BLOCK8_PRICE ( 0x0087 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  684. #define ATTRID_SE_TIER8_BLOCK9_PRICE ( 0x0088 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  685. #define ATTRID_SE_TIER8_BLOCK10_PRICE ( 0x0089 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  686. #define ATTRID_SE_TIER8_BLOCK11_PRICE ( 0x008A | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  687. #define ATTRID_SE_TIER8_BLOCK12_PRICE ( 0x008B | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  688. #define ATTRID_SE_TIER8_BLOCK13_PRICE ( 0x008C | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  689. #define ATTRID_SE_TIER8_BLOCK14_PRICE ( 0x008D | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  690. #define ATTRID_SE_TIER8_BLOCK15_PRICE ( 0x008E | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  691. #define ATTRID_SE_TIER8_BLOCK16_PRICE ( 0x008F | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  692. // Tier 9
  693. #define ATTRID_SE_TIER9_BLOCK1_PRICE ( 0x0090 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  694. #define ATTRID_SE_TIER9_BLOCK2_PRICE ( 0x0091 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  695. #define ATTRID_SE_TIER9_BLOCK3_PRICE ( 0x0092 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  696. #define ATTRID_SE_TIER9_BLOCK4_PRICE ( 0x0093 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  697. #define ATTRID_SE_TIER9_BLOCK5_PRICE ( 0x0094 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  698. #define ATTRID_SE_TIER9_BLOCK6_PRICE ( 0x0095 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  699. #define ATTRID_SE_TIER9_BLOCK7_PRICE ( 0x0096 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  700. #define ATTRID_SE_TIER9_BLOCK8_PRICE ( 0x0097 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  701. #define ATTRID_SE_TIER9_BLOCK9_PRICE ( 0x0098 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  702. #define ATTRID_SE_TIER9_BLOCK10_PRICE ( 0x0099 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  703. #define ATTRID_SE_TIER9_BLOCK11_PRICE ( 0x009A | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  704. #define ATTRID_SE_TIER9_BLOCK12_PRICE ( 0x009B | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  705. #define ATTRID_SE_TIER9_BLOCK13_PRICE ( 0x009C | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  706. #define ATTRID_SE_TIER9_BLOCK14_PRICE ( 0x009D | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  707. #define ATTRID_SE_TIER9_BLOCK15_PRICE ( 0x009E | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  708. #define ATTRID_SE_TIER9_BLOCK16_PRICE ( 0x009F | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  709. // Tier 10
  710. #define ATTRID_SE_TIER10_BLOCK1_PRICE ( 0x00A0 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  711. #define ATTRID_SE_TIER10_BLOCK2_PRICE ( 0x00A1 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  712. #define ATTRID_SE_TIER10_BLOCK3_PRICE ( 0x00A2 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  713. #define ATTRID_SE_TIER10_BLOCK4_PRICE ( 0x00A3 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  714. #define ATTRID_SE_TIER10_BLOCK5_PRICE ( 0x00A4 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  715. #define ATTRID_SE_TIER10_BLOCK6_PRICE ( 0x00A5 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  716. #define ATTRID_SE_TIER10_BLOCK7_PRICE ( 0x00A6 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  717. #define ATTRID_SE_TIER10_BLOCK8_PRICE ( 0x00A7 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  718. #define ATTRID_SE_TIER10_BLOCK9_PRICE ( 0x00A8 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  719. #define ATTRID_SE_TIER10_BLOCK10_PRICE ( 0x00A9 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  720. #define ATTRID_SE_TIER10_BLOCK11_PRICE ( 0x00AA | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  721. #define ATTRID_SE_TIER10_BLOCK12_PRICE ( 0x00AB | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  722. #define ATTRID_SE_TIER10_BLOCK13_PRICE ( 0x00AC | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  723. #define ATTRID_SE_TIER10_BLOCK14_PRICE ( 0x00AD | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  724. #define ATTRID_SE_TIER10_BLOCK15_PRICE ( 0x00AE | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  725. #define ATTRID_SE_TIER10_BLOCK16_PRICE ( 0x00AF | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  726. // Tier 11
  727. #define ATTRID_SE_TIER11_BLOCK1_PRICE ( 0x00B0 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  728. #define ATTRID_SE_TIER11_BLOCK2_PRICE ( 0x00B1 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  729. #define ATTRID_SE_TIER11_BLOCK3_PRICE ( 0x00B2 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  730. #define ATTRID_SE_TIER11_BLOCK4_PRICE ( 0x00B3 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  731. #define ATTRID_SE_TIER11_BLOCK5_PRICE ( 0x00B4 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  732. #define ATTRID_SE_TIER11_BLOCK6_PRICE ( 0x00B5 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  733. #define ATTRID_SE_TIER11_BLOCK7_PRICE ( 0x00B6 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  734. #define ATTRID_SE_TIER11_BLOCK8_PRICE ( 0x00B7 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  735. #define ATTRID_SE_TIER11_BLOCK9_PRICE ( 0x00B8 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  736. #define ATTRID_SE_TIER11_BLOCK10_PRICE ( 0x00B9 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  737. #define ATTRID_SE_TIER11_BLOCK11_PRICE ( 0x00BA | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  738. #define ATTRID_SE_TIER11_BLOCK12_PRICE ( 0x00BB | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  739. #define ATTRID_SE_TIER11_BLOCK13_PRICE ( 0x00BC | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  740. #define ATTRID_SE_TIER11_BLOCK14_PRICE ( 0x00BD | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  741. #define ATTRID_SE_TIER11_BLOCK15_PRICE ( 0x00BE | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  742. #define ATTRID_SE_TIER11_BLOCK16_PRICE ( 0x00BF | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  743. // Tier 12
  744. #define ATTRID_SE_TIER12_BLOCK1_PRICE ( 0x00C0 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  745. #define ATTRID_SE_TIER12_BLOCK2_PRICE ( 0x00C1 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  746. #define ATTRID_SE_TIER12_BLOCK3_PRICE ( 0x00C2 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  747. #define ATTRID_SE_TIER12_BLOCK4_PRICE ( 0x00C3 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  748. #define ATTRID_SE_TIER12_BLOCK5_PRICE ( 0x00C4 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  749. #define ATTRID_SE_TIER12_BLOCK6_PRICE ( 0x00C5 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  750. #define ATTRID_SE_TIER12_BLOCK7_PRICE ( 0x00C6 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  751. #define ATTRID_SE_TIER12_BLOCK8_PRICE ( 0x00C7 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  752. #define ATTRID_SE_TIER12_BLOCK9_PRICE ( 0x00C8 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  753. #define ATTRID_SE_TIER12_BLOCK10_PRICE ( 0x00C9 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  754. #define ATTRID_SE_TIER12_BLOCK11_PRICE ( 0x00CA | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  755. #define ATTRID_SE_TIER12_BLOCK12_PRICE ( 0x00CB | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  756. #define ATTRID_SE_TIER12_BLOCK13_PRICE ( 0x00CC | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  757. #define ATTRID_SE_TIER12_BLOCK14_PRICE ( 0x00CD | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  758. #define ATTRID_SE_TIER12_BLOCK15_PRICE ( 0x00CE | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  759. #define ATTRID_SE_TIER12_BLOCK16_PRICE ( 0x00CF | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  760. // Tier 13
  761. #define ATTRID_SE_TIER13_BLOCK1_PRICE ( 0x00D0 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  762. #define ATTRID_SE_TIER13_BLOCK2_PRICE ( 0x00D1 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  763. #define ATTRID_SE_TIER13_BLOCK3_PRICE ( 0x00D2 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  764. #define ATTRID_SE_TIER13_BLOCK4_PRICE ( 0x00D3 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  765. #define ATTRID_SE_TIER13_BLOCK5_PRICE ( 0x00D4 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  766. #define ATTRID_SE_TIER13_BLOCK6_PRICE ( 0x00D5 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  767. #define ATTRID_SE_TIER13_BLOCK7_PRICE ( 0x00D6 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  768. #define ATTRID_SE_TIER13_BLOCK8_PRICE ( 0x00D7 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  769. #define ATTRID_SE_TIER13_BLOCK9_PRICE ( 0x00D8 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  770. #define ATTRID_SE_TIER13_BLOCK10_PRICE ( 0x00D9 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  771. #define ATTRID_SE_TIER13_BLOCK11_PRICE ( 0x00DA | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  772. #define ATTRID_SE_TIER13_BLOCK12_PRICE ( 0x00DB | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  773. #define ATTRID_SE_TIER13_BLOCK13_PRICE ( 0x00DC | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  774. #define ATTRID_SE_TIER13_BLOCK14_PRICE ( 0x00DD | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  775. #define ATTRID_SE_TIER13_BLOCK15_PRICE ( 0x00DE | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  776. #define ATTRID_SE_TIER13_BLOCK16_PRICE ( 0x00DF | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  777. // Tier 14
  778. #define ATTRID_SE_TIER14_BLOCK1_PRICE ( 0x00E0 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  779. #define ATTRID_SE_TIER14_BLOCK2_PRICE ( 0x00E1 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  780. #define ATTRID_SE_TIER14_BLOCK3_PRICE ( 0x00E2 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  781. #define ATTRID_SE_TIER14_BLOCK4_PRICE ( 0x00E3 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  782. #define ATTRID_SE_TIER14_BLOCK5_PRICE ( 0x00E4 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  783. #define ATTRID_SE_TIER14_BLOCK6_PRICE ( 0x00E5 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  784. #define ATTRID_SE_TIER14_BLOCK7_PRICE ( 0x00E6 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  785. #define ATTRID_SE_TIER14_BLOCK8_PRICE ( 0x00E7 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  786. #define ATTRID_SE_TIER14_BLOCK9_PRICE ( 0x00E8 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  787. #define ATTRID_SE_TIER14_BLOCK10_PRICE ( 0x00E9 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  788. #define ATTRID_SE_TIER14_BLOCK11_PRICE ( 0x00EA | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  789. #define ATTRID_SE_TIER14_BLOCK12_PRICE ( 0x00EB | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  790. #define ATTRID_SE_TIER14_BLOCK13_PRICE ( 0x00EC | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  791. #define ATTRID_SE_TIER14_BLOCK14_PRICE ( 0x00ED | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  792. #define ATTRID_SE_TIER14_BLOCK15_PRICE ( 0x00EE | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  793. #define ATTRID_SE_TIER14_BLOCK16_PRICE ( 0x00EF | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  794. // Tier 15
  795. #define ATTRID_SE_TIER15_BLOCK1_PRICE ( 0x00F0 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  796. #define ATTRID_SE_TIER15_BLOCK2_PRICE ( 0x00F1 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  797. #define ATTRID_SE_TIER15_BLOCK3_PRICE ( 0x00F2 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  798. #define ATTRID_SE_TIER15_BLOCK4_PRICE ( 0x00F3 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  799. #define ATTRID_SE_TIER15_BLOCK5_PRICE ( 0x00F4 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  800. #define ATTRID_SE_TIER15_BLOCK6_PRICE ( 0x00F5 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  801. #define ATTRID_SE_TIER15_BLOCK7_PRICE ( 0x00F6 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  802. #define ATTRID_SE_TIER15_BLOCK8_PRICE ( 0x00F7 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  803. #define ATTRID_SE_TIER15_BLOCK9_PRICE ( 0x00F8 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  804. #define ATTRID_SE_TIER15_BLOCK10_PRICE ( 0x00F9 | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  805. #define ATTRID_SE_TIER15_BLOCK11_PRICE ( 0x00FA | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  806. #define ATTRID_SE_TIER15_BLOCK12_PRICE ( 0x00FB | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  807. #define ATTRID_SE_TIER15_BLOCK13_PRICE ( 0x00FC | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  808. #define ATTRID_SE_TIER15_BLOCK14_PRICE ( 0x00FD | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  809. #define ATTRID_SE_TIER15_BLOCK15_PRICE ( 0x00FE | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  810. #define ATTRID_SE_TIER15_BLOCK16_PRICE ( 0x00FF | ATTRID_MASK_SE_BLOCK_PRICE_INFORMATION )
  811. // Price Cluster - Extended Price Information Attributes 0x05
  812. #define ATTRID_SE_PRICE_TIER_16 ( 0x000F | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  813. #define ATTRID_SE_PRICE_TIER_17 ( 0x0010 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  814. #define ATTRID_SE_PRICE_TIER_18 ( 0x0011 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  815. #define ATTRID_SE_PRICE_TIER_19 ( 0x0012 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  816. #define ATTRID_SE_PRICE_TIER_20 ( 0x0013 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  817. #define ATTRID_SE_PRICE_TIER_21 ( 0x0014 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  818. #define ATTRID_SE_PRICE_TIER_22 ( 0x0015 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  819. #define ATTRID_SE_PRICE_TIER_23 ( 0x0016 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  820. #define ATTRID_SE_PRICE_TIER_24 ( 0x0017 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  821. #define ATTRID_SE_PRICE_TIER_25 ( 0x0018 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  822. #define ATTRID_SE_PRICE_TIER_26 ( 0x0019 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  823. #define ATTRID_SE_PRICE_TIER_27 ( 0x001A | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  824. #define ATTRID_SE_PRICE_TIER_28 ( 0x001B | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  825. #define ATTRID_SE_PRICE_TIER_29 ( 0x001C | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  826. #define ATTRID_SE_PRICE_TIER_30 ( 0x001D | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  827. #define ATTRID_SE_PRICE_TIER_31 ( 0x001E | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  828. #define ATTRID_SE_PRICE_TIER_32 ( 0x001F | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  829. #define ATTRID_SE_PRICE_TIER_33 ( 0x0020 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  830. #define ATTRID_SE_PRICE_TIER_34 ( 0x0021 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  831. #define ATTRID_SE_PRICE_TIER_35 ( 0x0022 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  832. #define ATTRID_SE_PRICE_TIER_36 ( 0x0023 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  833. #define ATTRID_SE_PRICE_TIER_37 ( 0x0024 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  834. #define ATTRID_SE_PRICE_TIER_38 ( 0x0025 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  835. #define ATTRID_SE_PRICE_TIER_39 ( 0x0026 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  836. #define ATTRID_SE_PRICE_TIER_40 ( 0x0027 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  837. #define ATTRID_SE_PRICE_TIER_41 ( 0x0028 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  838. #define ATTRID_SE_PRICE_TIER_42 ( 0x0029 | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  839. #define ATTRID_SE_PRICE_TIER_43 ( 0x002A | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  840. #define ATTRID_SE_PRICE_TIER_44 ( 0x002B | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  841. #define ATTRID_SE_PRICE_TIER_45 ( 0x002C | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  842. #define ATTRID_SE_PRICE_TIER_46 ( 0x002D | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  843. #define ATTRID_SE_PRICE_TIER_47 ( 0x002E | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  844. #define ATTRID_SE_PRICE_TIER_48 ( 0x002F | ATTRID_MASK_SE_EXT_PRICE_INFORMATION )
  845. // Price Cluster - Tariff Information Attributes 0x06
  846. #define ATTRID_SE_TARIFF_LABEL ( 0x0010 | ATTRID_MASK_SE_TARIFF_INFORMATION )
  847. #define ATTRID_SE_NUM_PRICE_TIERS_IN_USE ( 0x0011 | ATTRID_MASK_SE_TARIFF_INFORMATION )
  848. #define ATTRID_SE_NUM_BLOCK_THRESHOLDS_IN_USE ( 0x0012 | ATTRID_MASK_SE_TARIFF_INFORMATION )
  849. #define ATTRID_SE_TIER_BLOCK_MODE ( 0x0013 | ATTRID_MASK_SE_TARIFF_INFORMATION )
  850. #define ATTRID_SE_BLOCK_THRESHOLD_MASK ( 0x0014 | ATTRID_MASK_SE_TARIFF_INFORMATION )
  851. #define ATTRID_SE_PC_UNIT_OF_MEASURE ( 0x0015 | ATTRID_MASK_SE_TARIFF_INFORMATION )
  852. #define ATTRID_SE_CURRENCY ( 0x0016 | ATTRID_MASK_SE_TARIFF_INFORMATION )
  853. #define ATTRID_SE_PRICE_TRAILING_DIGIT ( 0x0017 | ATTRID_MASK_SE_TARIFF_INFORMATION )
  854. #define ATTRID_SE_STANDARD_CHARGE ( 0x0018 | ATTRID_MASK_SE_TARIFF_INFORMATION )
  855. #define ATTRID_SE_CONSERVATION_FACTOR ( 0x0020 | ATTRID_MASK_SE_TARIFF_INFORMATION )
  856. #define ATTRID_SE_CONSERVATION_FACTOR_TRAILING_DIGIT ( 0x0021 | ATTRID_MASK_SE_TARIFF_INFORMATION )
  857. #define ATTRID_SE_CALORIFIC_VALUE ( 0x0022 | ATTRID_MASK_SE_TARIFF_INFORMATION )
  858. #define ATTRID_SE_CALORIFIC_VALUE_UNIT ( 0x0023 | ATTRID_MASK_SE_TARIFF_INFORMATION )
  859. #define ATTRID_SE_CALORIFIC_VALUE_TRAILING_DIGIT ( 0x0024 | ATTRID_MASK_SE_TARIFF_INFORMATION )
  860. #define ATTRID_SE_CO2 ( 0x0025 | ATTRID_MASK_SE_TARIFF_INFORMATION )
  861. #define ATTRID_SE_CO2_UNIT ( 0x0026 | ATTRID_MASK_SE_TARIFF_INFORMATION )
  862. #define ATTRID_SE_CO2_TRAILING_DIGIT ( 0x0027 | ATTRID_MASK_SE_TARIFF_INFORMATION )
  863. // Price Cluster - Billing Information Attributes 0x07
  864. #define ATTRID_SE_CURRENT_BILLING_PERIOD_START ( 0x0000 | ATTRID_MASK_SE_BILLING_INFORMATION )
  865. #define ATTRID_SE_CURRENT_BILLING_PERIOD_DURATION ( 0x0001 | ATTRID_MASK_SE_BILLING_INFORMATION )
  866. #define ATTRID_SE_LAST_BILLING_PERIOD_START ( 0x0002 | ATTRID_MASK_SE_BILLING_INFORMATION )
  867. #define ATTRID_SE_LAST_BILLING_PERIOD_DURATION ( 0x0003 | ATTRID_MASK_SE_BILLING_INFORMATION )
  868. #define ATTRID_SE_LAST_BILLING_PERIOD_CONSOLIDATED ( 0x0004 | ATTRID_MASK_SE_BILLING_INFORMATION )
  869. // Price Cluster - Credit Payment Attributes 0x08
  870. #define ATTRID_SE_CREDIT_PAYMENT_DUE_DATE ( 0x0000 | ATTRID_MASK_SE_CREDIT_PAYMENT )
  871. #define ATTRID_SE_CREDIT_PAYMENT_STATUS ( 0x0001 | ATTRID_MASK_SE_CREDIT_PAYMENT )
  872. #define ATTRID_SE_CREDIT_PAYMENT_OVERDUE_AMOUNT ( 0x0002 | ATTRID_MASK_SE_CREDIT_PAYMENT )
  873. #define ATTRID_SE_PAYMENT_DISCOUNT ( 0x000A | ATTRID_MASK_SE_CREDIT_PAYMENT )
  874. #define ATTRID_SE_PAYMENT_DISCOUNT_PERIOD ( 0x000B | ATTRID_MASK_SE_CREDIT_PAYMENT )
  875. #define ATTRID_SE_CREDIT_PAYMENT_1 ( 0x0010 | ATTRID_MASK_SE_CREDIT_PAYMENT )
  876. #define ATTRID_SE_CREDIT_PAYMENT_DATE_1 ( 0x0011 | ATTRID_MASK_SE_CREDIT_PAYMENT )
  877. #define ATTRID_SE_CREDIT_PAYMENT_REF_1 ( 0x0012 | ATTRID_MASK_SE_CREDIT_PAYMENT )
  878. #define ATTRID_SE_CREDIT_PAYMENT_2 ( 0x0020 | ATTRID_MASK_SE_CREDIT_PAYMENT )
  879. #define ATTRID_SE_CREDIT_PAYMENT_DATE_2 ( 0x0021 | ATTRID_MASK_SE_CREDIT_PAYMENT )
  880. #define ATTRID_SE_CREDIT_PAYMENT_REF_2 ( 0x0022 | ATTRID_MASK_SE_CREDIT_PAYMENT )
  881. #define ATTRID_SE_CREDIT_PAYMENT_3 ( 0x0030 | ATTRID_MASK_SE_CREDIT_PAYMENT )
  882. #define ATTRID_SE_CREDIT_PAYMENT_DATE_3 ( 0x0031 | ATTRID_MASK_SE_CREDIT_PAYMENT )
  883. #define ATTRID_SE_CREDIT_PAYMENT_REF_3 ( 0x0032 | ATTRID_MASK_SE_CREDIT_PAYMENT )
  884. #define ATTRID_SE_CREDIT_PAYMENT_4 ( 0x0040 | ATTRID_MASK_SE_CREDIT_PAYMENT )
  885. #define ATTRID_SE_CREDIT_PAYMENT_DATE_4 ( 0x0041 | ATTRID_MASK_SE_CREDIT_PAYMENT )
  886. #define ATTRID_SE_CREDIT_PAYMENT_REF_4 ( 0x0042 | ATTRID_MASK_SE_CREDIT_PAYMENT )
  887. #define ATTRID_SE_CREDIT_PAYMENT_5 ( 0x0050 | ATTRID_MASK_SE_CREDIT_PAYMENT )
  888. #define ATTRID_SE_CREDIT_PAYMENT_DATE_5 ( 0x0051 | ATTRID_MASK_SE_CREDIT_PAYMENT )
  889. #define ATTRID_SE_CREDIT_PAYMENT_REF_5 ( 0x0052 | ATTRID_MASK_SE_CREDIT_PAYMENT )
  890. // Price Cluster - Tax Control Attributes 0x09
  891. #define ATTRID_SE_DOMESTIC_PERCENTAGE ( 0x0000 | ATTRID_MASK_SE_TAX_CONTROL )
  892. #define ATTRID_SE_DOMESTIC_FUEL_TAX_RATE ( 0x0001 | ATTRID_MASK_SE_TAX_CONTROL )
  893. #define ATTRID_SE_DOMESTIC_FUEL_TAX_RATE_TRAILING_DIGIT ( 0x0002 | ATTRID_MASK_SE_TAX_CONTROL )
  894. // Price Cluster - Export Tier Label Attributes 0x80
  895. #define ATTRID_SE_EX_TIER1_PRICE_LABEL ( 0x0000 | ATTRID_MASK_SE_EXPORT_TIER_LABEL )
  896. #define ATTRID_SE_EX_TIER2_PRICE_LABEL ( 0x0001 | ATTRID_MASK_SE_EXPORT_TIER_LABEL )
  897. #define ATTRID_SE_EX_TIER3_PRICE_LABEL ( 0x0002 | ATTRID_MASK_SE_EXPORT_TIER_LABEL )
  898. #define ATTRID_SE_EX_TIER4_PRICE_LABEL ( 0x0003 | ATTRID_MASK_SE_EXPORT_TIER_LABEL )
  899. #define ATTRID_SE_EX_TIER5_PRICE_LABEL ( 0x0004 | ATTRID_MASK_SE_EXPORT_TIER_LABEL )
  900. #define ATTRID_SE_EX_TIER6_PRICE_LABEL ( 0x0005 | ATTRID_MASK_SE_EXPORT_TIER_LABEL )
  901. #define ATTRID_SE_EX_TIER7_PRICE_LABEL ( 0x0006 | ATTRID_MASK_SE_EXPORT_TIER_LABEL )
  902. #define ATTRID_SE_EX_TIER8_PRICE_LABEL ( 0x0007 | ATTRID_MASK_SE_EXPORT_TIER_LABEL )
  903. #define ATTRID_SE_EX_TIER9_PRICE_LABEL ( 0x0008 | ATTRID_MASK_SE_EXPORT_TIER_LABEL )
  904. #define ATTRID_SE_EX_TIER10_PRICE_LABEL ( 0x0009 | ATTRID_MASK_SE_EXPORT_TIER_LABEL )
  905. #define ATTRID_SE_EX_TIER11_PRICE_LABEL ( 0x000A | ATTRID_MASK_SE_EXPORT_TIER_LABEL )
  906. #define ATTRID_SE_EX_TIER12_PRICE_LABEL ( 0x000B | ATTRID_MASK_SE_EXPORT_TIER_LABEL )
  907. #define ATTRID_SE_EX_TIER13_PRICE_LABEL ( 0x000C | ATTRID_MASK_SE_EXPORT_TIER_LABEL )
  908. #define ATTRID_SE_EX_TIER14_PRICE_LABEL ( 0x000D | ATTRID_MASK_SE_EXPORT_TIER_LABEL )
  909. #define ATTRID_SE_EX_TIER15_PRICE_LABEL ( 0x000E | ATTRID_MASK_SE_EXPORT_TIER_LABEL )
  910. // Price Cluster - Export Block Threshold Attributes 0x81
  911. #define ATTRID_SE_EX_BLOCK1_THRESHOLD ( 0x0000 | ATTRID_MASK_SE_EXPORT_BLOCK_THRESHOLD )
  912. #define ATTRID_SE_EX_BLOCK2_THRESHOLD ( 0x0001 | ATTRID_MASK_SE_EXPORT_BLOCK_THRESHOLD )
  913. #define ATTRID_SE_EX_BLOCK3_THRESHOLD ( 0x0002 | ATTRID_MASK_SE_EXPORT_BLOCK_THRESHOLD )
  914. #define ATTRID_SE_EX_BLOCK4_THRESHOLD ( 0x0003 | ATTRID_MASK_SE_EXPORT_BLOCK_THRESHOLD )
  915. #define ATTRID_SE_EX_BLOCK5_THRESHOLD ( 0x0004 | ATTRID_MASK_SE_EXPORT_BLOCK_THRESHOLD )
  916. #define ATTRID_SE_EX_BLOCK6_THRESHOLD ( 0x0005 | ATTRID_MASK_SE_EXPORT_BLOCK_THRESHOLD )
  917. #define ATTRID_SE_EX_BLOCK7_THRESHOLD ( 0x0006 | ATTRID_MASK_SE_EXPORT_BLOCK_THRESHOLD )
  918. #define ATTRID_SE_EX_BLOCK8_THRESHOLD ( 0x0007 | ATTRID_MASK_SE_EXPORT_BLOCK_THRESHOLD )
  919. #define ATTRID_SE_EX_BLOCK9_THRESHOLD ( 0x0008 | ATTRID_MASK_SE_EXPORT_BLOCK_THRESHOLD )
  920. #define ATTRID_SE_EX_BLOCK10_THRESHOLD ( 0x0009 | ATTRID_MASK_SE_EXPORT_BLOCK_THRESHOLD )
  921. #define ATTRID_SE_EX_BLOCK11_THRESHOLD ( 0x000A | ATTRID_MASK_SE_EXPORT_BLOCK_THRESHOLD )
  922. #define ATTRID_SE_EX_BLOCK12_THRESHOLD ( 0x000B | ATTRID_MASK_SE_EXPORT_BLOCK_THRESHOLD )
  923. #define ATTRID_SE_EX_BLOCK13_THRESHOLD ( 0x000C | ATTRID_MASK_SE_EXPORT_BLOCK_THRESHOLD )
  924. #define ATTRID_SE_EX_BLOCK14_THRESHOLD ( 0x000D | ATTRID_MASK_SE_EXPORT_BLOCK_THRESHOLD )
  925. #define ATTRID_SE_EX_BLOCK15_THRESHOLD ( 0x000E | ATTRID_MASK_SE_EXPORT_BLOCK_THRESHOLD )
  926. // Price Cluster - Export Block Period Attributes 0x82
  927. #define ATTRID_SE_EX_START_OF_BLOCK_PERIOD ( 0x0000 | ATTRID_MASK_SE_EXPORT_BLOCK_PERIOD )
  928. #define ATTRID_SE_EX_BLOCK_PERIOD_DURATION ( 0x0001 | ATTRID_MASK_SE_EXPORT_BLOCK_PERIOD )
  929. #define ATTRID_SE_EX_THRESHOLD_MULTIPLIER ( 0x0002 | ATTRID_MASK_SE_EXPORT_BLOCK_PERIOD )
  930. #define ATTRID_SE_EX_THRESHOLD_DIVISOR ( 0x0003 | ATTRID_MASK_SE_EXPORT_BLOCK_PERIOD )
  931. // Price Cluster - Export Block Price Information Attributes 0x84
  932. #define ATTRID_SE_EX_TIER_X_BLOCK_Y_PRICE(X,Y) (( ((X&0xF)<<4) | ((Y-1)&0xF)) | ATTRID_MASK_SE_EXPORT_BLOCK_PRICE_INFO )
  933. // Price Cluster - Export Extended Price Information Attributes 0x85
  934. #define ATTRID_SE_EX_PRICE_TIER_16 ( 0x000F | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  935. #define ATTRID_SE_EX_PRICE_TIER_17 ( 0x0010 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  936. #define ATTRID_SE_EX_PRICE_TIER_18 ( 0x0011 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  937. #define ATTRID_SE_EX_PRICE_TIER_19 ( 0x0012 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  938. #define ATTRID_SE_EX_PRICE_TIER_20 ( 0x0013 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  939. #define ATTRID_SE_EX_PRICE_TIER_21 ( 0x0014 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  940. #define ATTRID_SE_EX_PRICE_TIER_22 ( 0x0015 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  941. #define ATTRID_SE_EX_PRICE_TIER_23 ( 0x0016 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  942. #define ATTRID_SE_EX_PRICE_TIER_24 ( 0x0017 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  943. #define ATTRID_SE_EX_PRICE_TIER_25 ( 0x0018 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  944. #define ATTRID_SE_EX_PRICE_TIER_26 ( 0x0019 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  945. #define ATTRID_SE_EX_PRICE_TIER_27 ( 0x001A | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  946. #define ATTRID_SE_EX_PRICE_TIER_28 ( 0x001B | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  947. #define ATTRID_SE_EX_PRICE_TIER_29 ( 0x001C | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  948. #define ATTRID_SE_EX_PRICE_TIER_30 ( 0x001D | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  949. #define ATTRID_SE_EX_PRICE_TIER_31 ( 0x001E | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  950. #define ATTRID_SE_EX_PRICE_TIER_32 ( 0x001F | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  951. #define ATTRID_SE_EX_PRICE_TIER_33 ( 0x0020 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  952. #define ATTRID_SE_EX_PRICE_TIER_34 ( 0x0021 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  953. #define ATTRID_SE_EX_PRICE_TIER_35 ( 0x0022 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  954. #define ATTRID_SE_EX_PRICE_TIER_36 ( 0x0023 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  955. #define ATTRID_SE_EX_PRICE_TIER_37 ( 0x0024 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  956. #define ATTRID_SE_EX_PRICE_TIER_38 ( 0x0025 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  957. #define ATTRID_SE_EX_PRICE_TIER_39 ( 0x0026 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  958. #define ATTRID_SE_EX_PRICE_TIER_40 ( 0x0027 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  959. #define ATTRID_SE_EX_PRICE_TIER_41 ( 0x0028 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  960. #define ATTRID_SE_EX_PRICE_TIER_42 ( 0x0029 | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  961. #define ATTRID_SE_EX_PRICE_TIER_43 ( 0x002A | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  962. #define ATTRID_SE_EX_PRICE_TIER_44 ( 0x002B | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  963. #define ATTRID_SE_EX_PRICE_TIER_45 ( 0x002C | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  964. #define ATTRID_SE_EX_PRICE_TIER_46 ( 0x002D | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  965. #define ATTRID_SE_EX_PRICE_TIER_47 ( 0x002E | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  966. #define ATTRID_SE_EX_PRICE_TIER_48 ( 0x002F | ATTRID_MASK_SE_EXPORT_EXT_PRICE_INFO )
  967. // Price Cluster - Export Tariff Information Attributes 0x86
  968. #define ATTRID_SE_EX_TARIFF_LABEL ( 0x0010 | ATTRID_MASK_SE_EXPORT_TARIFF_INFO )
  969. #define ATTRID_SE_EX_NUM_PRICE_TIERS_IN_USE ( 0x0011 | ATTRID_MASK_SE_EXPORT_TARIFF_INFO )
  970. #define ATTRID_SE_EX_NUM_BLOCK_THRESHOLDS_IN_USE ( 0x0012 | ATTRID_MASK_SE_EXPORT_TARIFF_INFO )
  971. #define ATTRID_SE_EX_TIER_BLOCK_MODE ( 0x0013 | ATTRID_MASK_SE_EXPORT_TARIFF_INFO )
  972. #define ATTRID_SE_EX_BLOCK_THRESHOLD_MASK ( 0x0014 | ATTRID_MASK_SE_EXPORT_TARIFF_INFO )
  973. #define ATTRID_SE_EX_CO2 ( 0x0025 | ATTRID_MASK_SE_EXPORT_TARIFF_INFO )
  974. #define ATTRID_SE_EX_CO2_UNIT ( 0x0026 | ATTRID_MASK_SE_EXPORT_TARIFF_INFO )
  975. #define ATTRID_SE_EX_CO2_TRAILING_DIGIT ( 0x0027 | ATTRID_MASK_SE_EXPORT_TARIFF_INFO )
  976. // Price Cluster - Export Billing Information Attributes 0x87
  977. #define ATTRID_SE_EX_CURRENT_BILLING_PERIOD_START ( 0x0000 | ATTRID_MASK_SE_EXPORT_BILLING_INFO )
  978. #define ATTRID_SE_EX_CURRENT_BILLING_PERIOD_DURATION ( 0x0001 | ATTRID_MASK_SE_EXPORT_BILLING_INFO )
  979. #define ATTRID_SE_EX_LAST_BILLING_PERIOD_START ( 0x0002 | ATTRID_MASK_SE_EXPORT_BILLING_INFO )
  980. #define ATTRID_SE_EX_LAST_BILLING_PERIOD_DURATION ( 0x0003 | ATTRID_MASK_SE_EXPORT_BILLING_INFO )
  981. #define ATTRID_SE_EX_LAST_BILLING_PERIOD_CONSOLIDATED ( 0x0004 | ATTRID_MASK_SE_EXPORT_BILLING_INFO )
  982. // Prepayment Cluster Attribute Sets
  983. #define ATTRID_MASK_SE_PREPAYMENT_INFO_SET ( 0x0000 )
  984. #define ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET ( 0x0100 )
  985. #define ATTRID_MASK_SE_DEBT_ATTRIBUTE_SET ( 0x0200 )
  986. #ifndef SE_UK_EXT // SE 1.1
  987. #define ATTRID_MASK_SE_SUPPLY_CONTROL_SET ( 0x0300 )
  988. #else
  989. #define ATTRID_MASK_SE_ALARMS_SET ( 0x0300 )
  990. #endif // SE_UK_EXT
  991. // Prepayment Cluster - Prepayment Information Set Attributes 0x00
  992. #define ATTRID_SE_PAYMENT_CONTROL ( 0x0000 | ATTRID_MASK_SE_PREPAYMENT_INFO_SET )
  993. #define ATTRID_SE_CREDIT_REMAINING ( 0x0001 | ATTRID_MASK_SE_PREPAYMENT_INFO_SET )
  994. #define ATTRID_SE_EMERGENCY_CREDIT_REMAINING ( 0x0002 | ATTRID_MASK_SE_PREPAYMENT_INFO_SET )
  995. #define ATTRID_SE_CREDIT_STATUS ( 0x0003 | ATTRID_MASK_SE_PREPAYMENT_INFO_SET )
  996. #define ATTRID_SE_EMERGENCY_CREDIT_LIMIT ( 0x0010 | ATTRID_MASK_SE_PREPAYMENT_INFO_SET )
  997. #define ATTRID_SE_EMERGENCY_CREDIT_THRESHOLD ( 0x0011 | ATTRID_MASK_SE_PREPAYMENT_INFO_SET )
  998. #define ATTRID_SE_TOTAL_CREDIT_ADDED ( 0x0020 | ATTRID_MASK_SE_PREPAYMENT_INFO_SET )
  999. #define ATTRID_SE_MAX_CREDIT_LIMIT ( 0x0021 | ATTRID_MASK_SE_PREPAYMENT_INFO_SET )
  1000. #define ATTRID_SE_FRIENDLY_CREDIT_WARNING ( 0x0030 | ATTRID_MASK_SE_PREPAYMENT_INFO_SET )
  1001. #define ATTRID_SE_CUT_OFF_VALUE ( 0x0040 | ATTRID_MASK_SE_PREPAYMENT_INFO_SET )
  1002. #define ATTRID_SE_PAYMENT_CARD_ID ( 0x0080 | ATTRID_MASK_SE_PREPAYMENT_INFO_SET )
  1003. // Prepayment Cluster - Top-up Attribute Set Attributes 0x01
  1004. #define ATTRID_SE_TOPUP_DATE_TIME_1 ( 0x0000 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1005. #define ATTRID_SE_TOPUP_AMOUNT_1 ( 0x0001 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1006. #define ATTRID_SE_ORIGINATING_DEVICE_1 ( 0x0002 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1007. #define ATTRID_SE_TOPUP_CODE_1 ( 0x0003 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1008. #define ATTRID_SE_TOPUP_DATE_TIME_2 ( 0x0010 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1009. #define ATTRID_SE_TOPUP_AMOUNT_2 ( 0x0011 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1010. #define ATTRID_SE_ORIGINATING_DEVICE_2 ( 0x0012 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1011. #define ATTRID_SE_TOPUP_CODE_2 ( 0x0013 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1012. #define ATTRID_SE_TOPUP_DATE_TIME_3 ( 0x0020 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1013. #define ATTRID_SE_TOPUP_AMOUNT_3 ( 0x0021 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1014. #define ATTRID_SE_ORIGINATING_DEVICE_3 ( 0x0022 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1015. #define ATTRID_SE_TOPUP_CODE_3 ( 0x0023 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1016. #define ATTRID_SE_TOPUP_DATE_TIME_4 ( 0x0030 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1017. #define ATTRID_SE_TOPUP_AMOUNT_4 ( 0x0031 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1018. #define ATTRID_SE_ORIGINATING_DEVICE_4 ( 0x0032 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1019. #define ATTRID_SE_TOPUP_CODE_4 ( 0x0033 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1020. #define ATTRID_SE_TOPUP_DATE_TIME_5 ( 0x0040 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1021. #define ATTRID_SE_TOPUP_AMOUNT_5 ( 0x0041 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1022. #define ATTRID_SE_ORIGINATING_DEVICE_5 ( 0x0042 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1023. #define ATTRID_SE_TOPUP_CODE_5 ( 0x0043 | ATTRID_MASK_SE_TOPUP_ATTRIBUTE_SET )
  1024. // Prepayment Cluster - Debt Attribute Set Attributes 0x02
  1025. #define ATTRID_SE_FUEL_DEBT_REMAINING ( 0x0000 | ATTRID_MASK_SE_DEBT_ATTRIBUTE_SET )
  1026. #define ATTRID_SE_FUEL_DEBT_RECOVERY_RATE ( 0x0001 | ATTRID_MASK_SE_DEBT_ATTRIBUTE_SET )
  1027. #define ATTRID_SE_FUEL_DEBT_RECOVERY_PERIOD ( 0x0002 | ATTRID_MASK_SE_DEBT_ATTRIBUTE_SET )
  1028. #define ATTRID_SE_NON_FUEL_DEBT_REMAINING ( 0x0003 | ATTRID_MASK_SE_DEBT_ATTRIBUTE_SET )
  1029. #define ATTRID_SE_NON_FUEL_DEBT_RECOVERY_RATE ( 0x0004 | ATTRID_MASK_SE_DEBT_ATTRIBUTE_SET )
  1030. #define ATTRID_SE_NON_FUEL_DEBT_RECOVERY_PERIOD ( 0x0005 | ATTRID_MASK_SE_DEBT_ATTRIBUTE_SET )
  1031. #ifndef SE_UK_EXT // SE 1.1
  1032. // Prepayment Cluster - Supply Control Set Attributes 0x03
  1033. #define ATTRID_SE_PROPOSED_CHANGE_PROVIDER_ID ( 0x0000 | ATTRID_MASK_SE_SUPPLY_CONTROL_SET )
  1034. #define ATTRID_SE_PROPOSED_CHANGE_IMPLEMENTATION_TIME ( 0x0001 | ATTRID_MASK_SE_SUPPLY_CONTROL_SET )
  1035. #define ATTRID_SE_PROPOSED_CHANGE_SUPPLY_STATUS ( 0x0002 | ATTRID_MASK_SE_SUPPLY_CONTROL_SET )
  1036. #define ATTRID_SE_DELAYED_SUPPLY_INTERRUPT_VALUE_REMAINING ( 0x0003 | ATTRID_MASK_SE_SUPPLY_CONTROL_SET )
  1037. #define ATTRID_SE_DELAYED_SUPPLY_INTERRUPT_VALUE_TYPE ( 0x0004 | ATTRID_MASK_SE_SUPPLY_CONTROL_SET )
  1038. #else
  1039. // Prepayment Cluster - Alarm Set Attributes 0x03
  1040. #define ATTRID_SE_PREPAYMENT_ALARM_STATUS ( 0x0000 | ATTRID_MASK_SE_ALARMS_SET )
  1041. #define ATTRID_SE_PREPAY_GENERIC_ALARM_MASK ( 0x0001 | ATTRID_MASK_SE_ALARMS_SET )
  1042. #define ATTRID_SE_PREPAY_SWITCH_ALARM_MASK ( 0x0002 | ATTRID_MASK_SE_ALARMS_SET )
  1043. #define ATTRID_SE_PREPAY_EVENT_ALARM_MASK ( 0x0003 | ATTRID_MASK_SE_ALARMS_SET )
  1044. #endif
  1045. // Tunneling Server Cluster Attributes
  1046. #define ATTRID_SE_CLOSE_TUNNEL_TIMEOUT 0x0000
  1047. #ifdef SE_UK_EXT
  1048. // Device Management Server Cluster Attribute Sets
  1049. #define ATTRID_MASK_SE_SUPPLY_CONTROL_SET 0x0000
  1050. #define ATTRID_MASK_SE_SUPPLIER_CONTROL_SET 0x0100
  1051. #define ATTRID_MASK_SE_TENANCY_CONTROL_SET 0x0200
  1052. // Device Management Server Cluster - Supply Control Set Attributes 0x00
  1053. #define ATTRID_SE_PROPOSED_CHANGE_SUPPLY_IMPLEM_TIME ( 0x0000 | ATTRID_MASK_SE_SUPPLY_CONTROL_SET )
  1054. #define ATTRID_SE_PROPOSED_CHANGE_SUPPLY_STATUS ( 0x0001 | ATTRID_MASK_SE_SUPPLY_CONTROL_SET )
  1055. // Device Management Server Cluster - Supplier Control Set Attributes 0x01
  1056. #define ATTRID_SE_SERVER_SUPPLIER_ID ( 0x0000 | ATTRID_MASK_SE_SUPPLIER_CONTROL_SET )
  1057. #define ATTRID_SE_SUPPLIER_NAME ( 0x0001 | ATTRID_MASK_SE_SUPPLIER_CONTROL_SET )
  1058. #define ATTRID_SE_PROPOSED_SUPPLIER_ID ( 0x0010 | ATTRID_MASK_SE_SUPPLIER_CONTROL_SET )
  1059. #define ATTRID_SE_PROPOSED_SUPPLIER_NAME ( 0x0011 | ATTRID_MASK_SE_SUPPLIER_CONTROL_SET )
  1060. #define ATTRID_SE_PROPOSED_SUPPLIER_CHANGE_DATE_TIME ( 0x0012 | ATTRID_MASK_SE_SUPPLIER_CONTROL_SET )
  1061. #define ATTRID_SE_PROPOSED_SUPPLIER_CHANGE_CONTROL ( 0x0013 | ATTRID_MASK_SE_SUPPLIER_CONTROL_SET )
  1062. #define ATTRID_SE_SERVER_EX_SUPPLIER_ID ( 0x0020 | ATTRID_MASK_SE_SUPPLIER_CONTROL_SET )
  1063. #define ATTRID_SE_EX_SUPPLIER_NAME ( 0x0021 | ATTRID_MASK_SE_SUPPLIER_CONTROL_SET )
  1064. #define ATTRID_SE_EX_PROPOSED_SUPPLIER_ID ( 0x0030 | ATTRID_MASK_SE_SUPPLIER_CONTROL_SET )
  1065. #define ATTRID_SE_EX_PROPOSED_SUPPLIER_NAME ( 0x0031 | ATTRID_MASK_SE_SUPPLIER_CONTROL_SET )
  1066. #define ATTRID_SE_EX_PROPOSED_SUPPLIER_CHANGE_DATE_TIME ( 0x0032 | ATTRID_MASK_SE_SUPPLIER_CONTROL_SET )
  1067. #define ATTRID_SE_EX_PROPOSED_SUPPLIER_CHANGE_CONTROL ( 0x0033 | ATTRID_MASK_SE_SUPPLIER_CONTROL_SET )
  1068. // Device Management Server Cluster - Tenancy Control Set Attributes 0x02
  1069. #define ATTRID_SE_CHANGE_TENANCY_UPDATE_DATE_TIME ( 0x0000 | ATTRID_MASK_SE_TENANCY_CONTROL_SET )
  1070. #define ATTRID_SE_PROPOSED_TENANCY_CHANGE_CONTROL ( 0x0001 | ATTRID_MASK_SE_TENANCY_CONTROL_SET )
  1071. // Device Management Client Cluster Attribute Sets
  1072. #define ATTRID_MASK_SE_SUPPLIER_SET 0x0000
  1073. #define ATTRID_MASK_SE_EVENT_CONFIGURATION 0x0100
  1074. // Device Management Client Cluster - Supplier Set Attributes 0x00
  1075. #define ATTRID_SE_CLIENT_SUPPLIER_ID ( 0x0000 | ATTRID_MASK_SE_SUPPLIER_SET )
  1076. #define ATTRID_SE_CLIENT_EX_SUPPLIER_ID ( 0x0010 | ATTRID_MASK_SE_SUPPLIER_SET )
  1077. // Device Management Client Cluster - Event Configuration Set Attributes 0x01
  1078. #define ATTRID_SE_METER_COVER_REMOVED ( 0x0000 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1079. #define ATTRID_SE_METER_COVER_CLOSED ( 0x0001 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1080. #define ATTRID_SE_STRONG_MAGNETIC_FIELD ( 0x0002 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1081. #define ATTRID_SE_NO_STRONG_MAGNETIC_FIELD ( 0x0003 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1082. #define ATTRID_SE_BATTERY_FAILURE ( 0x0004 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1083. #define ATTRID_SE_LOW_BATTERY ( 0x0005 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1084. #define ATTRID_SE_PROGRAM_MEMORY_ERROR ( 0x0006 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1085. #define ATTRID_SE_RAM_ERROR ( 0x0007 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1086. #define ATTRID_SE_NV_MEMORY_ERROR ( 0x0008 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1087. #define ATTRID_SE_MEASUREMENT_SYSTEM_ERROR ( 0x0009 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1088. #define ATTRID_SE_WATCHDOG_ERROR ( 0x000A | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1089. #define ATTRID_SE_SUPPLY_DISCONNECT_FAILURE ( 0x000B | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1090. #define ATTRID_SE_SUPPLY_CONNECT_FAILURE ( 0x000C | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1091. #define ATTRID_SE_MEASUREMENT_SOFTWARE_CHANGE ( 0x000D | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1092. #define ATTRID_SE_DST_ENABLED ( 0x000E | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1093. #define ATTRID_SE_DST_DISABLED ( 0x000F | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1094. #define ATTRID_SE_CLOCK_ADJ_BACKWARD ( 0x0010 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1095. #define ATTRID_SE_CLOCK_ADJ_FORWARD ( 0x0011 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1096. #define ATTRID_SE_CLOCK_INVALID ( 0x0012 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1097. #define ATTRID_SE_COMM_ERROR_HAN ( 0x0013 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1098. #define ATTRID_SE_COMM_OK_HAN ( 0x0014 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1099. #define ATTRID_SE_FRAUD_ATTEMPT ( 0x0015 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1100. #define ATTRID_SE_POWER_LOSS ( 0x0016 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1101. #define ATTRID_SE_INCORRECT_PROTOCOLS ( 0x0017 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1102. #define ATTRID_SE_UNUSUAL_HAN_TRAFFIC ( 0x0018 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1103. #define ATTRID_SE_UNEXPECTED_CLOCK_CHANGE ( 0x0019 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1104. #define ATTRID_SE_COMMS_USING_UNAUTH_COMPONENT ( 0x001A | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1105. #define ATTRID_SE_ERROR_REG_CLEAR ( 0x001B | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1106. #define ATTRID_SE_ALARM_REG_CLEAR ( 0x001C | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1107. #define ATTRID_SE_UNEXPECTED_HW_RESET ( 0x001D | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1108. #define ATTRID_SE_UNEXPECTED_PROGRAM_EXECUTION ( 0x001E | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1109. #define ATTRID_SE_EVENT_LOG_CLEAR ( 0x001F | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1110. #define ATTRID_SE_MANUAL_DISCONNECT ( 0x0020 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1111. #define ATTRID_SE_MANUAL_CONNECT ( 0x0021 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1112. #define ATTRID_SE_REMOTE_DISCONNECTION ( 0x0022 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1113. #define ATTRID_SE_LOCAL_DISCONNECTION ( 0x0023 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1114. #define ATTRID_SE_LIMIT_THRESHOLD_EXCEEDED ( 0x0024 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1115. #define ATTRID_SE_LIMIT_THRESHOLD_OK ( 0x0025 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1116. #define ATTRID_SE_LIMIT_THRESHOLD_CHANGED ( 0x0026 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1117. #define ATTRID_SE_MAXIMUM_DEMAND_EXCEEDED ( 0x0027 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1118. #define ATTRID_SE_PROFILE_CLEARED ( 0x0028 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1119. #define ATTRID_SE_FW_READY_FOR_ACTIVATION ( 0x0029 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1120. #define ATTRID_SE_FW_ACTIVATED ( 0x002A | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1121. #define ATTRID_SE_PATCH_FAILURE ( 0x002B | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1122. #define ATTRID_SE_TOU_TARIFF_ACTIVATION ( 0x002C | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1123. #define ATTRID_SE_8X8_TARIFF_ACTIVATED ( 0x002D | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1124. #define ATTRID_SE_SINGLE_TARIFF_RATE_ACTIVATED ( 0x002E | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1125. #define ATTRID_SE_ASYNC_BILLING_OCURRED ( 0x002F | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1126. #define ATTRID_SE_SYNC_BILLING_OCURRED ( 0x0030 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1127. #define ATTRID_SE_INCORRECT_POLARITY ( 0x0080 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1128. #define ATTRID_SE_CURRENT_NO_VOLTAGE ( 0x0081 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1129. #define ATTRID_SE_UNDER_VOLTAGE ( 0x0082 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1130. #define ATTRID_SE_OVER_VOLTAGE ( 0x0083 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1131. #define ATTRID_SE_NORMAL_VOLTAGE ( 0x0084 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1132. #define ATTRID_SE_PF_BELOW_THRESHOLD ( 0x0085 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1133. #define ATTRID_SE_PF_ABOVE_THRESHOLD ( 0x0086 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1134. #define ATTRID_SE_TERMINAL_COVER_REMOVED ( 0x0087 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1135. #define ATTRID_SE_TERMINAL_COVER_CLOSED ( 0x0088 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1136. #define ATTRID_SE_REVERSE_FLOW ( 0x00A0 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1137. #define ATTRID_SE_TILT_TAMPER ( 0x00A1 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1138. #define ATTRID_SE_BATTERY_COVER_REMOVED ( 0x00A2 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1139. #define ATTRID_SE_BATTERY_COVER_CLOSED ( 0x00A3 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1140. #define ATTRID_SE_EXCESS_FLOW ( 0x00A4 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1141. #define ATTRID_SE_CREDIT_OK ( 0x00C0 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1142. #define ATTRID_SE_LOW_CREDIT ( 0x00C1 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1143. #define ATTRID_SE_EMERGENCY_CREDIT_IN_USE ( 0x00C2 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1144. #define ATTRID_SE_EMERGENCY_CREDIT_EXHAUSTED ( 0x00C3 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1145. #define ATTRID_SE_ZERO_CREDIT_EC_NOT_SELECTED ( 0x00C4 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1146. #define ATTRID_SE_SUPPLY_ON ( 0x00C5 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1147. #define ATTRID_SE_SUPPLY_OFF_ARMED ( 0x00C6 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1148. #define ATTRID_SE_SUPPLY_OFF ( 0x00C7 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1149. #define ATTRID_SE_DISCOUNT_APPLIED ( 0x00C8 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1150. #define ATTRID_SE_MANUFACTURER_SPECIFIC_A ( 0x00E0 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1151. #define ATTRID_SE_MANUFACTURER_SPECIFIC_B ( 0x00E1 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1152. #define ATTRID_SE_MANUFACTURER_SPECIFIC_C ( 0x00E2 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1153. #define ATTRID_SE_MANUFACTURER_SPECIFIC_D ( 0x00E3 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1154. #define ATTRID_SE_MANUFACTURER_SPECIFIC_E ( 0x00E4 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1155. #define ATTRID_SE_MANUFACTURER_SPECIFIC_F ( 0x00E5 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1156. #define ATTRID_SE_MANUFACTURER_SPECIFIC_G ( 0x00E6 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1157. #define ATTRID_SE_MANUFACTURER_SPECIFIC_H ( 0x00E7 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1158. #define ATTRID_SE_MANUFACTURER_SPECIFIC_I ( 0x00E8 | ATTRID_MASK_SE_EVENT_CONFIGURATION )
  1159. #endif // SE_UK_EXT
  1160. /************************************************************/
  1161. /*** SE Profile Command ID ***/
  1162. /************************************************************/
  1163. // Simple Metering Cluster
  1164. #define COMMAND_SE_GET_PROFILE_CMD 0x0000
  1165. #define COMMAND_SE_GET_PROFILE_RSP 0x0000
  1166. #define COMMAND_SE_REQ_MIRROR_CMD 0x0001
  1167. #define COMMAND_SE_REQ_MIRROR_RSP 0x0001
  1168. #define COMMAND_SE_MIRROR_REM_CMD 0x0002
  1169. #define COMMAND_SE_MIRROR_REM_RSP 0x0002
  1170. #define COMMAND_SE_REQ_FAST_POLL_MODE_CMD 0x0003
  1171. #define COMMAND_SE_REQ_FAST_POLL_MODE_RSP 0x0003
  1172. #define COMMAND_SE_GET_SNAPSHOT_CMD 0x0004
  1173. #define COMMAND_SE_GET_SNAPSHOT_RSP 0x0004
  1174. #define COMMAND_SE_TAKE_SNAPSHOT_CMD 0x0005
  1175. #define COMMAND_SE_MIRROR_REPORT_ATTR_RSP 0x0006
  1176. // Pricing Cluster
  1177. #define COMMAND_SE_GET_CURRENT_PRICE 0x0000
  1178. #define COMMAND_SE_GET_SCHEDULED_PRICE 0x0001
  1179. #define COMMAND_SE_PRICE_ACKNOWLEDGEMENT 0x0002
  1180. #define COMMAND_SE_GET_BLOCK_PERIOD 0x0003
  1181. #define COMMAND_SE_GET_TARIFF_INFO 0x0010
  1182. #define COMMAND_SE_GET_PRICE_MATRIX 0x0011
  1183. #define COMMAND_SE_GET_BLOCK_THRESHOLD 0x0012
  1184. #define COMMAND_SE_GET_CONVERSION_FACTOR 0x0013
  1185. #define COMMAND_SE_GET_CALORIFIC_VALUE 0x0014
  1186. #define COMMAND_SE_GET_CO2_VALUE 0x0015
  1187. #define COMMAND_SE_GET_BILLING_PERIOD 0x0020
  1188. #define COMMAND_SE_GET_CONSOLIDATED_BILL 0x0021
  1189. #define COMMAND_SE_CPP_EVENT_RESPONSE 0x0030
  1190. #define COMMAND_SE_PUBLISH_PRICE 0x0000
  1191. #define COMMAND_SE_PUBLISH_BLOCK_PERIOD 0x0001
  1192. #define COMMAND_SE_PUBLISH_TARIFF_INFO 0x0010
  1193. #define COMMAND_SE_PUBLISH_PRICE_MATRIX 0x0011
  1194. #define COMMAND_SE_PUBLISH_BLOCK_THRESHOLD 0x0012
  1195. #define COMMAND_SE_PUBLISH_CONVERSION_FACTOR 0x0013
  1196. #define COMMAND_SE_PUBLISH_CALORIFIC_VALUE 0x0014
  1197. #define COMMAND_SE_PUBLISH_CO2_VALUE 0x0015
  1198. #define COMMAND_SE_PUBLISH_CPP_EVENT 0x0016
  1199. #define COMMAND_SE_PUBLISH_BILLING_PERIOD 0x0020
  1200. #define COMMAND_SE_PUBLISH_CONSOLIDATED_BILL 0x0021
  1201. #define COMMAND_SE_PUBLISH_CREDIT_PAYMENT_INFO 0x0022
  1202. // Messaging Cluster
  1203. #define COMMAND_SE_DISPLAY_MESSAGE 0x0000
  1204. #define COMMAND_SE_CANCEL_MESSAGE 0x0001
  1205. #define COMMAND_SE_GET_LAST_MESSAGE 0x0000
  1206. #define COMMAND_SE_MESSAGE_CONFIRMATION 0x0001
  1207. // Demand Response and Load Control Cluster
  1208. #define COMMAND_SE_LOAD_CONTROL_EVENT 0x0000
  1209. #define COMMAND_SE_CANCEL_LOAD_CONTROL_EVENT 0x0001
  1210. #define COMMAND_SE_CANCEL_ALL_LOAD_CONTROL_EVENT 0x0002
  1211. #define COMMAND_SE_REPORT_EVENT_STATUS 0x0000
  1212. #define COMMAND_SE_GET_SCHEDULED_EVENT 0x0001
  1213. // Prepayment Cluster
  1214. #define COMMAND_SE_SEL_AVAIL_EMERGENCY_CREDIT 0x0000
  1215. #ifndef SE_UK_EXT // this is SE 1.1 command definition
  1216. #define COMMAND_SE_CHANGE_SUPPLY 0x0001
  1217. #define COMMAND_SE_SUPPLY_STATUS_RESPONSE 0x0000
  1218. #else
  1219. #define COMMAND_SE_CHANGE_DEBT 0x0001
  1220. #define COMMAND_SE_EMERGENCY_CREDIT_SETUP 0x0002
  1221. #define COMMAND_SE_CONSUMER_TOPUP 0x0003
  1222. #define COMMAND_SE_CREDIT_ADJUSTMENT 0x0004
  1223. #define COMMAND_SE_CHANGE_PAYMENT_MODE 0x0005
  1224. #define COMMAND_SE_GET_PREPAY_SNAPSHOT 0x0006
  1225. #define COMMAND_SE_GET_TOPUP_LOG 0x0007
  1226. #define COMMAND_SE_SET_LOW_CREDIT_WARNING_LEVEL 0x0008
  1227. #define COMMAND_SE_GET_DEBT_REPAYMENT_LOG 0x0009
  1228. #define COMMAND_SE_GET_PREPAY_SNAPSHOT_RESPONSE 0x0000
  1229. #define COMMAND_SE_CHANGE_PAYMENT_MODE_RESPONSE 0x0001
  1230. #define COMMAND_SE_CONSUMER_TOPUP_RESPONSE 0x0002
  1231. #define COMMAND_SE_GET_COMMANDS 0x0003
  1232. #define COMMAND_SE_PUBLISH_TOPUP_LOG 0x0004
  1233. #define COMMAND_SE_PUBLISH_DEBT_LOG 0x0005
  1234. #endif // SE_UK_EXT
  1235. // Tunneling cluster commands received by the server
  1236. #define COMMAND_SE_REQUEST_TUNNEL 0x0000
  1237. #define COMMAND_SE_CLOSE_TUNNEL 0x0001
  1238. #define COMMAND_SE_DATA_CLIENT_SERVER_DIR 0x0002
  1239. #define COMMAND_SE_DATA_ERROR_CLIENT_SERVER_DIR 0x0003
  1240. #define COMMAND_SE_ACK_CLIENT_SERVER_DIR 0x0004
  1241. #define COMMAND_SE_READY_DATA_CLIENT_SERVER_DIR 0x0005
  1242. #define COMMAND_SE_GET_SUPP_TUNNEL_PROTOCOLS 0x0006
  1243. // Tunneling cluster commands sent by the server
  1244. #define COMMAND_SE_REQUEST_TUNNEL_RESPONSE 0x0000
  1245. #define COMMAND_SE_DATA_SERVER_CLIENT_DIR 0x0001
  1246. #define COMMAND_SE_DATA_ERROR_SERVER_CLIENT_DIR 0x0002
  1247. #define COMMAND_SE_ACK_SERVER_CLIENT_DIR 0x0003
  1248. #define COMMAND_SE_READY_DATA_SERVER_CLIENT_DIR 0x0004
  1249. #define COMMAND_SE_SUPP_TUNNEL_PROTOCOLS_RSP 0x0005
  1250. #define COMMAND_SE_TUNNEL_CLOSURE_NOTIFICATION 0x0006
  1251. #ifdef SE_UK_EXT // this is SE 1.1 command definition
  1252. // TOU Calendar Cluster
  1253. #define COMMAND_SE_GET_CALENDAR 0x0000
  1254. #define COMMAND_SE_GET_DAY_PROFILES 0x0001
  1255. #define COMMAND_SE_GET_WEEK_PROFILES 0x0002
  1256. #define COMMAND_SE_GET_SEASONS 0x0003
  1257. #define COMMAND_SE_GET_SPECIAL_DAYS 0x0004
  1258. #define COMMAND_SE_PUBLISH_CALENDAR 0x0000
  1259. #define COMMAND_SE_PUBLISH_DAY_PROFILE 0x0001
  1260. #define COMMAND_SE_PUBLISH_WEEK_PROFILE 0x0002
  1261. #define COMMAND_SE_PUBLISH_SEASONS 0x0003
  1262. #define COMMAND_SE_PUBLISH_SPECIAL_DAYS 0x0004
  1263. // Device Management Cluster
  1264. #define COMMAND_SE_GET_CHANGE_OF_TENANCY 0x0000
  1265. #define COMMAND_SE_GET_CHANGE_OF_SUPPLIER 0x0001
  1266. #define COMMAND_SE_GET_CHANGE_SUPPLY 0x0002
  1267. #define COMMAND_SE_SUPPLY_STATUS_RESPONSE 0x0003
  1268. #define COMMAND_SE_GET_PASSWORD 0x0004
  1269. #define COMMAND_SE_PUBLISH_CHANGE_OF_TENANCY 0x0000
  1270. #define COMMAND_SE_PUBLISH_CHANGE_OF_SUPPLIER 0x0001
  1271. #define COMMAND_SE_CHANGE_SUPPLY 0x0002
  1272. #define COMMAND_SE_CHANGE_PASSWORD 0x0003
  1273. #define COMMAND_SE_LOCAL_CHANGE_SUPPLY 0x0004
  1274. #endif // SE_UK_EXT
  1275. /******************************************************************/
  1276. /*** Other Constants ***/
  1277. /******************************************************************/
  1278. // Current Block
  1279. #define CURRENT_BLOCK_NO_BLOCKS_IN_USE 0x00
  1280. #define CURRENT_BLOCK_BLOCK1 0x01
  1281. #define CURRENT_BLOCK_BLOCK2 0x02
  1282. #define CURRENT_BLOCK_BLOCK3 0x03
  1283. #define CURRENT_BLOCK_BLOCK4 0x04
  1284. #define CURRENT_BLOCK_BLOCK5 0x05
  1285. #define CURRENT_BLOCK_BLOCK6 0x06
  1286. #define CURRENT_BLOCK_BLOCK7 0x07
  1287. #define CURRENT_BLOCK_BLOCK8 0x08
  1288. #define CURRENT_BLOCK_BLOCK9 0x09
  1289. #define CURRENT_BLOCK_BLOCK10 0x0A
  1290. #define CURRENT_BLOCK_BLOCK11 0x0B
  1291. #define CURRENT_BLOCK_BLOCK12 0x0C
  1292. #define CURRENT_BLOCK_BLOCK13 0x0D
  1293. #define CURRENT_BLOCK_BLOCK14 0x0E
  1294. #define CURRENT_BLOCK_BLOCK15 0x0F
  1295. #define CURRENT_BLOCK_BLOCK16 0x10
  1296. // Profile Interval Period Timeframes
  1297. #define PROFILE_INTERVAL_PERIOD_DAILY 0
  1298. #define PROFILE_INTERVAL_PERIOD_60MIN 1
  1299. #define PROFILE_INTERVAL_PERIOD_30MIN 2
  1300. #define PROFILE_INTERVAL_PERIOD_15MIN 3
  1301. #define PROFILE_INTERVAL_PERIOD_10MIN 4
  1302. #define PROFILE_INTERVAL_PERIOD_7_5MIN 5
  1303. #define PROFILE_INTERVAL_PERIOD_5MIN 6
  1304. #define PROFILE_INTERVAL_PERIOD_2_5MIN 7
  1305. // Profile Interval Status
  1306. #define PROFILE_INTERVAL_STAT_SUCCESS 0x00
  1307. #define PROFILE_INTERVAL_STAT_UNDEFINED_CHANNEL 0x01
  1308. #define PROFILE_INTERVAL_STAT_CHANNEL_NOT_SUPPORT 0x02
  1309. #define PROFILE_INTERVAL_STAT_INVALID_END_TIME 0x03
  1310. #define PROFILE_INTERVAL_STAT_TOO_MANY_PERIOD 0x04
  1311. #define PROFILE_INTERVAL_STAT_NO_INTERVALS 0x05
  1312. // Meter Status Attribute Bit Mask - Electricity, Gas, Water, Heat and Cooling
  1313. #define STATUS_BITMASK_CHECK_METER 0x01 // All
  1314. #define STATUS_BITMASK_LOW_BATTERY 0x02 // All
  1315. #define STATUS_BITMASK_TAMPER_DETECT 0x04 // All
  1316. #define STATUS_BITMASK_POWER_FAILURE 0x08 // Electricity
  1317. #define STATUS_BITMASK_PIPE_EMPTY 0x08 // Water
  1318. #define STATUS_BITMASK_TEMPERATURE_SENSOR 0x08 // Heat and Cooling
  1319. #define STATUS_BITMASK_POWER_QUALITY 0x10 // Electricity
  1320. #define STATUS_BITMASK_LOW_PRESSURE 0x10 // Gas, Water
  1321. #define STATUS_BITMASK_BURST_DETECT 0x10 // Heat and Cooling
  1322. #define STATUS_BITMASK_LEAK_DETECT 0x20 // All
  1323. #define STATUS_BITMASK_SERVICE_DISCONNECT 0x40 // All
  1324. #define STATUS_BITMASK_REVERSE_FLOW 0x80 // Gas, Water
  1325. #define STATUS_BITMASK_FLOW_SENSOR 0x80 // Heat and Cooling
  1326. // Command Packet Length in SE 1.0, for backwards compatibility
  1327. #define PACKET_LEN_SE_PUBLISH_PRICE_SE_1_0 34
  1328. // Command Packet Length
  1329. #define PACKET_LEN_SE_PUBLISH_PRICE 42
  1330. #define PACKET_LEN_SE_PRICE_ACKNOWLEDGEMENT 13
  1331. #ifdef SE_UK_EXT
  1332. #define PACKET_LEN_SE_PUBLISH_BLOCK_PERIOD 18
  1333. #else
  1334. #define PACKET_LEN_SE_PUBLISH_BLOCK_PERIOD 17
  1335. #endif
  1336. #define PACKET_LEN_SE_LOAD_CONTROL_EVENT 23
  1337. #define PACKET_LEN_SE_GET_SCHEDULED_EVENT 5
  1338. #define PACKET_LEN_SE_CANCEL_LOAD_CONTROL_EVENT 12
  1339. #define PACKET_LEN_SE_REPORT_EVENT_STATUS_ONLY 18
  1340. #define PACKET_LEN_SE_REPORT_EVENT_STATUS (PACKET_LEN_SE_REPORT_EVENT_STATUS_ONLY + SE_PROFILE_SIGNATURE_LENGTH)
  1341. #define PACKET_LEN_SE_METERING_FAST_POLLING_REQ 2
  1342. #define PACKET_LEN_SE_METERING_FAST_POLLING_RSP 5
  1343. #define PACKET_LEN_SE_SEL_AVAIL_EMERGENCY_CREDIT 7
  1344. #ifndef SE_UK_EXT // SE 1.1
  1345. #define PACKET_LEN_SE_CHANGE_SUPPLY 16
  1346. #define PACKET_LEN_SE_SUPPLY_STATUS_RESPONSE 9
  1347. #endif
  1348. #define PACKET_LEN_SE_GET_SNAPSHOT_CMD 7
  1349. #define PACKET_LEN_SE_GET_SNAPSHOT_RSP 12
  1350. #define PACKET_LEN_SE_MIRROR_REPORT_ATTR_RSP 7
  1351. #define PACKET_LEN_SE_MIN_PUBLISH_TARIFF_INFORMATION 33
  1352. #define PACKET_LEN_SE_MIN_PUBLISH_PRICE_MATRIX 5
  1353. #define PACKET_LEN_SE_MIN_PUBLISH_BLOCK_THRESHOLD 5
  1354. #define PACKET_LEN_SE_PUBLISH_CONVERSION_FACTOR 13
  1355. #define PACKET_LEN_SE_PUBLISH_CALORIFIC_VALUE 14
  1356. #define PACKET_LEN_SE_PUBLISH_CO2_VALUE 15
  1357. #define PACKET_LEN_SE_PUBLISH_CPP_EVENT 13
  1358. #define PACKET_LEN_SE_PUBLISH_BILLING_PERIOD 12
  1359. #define PACKET_LEN_SE_PUBLISH_CONSOLIDATED_BILL 19
  1360. #define PACKET_LEN_SE_MIN_PUBLISH_CREDIT_PAYMENT_INFO 22
  1361. #define PACKET_LEN_SE_GET_TARIFF_INFO 6
  1362. #define PACKET_LEN_SE_GET_PRICE_MATRIX 4
  1363. #define PACKET_LEN_SE_GET_BLOCK_THRESHOLD 4
  1364. #define PACKET_LEN_SE_GET_CONVERSION_FACTOR 5
  1365. #define PACKET_LEN_SE_GET_CALORIFIC_VALUE 5
  1366. #define PACKET_LEN_SE_GET_CO2_VALUE 6
  1367. #define PACKET_LEN_SE_GET_BILLING_PERIOD 6
  1368. #define PACKET_LEN_SE_GET_CONSOLIDATED_BILL 6
  1369. #define PACKET_LEN_SE_CPP_EVENT_RESPONSE 5
  1370. #define PACKET_LEN_SE_TUNNELING_REQUEST 6
  1371. #define PACKET_LEN_SE_TUNNELING_RESPONSE 5
  1372. #define PACKET_LEN_SE_TUNNELING_CLOSE 2
  1373. #define PACKET_LEN_SE_TUNNELING_TRANSFER_DATA 2
  1374. #define PACKET_LEN_SE_TUNNELING_DATA_ERROR 3
  1375. #define PACKET_LEN_SE_TUNNELING_DATA_ACK 4
  1376. #define PACKET_LEN_SE_TUNNELING_READY_DATA 4
  1377. #define PACKET_LEN_SE_TUNNELING_GET_SUPP_PROT 1
  1378. #define PACKET_LEN_SE_TUNNELING_SUPP_PROT_RSP 2
  1379. #define PACKET_LEN_SE_TUNNELING_PROTOCOL_PAYLOAD 3
  1380. #define PACKET_LEN_SE_TUNNELING_TUNNEL_CLOSURE 2
  1381. #define PACKET_LEN_SE_MIN_CHANGE_DEBT 29
  1382. #define PACKET_LEN_SE_EMERGENCY_CREDIT_SETUP 12
  1383. #define PACKET_LEN_SE_MIN_CONSUMER_TOPUP 2
  1384. #define PACKET_LEN_SE_MIN_CREDIT_ADJUSTMENT 12
  1385. #define PACKET_LEN_SE_MIN_CHANGE_PAYMENT_MODE 18
  1386. #define PACKET_LEN_SE_GET_PREPAY_SNAPSHOT 7
  1387. #define PACKET_LEN_SE_GET_TOPUP_LOG 1
  1388. #define PACKET_LEN_SE_SET_LOW_CREDIT_WARNING_LEVEL 1
  1389. #define PACKET_LEN_SE_GET_DEBT_REPAYMENT_LOG 2
  1390. #define PACKET_LEN_SE_GET_PREPAY_SNAPSHOT_RESPONSE 32
  1391. #define PACKET_LEN_SE_CHANGE_PAYMENT_MODE_RESPONSE 13
  1392. #define PACKET_LEN_SE_SE_CONSUMER_TOPUP_RESPONSE 10
  1393. #define PACKET_LEN_SE_GET_COMMANDS 1
  1394. #define PACKET_LEN_SE_MIN_PUBLISH_TOPUP_LOG 2
  1395. #define PACKET_LEN_SE_MIN_PUBLISH_DEBT_LOG 2
  1396. #ifdef SE_UK_EXT
  1397. #define PACKET_LEN_SE_PUBLISH_CALENDAR 14
  1398. #define PACKET_LEN_SE_PUBLISH_DAY_PROFILE 7
  1399. #define PACKET_LEN_SE_PUBLISH_WEEK_PROFILE 12
  1400. #define PACKET_LEN_SE_PUBLISH_SEASONS 5
  1401. #define PACKET_LEN_SE_PUBLISH_SPECIAL_DAYS 11
  1402. #define PACKET_LEN_SE_GET_CALENDAR 6
  1403. #define PACKET_LEN_SE_GET_DAY_PROFILE 4
  1404. #define PACKET_LEN_SE_GET_WEEK_PROFILE 4
  1405. #define PACKET_LEN_SE_GET_SEASONS 4
  1406. #define PACKET_LEN_SE_GET_SPECIAL_DAYS 6
  1407. #define PACKET_LEN_SE_SUPPLY_STATUS_RESPONSE 13
  1408. #define PACKET_LEN_SE_GET_PASSWORD 1
  1409. #define PACKET_LEN_SE_PUBLISH_CHANGE_OF_TENANCY 18
  1410. #define PACKET_LEN_SE_PUBLISH_CHANGE_OF_SUPPLIER 23
  1411. #define PACKET_LEN_SE_CHANGE_SUPPLY 19
  1412. #define PACKET_LEN_SE_CHANGE_PASSWORD 2
  1413. #define PACKET_LEN_SE_LOCAL_CHANGE_SUPPLY 1
  1414. #endif // SE_UK_EXT
  1415. // Maximum value for Command Fields Range Checking
  1416. #define MAX_DURATION_IN_MINUTES_SE_LOAD_CONTROL 1440 // One day
  1417. #define MAX_CRITICAL_LEVEL_SE_LOAD_CONTROL 0x0F
  1418. #define MAX_TEMPERATURE_SETPOINT_SE_LOAD_CONTROL 0x7FFF
  1419. #define MIN_AVERAGE_LOAD_ADJUSTMENT_PERCENTAGE_SE -100
  1420. #define MAX_AVERAGE_LOAD_ADJUSTMENT_PERCENTAGE_SE 100
  1421. #define MAX_DUTY_CYCLE_SE_LOAD_CONTROL 100
  1422. #define MAX_INTERVAL_CHANNEL_SE_SIMPLE_METERING 1
  1423. #define MAX_PROFILE_INTERVAL_PERIOD_SE_SIMPLE_METERING 7
  1424. #define MAX_DURATION_IN_MINUTES_FAST_POLL_MODE 15
  1425. #define MIN_NUM_PRICE_TIERS 0x00
  1426. #define MAX_NUM_PRICE_TIERS 0x0F
  1427. #define MIN_NUM_BLOCK_THRESHOLDS_AVAILABLE 0x00
  1428. #define MAX_NUM_BLOCK_THRESHOLDS_AVAILABLE 0x0F
  1429. // Maximum length of fields defined as octet string
  1430. #define SE_RATE_LABEL_LEN 13
  1431. #define SE_SITE_ID_LEN 33
  1432. #define SE_METER_SERIAL_NUM_LEN 17
  1433. #define SE_DEBT_LABEL_LEN 12
  1434. #define SE_TOPUP_CODE_LEN 25
  1435. #define SE_CREDIT_PAYMENT_REF_LEN 20
  1436. #define SE_TARIFF_LABEL_LEN 20
  1437. #define SE_CALENDAR_NAME_LEN 12
  1438. #define SE_SUPPLIER_ID_NAME_LEN 17
  1439. #define SE_PASSWORD_LEN 13
  1440. // TBD: The spec indicates the signature is a placeholder.
  1441. // The max length is not provided. Use 48 for now.
  1442. #define SE_SIGNATURE_LEN 48
  1443. // Device Class Field Bit mask
  1444. #define SE_DEVICE_CLASS_HVAC_COMPRESSOR_FURNACE 0x0001
  1445. #define SE_DEVICE_CLASS_STRIP_HEATER 0x0002
  1446. #define SE_DEVICE_CLASS_WATER_HEATER 0x0004
  1447. #define SE_DEVICE_CLASS_POOL_PUMP 0x0008
  1448. #define SE_DEVICE_CLASS_SMART_APPLIANCES 0x0010
  1449. #define SE_DEVICE_CLASS_IRRIGATION_PUMP 0x0020
  1450. #define SE_DEVICE_CLASS_MANAGED_CI_LOADS 0x0040
  1451. #define SE_DEVICE_CLASS_SIMPLE_MISC_LOADS 0x0080
  1452. #define SE_DEVICE_CLASS_EXTERIOR_LIGHTING 0x0100
  1453. #define SE_DEVICE_CLASS_INTERIOR_LIGHTING 0x0200
  1454. #define SE_DEVICE_CLASS_ELECTRIC_VEHICLE 0x0400
  1455. #define SE_DEVICE_CLASS_GENERATION_SYSTEMS 0x0800
  1456. // Criticality Levels
  1457. #define SE_CRITICALITY_LEVELS_GREEN 0x01
  1458. #define SE_CRITICALITY_LEVELS_1 0x02
  1459. #define SE_CRITICALITY_LEVELS_2 0x03
  1460. #define SE_CRITICALITY_LEVELS_3 0x04
  1461. #define SE_CRITICALITY_LEVELS_4 0x05
  1462. #define SE_CRITICALITY_LEVELS_5 0x06
  1463. #define SE_CRITICALITY_LEVELS_EMERGENCY 0x07
  1464. #define SE_CRITICALITY_LEVELS_PLANNED_OUTAGE 0x08
  1465. #define SE_CRITICALITY_LEVELS_SERVICE_DISCONNECT 0x09
  1466. // Event Control Field Bit mask
  1467. #define SE_EVENT_CONTROL_FIELD_START_TIME 0x01
  1468. #define SE_EVENT_CONTROL_FIELD_END_TIME 0x02
  1469. // Optional Fields Value
  1470. #define SE_OPTIONAL_FIELD_UINT8 0xFF
  1471. #define SE_OPTIONAL_FIELD_UINT16 0xFFFF
  1472. #define SE_OPTIONAL_FIELD_UINT32 0xFFFFFFFF
  1473. #define SE_OPTIONAL_FIELD_TEMPERATURE_SET_POINT 0x8000
  1474. #define SE_OPTIONAL_FIELD_INT8 -128
  1475. // Event Status Field Values
  1476. #define EVENT_STATUS_LOAD_CONTROL_EVENT_RECEIVED 0x01
  1477. #define EVENT_STATUS_LOAD_CONTROL_EVENT_STARTED 0x02
  1478. #define EVENT_STATUS_LOAD_CONTROL_EVENT_COMPLETED 0x03
  1479. #define EVENT_STATUS_LOAD_CONTROL_USER_OPT_OUT 0x04
  1480. #define EVENT_STATUS_LOAD_CONTROL_USER_OPT_IN 0x05
  1481. #define EVENT_STATUS_LOAD_CONTROL_EVENT_CANCELLED 0x06
  1482. #define EVENT_STATUS_LOAD_CONTROL_EVENT_SUPERSEDED 0x07
  1483. #define EVENT_STATUS_LOAD_CONTROL_REJECTED_DUPLICATEID 0xFA
  1484. #define EVENT_STATUS_LOAD_CONTROL_REJECTED_EVT_EXPIRED 0xFB
  1485. #define EVENT_STATUS_LOAD_CONTROL_REJECTED_EVT_COMPLETED 0xFC
  1486. #define EVENT_STATUS_LOAD_CONTROL_REJECTED_UNDEFINED_EVT 0xFD
  1487. #define EVENT_STATUS_LOAD_CONTROL_EVENT_REJECTED 0xFE
  1488. // Signature type
  1489. #define SE_PROFILE_SIGNATURE_TYPE_ECDSA 0x01
  1490. // Other constants
  1491. #define SE_PROFILE_SIGNATURE_LENGTH 42
  1492. #define SE_PROFILE_MESSAGE_RESPONSE_LENGTH 20
  1493. // SE Messaging
  1494. #define SE_PROFILE_MSGCTRL_IMPORTANCE 2
  1495. #define SE_PROFILE_MSGCTRL_PINREQUIRED 4
  1496. #define SE_PROFILE_MSGCTRL_ACCEPTREQUIRED 5
  1497. #define SE_PROFILE_MSGCTRL_CONFREQUIRED 7
  1498. // Price Control Field Bit mask
  1499. #define SE_PROFILE_PRICE_CONTROL_NOT_USED 0x00
  1500. #define SE_PROFILE_PRICEACK_REQUIRED_MASK 0x01
  1501. // Payment Control Attribute Bit mask
  1502. #define SE_PAYMENT_CTRL_DISC_ENABLED 0x01
  1503. #define SE_PAYMENT_CTRL_RESERVED1 0x02
  1504. #define SE_PAYMENT_CTRL_CREDIT_MGMNT_ENABLED 0x04
  1505. #define SE_PAYMENT_CTRL_RESERVED2 0x08
  1506. #define SE_PAYMENT_CTRL_CREDIT_DISP_ENABLED 0x10
  1507. #define SE_PAYMENT_CTRL_RESERVED3 0x20
  1508. #define SE_PAYMENT_CTRL_ACCOUNT_BASE 0x40
  1509. #define SE_PAYMENT_CTRL_CONTRACTOR_FITTED 0x80
  1510. // Credit Status Attribute Bit mask
  1511. #define SE_CREDIT_STATUS_CREDIT_OK 0x01
  1512. #define SE_CREDIT_STATUS_LOW_CREDIT 0x02
  1513. #define SE_CREDIT_STATUS_EMER_CREDIT_ENABLED 0x04
  1514. #define SE_CREDIT_STATUS_EMER_CREDIT_AVAILABLE 0x08
  1515. #define SE_CREDIT_STATUS_EMER_CREDIT_SELECTED 0x10
  1516. #define SE_CREDIT_STATUS_EMER_CREDIT_IN_USE 0x20
  1517. #define SE_CREDIT_STATUS_EMER_CREDIT_EXHAUSTED 0x40
  1518. // Originating Device Field
  1519. #define SE_ORIG_DEV_ENERGY_SERVICE_INTERFACE ( 0x00FF & ZCL_SE_DEVICEID_ESP )
  1520. #define SE_ORIG_DEV_INPREMISES_DISPLAY_DEV ( 0x00FF & ZCL_SE_DEVICEID_IN_PREMISE_DISPLAY )
  1521. // Supply Control Bit mask
  1522. #define SE_SUPPLY_CTRL_ACK_REQUIRED 0x01
  1523. // Recovery Period Field
  1524. #define SE_RECOVERY_PERIOD_PER_HOUR 0x00
  1525. #define SE_RECOVERY_PERIOD_PER_DAY 0x01
  1526. #define SE_RECOVERY_PERIOD_PER_WEEK 0x02
  1527. #define SE_RECOVERY_PERIOD_PER_MONTH 0x03
  1528. #define SE_RECOVERY_PERIOD_PER_QUARTER 0x04
  1529. // Supply Status Field
  1530. #define SE_SUPPLY_OFF 0x00
  1531. #define SE_SUPPLY_OFF_ARMED 0x01
  1532. #define SE_SUPPLY_ON 0x02
  1533. // Meter Snapshot Payload Types
  1534. #define SE_SNAPSHOT_TYPE_CSD_AND_RCV_REGISTER 1
  1535. #define SE_SNAPSHOT_TYPE_TOU_INFO_RECEIVED 2
  1536. #define SE_SNAPSHOT_TYPE_TOU_INFO_DELIVERED 3
  1537. #define SE_SNAPSHOT_TYPE_BLOCK_INFO_RECEIVED 4
  1538. #define SE_SNAPSHOT_TYPE_BLOCK_INFO_DELIVERED 5
  1539. // Meter Snapshot Payload length
  1540. #define SE_SNAPSHOT_CSD_AND_RCV_REGISTER_PAYLOAD_LEN 12
  1541. // Meter Snapshot Causes
  1542. #define SE_SNAPSHOT_CAUSE_GENERAL 0
  1543. #define SE_SNAPSHOT_CAUSE_END_BILL_PERIOD 1
  1544. #define SE_SNAPSHOT_CAUSE_END_BLOCK_PERIOD 2
  1545. #define SE_SNAPSHOT_CAUSE_CHANGE_TARRIF_INFO 3
  1546. #define SE_SNAPSHOT_CAUSE_CHANGE_OF_CV 6
  1547. #define SE_SNAPSHOT_CAUSE_CHANGE_OF_CF 7
  1548. #define SE_SNAPSHOT_CAUSE_CHANGE_OF_TOU_CALENDAR 8
  1549. #define SE_SNAPSHOT_CAUSE_CRITICAL_PEAK_PRICING 9
  1550. #define SE_SNAPSHOT_CAUSE_MANUAL_TRIGGER 10
  1551. // Meter Notification Set Parameters
  1552. #define SE_NOTIFICATION_REPORT_ATTR_RSP_BIT 1
  1553. // Prepayment snapshot payload types
  1554. #define SE_SNAPSHOT_TYPE_DEBIT_CREDIT_ADDITION 0
  1555. // Protocol ID Field
  1556. #define SE_PROTOCOL_ID_DLMS_COSEM 0
  1557. #define SE_PROTOCOL_ID_IEC_61107 1
  1558. #define SE_PROTOCOL_ID_ANSI_C12 2
  1559. #define SE_PROTOCOL_ID_M_BUS 3
  1560. #define SE_PROTOCOL_ID_SML 4
  1561. #define SE_PROTOCOL_ID_CLIMATE_TALK 5
  1562. #define SE_PROTOCOL_ID_RESERVED 255
  1563. // Transfer Data Status Field
  1564. #define SE_TRANSFER_DATA_STATUS_NO_SUCH_TUNNEL 0x00
  1565. #define SE_TRANSFER_DATA_STATUS_WRONG_DEVICE 0x01
  1566. #define SE_TRANSFER_DATA_STATUS_DATA_OVERFLOW 0x02
  1567. // Tunnel Status Field
  1568. #define SE_TUNNEL_STATUS_SUCCESS 0x00
  1569. #define SE_TUNNEL_STATUS_BUSY 0x01
  1570. #define SE_TUNNEL_STATUS_NO_MORE_TUNNEL_IDS 0x02
  1571. #define SE_TUNNEL_STATUS_PROTOCOL_NOT_SUPPORTED 0x03
  1572. #define SE_TUNNEL_STATUS_FLOW_CONTROL_NOT_SUPPORTED 0x04
  1573. // Calendar Type Field
  1574. #define SE_CALENDAR_TYPE_IMPORT_CALENDAR 0x00
  1575. #define SE_CALENDAR_TYPE_EXPORT_CALENDAR 0x01
  1576. #define SE_CALENDAR_TYPE_IMPORT_EXPORT_CALENDAR 0x02
  1577. #define SE_CALENDAR_TYPE_FRIENDLY_CREDIT_CALENDAR 0x03
  1578. // Calendar Time Reference Field
  1579. #define SE_CALENDAR_TIME_REF_STANDARD_TIME 0x00
  1580. #define SE_CALENDAR_TIME_REF_LOCAL_TIME 0x01
  1581. // Length of TOU Calendar Entries
  1582. #define SE_DAY_SCHEDULE_ENTRY_LEN 3
  1583. #define SE_SEASON_ENTRY_LEN 5
  1584. #define SE_SPECIAL_DAY_ENTRY_LEN 5
  1585. // Password Level Field
  1586. #define SE_PSWD_LEVEL_PASSWORD_1 0x01
  1587. #define SE_PSWD_LEVEL_PASSWORD_2 0x02
  1588. #define SE_PSWD_LEVEL_PASSWORD_3 0x03
  1589. #define SE_PSWD_LEVEL_PASSWORD_4 0x04
  1590. // Password Level Field
  1591. #define SE_PROPOSED_SUPLY_STATUS_SUPPLY_OFF_ARMED 0x01
  1592. #define SE_PROPOSED_SUPLY_STATUS_SUPPLY_ON 0x02
  1593. // Event Configuration Attribute
  1594. #define SE_EVENT_CONFIGURATION_DO_NOT_LOG 0x00
  1595. #define SE_EVENT_CONFIGURATION_LOG_TEMPER 0x01
  1596. #define SE_EVENT_CONFIGURATION_LOG_FAULT 0x02
  1597. #define SE_EVENT_CONFIGURATION_LOG_GENERAL_EVENT 0x03
  1598. #define SE_EVENT_CONFIGURATION_LOG_LOG_4 0x04
  1599. #define SE_EVENT_CONFIGURATION_LOG_LOG_5 0x05
  1600. #define SE_EVENT_CONFIGURATION_LOG_LOG_6 0x06
  1601. // Device Management Cluster - Proposed Supplier Change Control Bit Mask
  1602. #define SE_CHANGE_CTRL_PRE_SNAPSHOTS 0x0001
  1603. #define SE_CHANGE_CTRL_POST_SNAPSHOTS 0x0002
  1604. #define SE_CHANGE_CTRL_RESET_CREDIT_REGISTER 0x0004
  1605. #define SE_CHANGE_CTRL_RESET_DEBT_REGISTER 0x0008
  1606. #define SE_CHANGE_CTRL_RESET_BILLING_PERIOD 0x0010
  1607. #define SE_CHANGE_CTRL_CLEAR_TARIF_PLAN 0x0020
  1608. #define SE_CHANGE_CTRL_CLEAR_STANDING_CHARGE 0x0040
  1609. #define SE_CHANGE_CTRL_BLOCK_HIST_LOAD_PROF_INFO 0x0080
  1610. #define SE_CHANGE_CTRL_CLEAR_HIST_LOAD_PROF_INFO 0x0100
  1611. #define SE_CHANGE_CTRL_CLEAR_IPD_DATA_CONSUMER 0x0200
  1612. #define SE_CHANGE_CTRL_CLEAR_IPD_DATA_SUPPLIER 0x0400
  1613. #define SE_CHANGE_CTRL_METER_CONN_STATE_ON_OFF_ARM 0x1800
  1614. #define SE_CHANGE_CTRL_CLEAR_TRANSACTION_LOG 0x2000
  1615. /********************************************************************
  1616. * MACROS
  1617. */
  1618. /*********************************************************************
  1619. * TYPEDEFS
  1620. */
  1621. /*** Structures used for callback functions ***/
  1622. typedef struct
  1623. {
  1624. uint8 channel;
  1625. uint32 endTime;
  1626. uint8 numOfPeriods;
  1627. } zclCCGetProfileCmd_t;
  1628. typedef struct
  1629. {
  1630. uint32 endTime;
  1631. uint8 status;
  1632. uint8 profileIntervalPeriod;
  1633. uint8 numOfPeriodDelivered;
  1634. uint24 *intervals;
  1635. } zclCCGetProfileRsp_t;
  1636. typedef struct
  1637. {
  1638. uint16 endpointId ;
  1639. } zclCCReqMirrorRsp_t ;
  1640. typedef struct
  1641. {
  1642. uint16 endpointId ;
  1643. } zclCCMirrorRemRsp_t ;
  1644. // Fast poll mode req command
  1645. typedef struct
  1646. {
  1647. uint8 fastPollUpdatePeriod; // Desired fast poll period
  1648. uint8 duration; // Desired duration for the server to remain in fast poll
  1649. } zclCCReqFastPollModeCmd_t;
  1650. // Fast poll mode rsp command
  1651. typedef struct
  1652. {
  1653. uint8 appliedUpdatePeriod; // The period at which metering data shall be updated
  1654. uint32 fastPollModeEndTime; // Fast poll mode end time in UTC
  1655. } zclCCReqFastPollModeRsp_t;
  1656. // Get snapshot command
  1657. typedef struct
  1658. {
  1659. uint32 StartTime;
  1660. uint8 NumberOfSnapshots;
  1661. uint16 SnapshotCause;
  1662. } zclCCReqGetSnapshotCmd_t;
  1663. typedef struct
  1664. {
  1665. uint32 IssuerEventID;
  1666. uint32 SnapshotTime;
  1667. uint8 CommandIndex;
  1668. uint16 SnapshotCause;
  1669. uint8 SnapshotPayloadType;
  1670. uint8 *pSnapshotPayload;
  1671. } zclCCReqGetSnapshotRsp_t;
  1672. typedef struct
  1673. {
  1674. uint8 NotificationFlags;
  1675. uint16 PriceNotificationFlags;
  1676. uint8 CalendarNotificationFlags;
  1677. uint16 PrePayNotificationFlags;
  1678. uint8 DeviceMgmtNotificationFlags;
  1679. } zclCCReqMirrorReportAttrRsp_t;
  1680. typedef struct
  1681. {
  1682. uint8 option;
  1683. } zclCCGetCurrentPrice_t;
  1684. typedef struct
  1685. {
  1686. uint32 startTime;
  1687. uint8 numEvents;
  1688. } zclCCGetScheduledPrice_t;
  1689. typedef struct
  1690. {
  1691. uint32 providerId;
  1692. UTF8String_t rateLabel;
  1693. uint32 issuerEventId;
  1694. uint32 currentTime;
  1695. uint8 unitOfMeasure;
  1696. uint16 currency;
  1697. uint8 priceTrailingDigit;
  1698. uint8 numberOfPriceTiers;
  1699. uint32 startTime;
  1700. uint16 durationInMinutes;
  1701. uint32 price;
  1702. uint8 priceRatio;
  1703. uint32 generationPrice;
  1704. uint8 generationPriceRatio;
  1705. uint32 alternateCostDelivered; // Alternative measure of the cost of the energy consumed
  1706. uint8 alternateCostUnit; // 8-bit enum identifying the unit for Alternate Cost Delivered field
  1707. uint8 alternateCostTrailingDigit; // Location of decimal point in alternatecost field
  1708. uint8 numberOfBlockThresholds; // Number of block thresholds available
  1709. uint8 priceControl; // Additional control options for the price event
  1710. } zclCCPublishPrice_t;
  1711. typedef struct
  1712. {
  1713. uint32 providerId; // Unique identifier for the commodity provider
  1714. uint32 issuerEventId; // Unique identifier generated by the commodity provider
  1715. uint32 priceAckTime; // Time price acknowledgement generated
  1716. uint8 control; // Price Control or Block Period Control options for the event
  1717. } zclCCPriceAcknowledgement_t;
  1718. typedef struct
  1719. {
  1720. uint32 startTime; // UTC start time
  1721. uint8 numEvents; // Maximum number of Publish Block Period commands to be sent
  1722. } zclCCGetBlockPeriod_t;
  1723. typedef struct
  1724. {
  1725. uint32 providerId; // Unique identifier for the commodity provider
  1726. uint32 issuerEventId; // Unique identifier generated by the commodity provider
  1727. uint32 blockPeriodStartTime; // UTC start time
  1728. uint24 blockPeriodDurInMins; // Block tariff period duration in minutes
  1729. uint8 numPriceTiersAndBlock; // Bitmap for price tiers and block thresholds available
  1730. uint8 tariffType; // Tariff type: This field is only used when SE_UK_EXT is enabled
  1731. uint8 blockPeriodControl; // Additional control options for the block period event
  1732. } zclCCPublishBlockPeriod_t;
  1733. typedef struct
  1734. {
  1735. uint32 supplierId; // Unique identifier for the commodity Supplier
  1736. uint32 issuerTariffId; // Unique tariff identifier generated by the commodity Supplier
  1737. uint32 startTime; // UTC Time field denoting the time the price signal becomes valid
  1738. uint8 tariffType; // Type of tariff published
  1739. UTF8String_t tarifLabel; // Label of tariff published
  1740. uint8 numPriceTiersInUse; // Number of Price Tiers in Use
  1741. uint8 numBlockThresholdsInUse; // Number of Block Thresholds in Use
  1742. uint8 unitOfMeasure; // Unit of Measure
  1743. uint16 currency; // Currency Used
  1744. uint8 priceTrailingDigit; // Price Trailing Digit
  1745. uint32 standingCharge; // (optional) Standing Charge (0xFFFFFFFF indicates field not used)
  1746. uint8 tierBlockMode; // (optional) Tier Block Mode (0xFF indicates field not used)
  1747. uint16 blockThresholdMask; // (optional) Block Threshold Mask (0x0000 indicates field not used)
  1748. uint32 BlockThresholdMultiplier; // 24-bit Value to be multiplied against Threshold parameter
  1749. uint32 BlockThresholdDivisor; // 24-bit Value to be divided against Threshold parameter
  1750. } zclCCPublishTariffInformation_t;
  1751. typedef struct
  1752. {
  1753. uint32 issuerTariffId; // Unique tariff identifier generated by the commodity Supplier
  1754. uint8 commandIndex; // Used to count the payload fragments when payload does not fit one message.
  1755. uint8 numElements; // Number of elements (N) in the Block Price Information
  1756. uint32 *pTierBlockPrice; // Contains N elements of the Block Price Information
  1757. } zclCCPublishPriceMatrix_t;
  1758. typedef uint8 zclBlockThreshold_t[6];
  1759. typedef struct
  1760. {
  1761. uint32 issuerTariffId; // Unique tariff identifier generated by the commodity Supplier
  1762. uint8 commandIndex; // Used to count the payload fragments when payload does not fit one message.
  1763. uint8 numElements; // Number of elements (N) in the Block Threshold Information
  1764. zclBlockThreshold_t *pTierBlockThreshold; // Contains N elements of the Block Threshold Information
  1765. } zclCCPublishBlockThresholds_t;
  1766. typedef struct
  1767. {
  1768. uint32 issuerEventId; // Unique Event identifier generated by the commodity Supplier
  1769. uint32 startTime; // UTC Time field denoting the time the factor becomes valid
  1770. uint32 conversionFactor;
  1771. uint8 trailingDigit;
  1772. } zclCCPublishConversionFactor_t;
  1773. typedef struct
  1774. {
  1775. uint32 issuerEventId; // Unique Event identifier generated by the commodity Supplier
  1776. uint32 startTime; // UTC Time field denoting the time the value becomes valid
  1777. uint32 calorificValue;
  1778. uint8 calorificValueUnit;
  1779. uint8 trailingDigit;
  1780. } zclCCPublishCalorificValue_t;
  1781. typedef struct
  1782. {
  1783. uint32 issuerEventId; // Unique Event identifier generated by the commodity Supplier
  1784. uint32 startTime; // UTC Time field denoting the time the value becomes valid
  1785. uint8 tariffType;
  1786. uint32 CO2Value;
  1787. uint8 CO2ValueUnit;
  1788. uint8 trailingDigit;
  1789. } zclCCPublishCO2Value_t;
  1790. typedef struct
  1791. {
  1792. uint32 issuerEventId; // Unique Event identifier generated by the commodity Supplier
  1793. uint32 startTime; // UTC Time field denoting the time the value becomes valid
  1794. uint16 durationInMinutes; // Duration of the CPP event in minutes
  1795. uint8 tariffType;
  1796. uint8 CPPPriceTier;
  1797. uint8 CPPAuth;
  1798. } zclCCPublishCPPEvent_t;
  1799. typedef struct
  1800. {
  1801. uint32 issuerEventId; // Unique Event identifier generated by the commodity Supplier
  1802. uint32 startTime; // UTC Time field denoting the time the value becomes valid
  1803. uint32 duration; // 24-bit duration of the billing period (bits 1-21: duration
  1804. // bits 22,23: duration units: 00 - minutes, 01 - days, 10 - weeks, 11 - months
  1805. uint8 tariffType;
  1806. } zclCCPublishBillingPeriod_t;
  1807. typedef struct
  1808. {
  1809. uint32 issuerEventId; // Unique Event identifier generated by the commodity Supplier
  1810. uint32 startTime; // UTC Time field denoting the time the value becomes valid
  1811. uint32 duration; // 24-bit duration of the billing period (bits 1-21: duration
  1812. // bits 22,23: duration units: 00 - minutes, 01 - days, 10 - weeks, 11 - months
  1813. uint8 tariffType;
  1814. uint32 consolidatedBill;
  1815. uint16 currency;
  1816. uint8 trailingDigit;
  1817. } zclCCPublishConsolidatedBill_t;
  1818. typedef struct
  1819. {
  1820. uint32 issuerEventId; // Unique Event identifier generated by the commodity Supplier
  1821. uint32 paymentDueDate; // UTC Time field denoting the payment due date
  1822. uint32 creditPaymentOverdueAmt;
  1823. uint8 creditPaymentStatus;
  1824. uint32 creditPayment;
  1825. uint32 creditPaymentDate;
  1826. UTF8String_t creditPaymentRef;
  1827. } zclCCPublishCreditPaymentInfo_t;
  1828. typedef struct
  1829. {
  1830. uint32 startTime; // UTC Time
  1831. uint8 numEvents;
  1832. uint8 tariffType; // (optional) Tariff type (0xFF when not in use)
  1833. } zclCCGetTariffInformation_t;
  1834. typedef struct
  1835. {
  1836. uint32 startTime; // UTC Time
  1837. uint8 numEvents;
  1838. } zclCCGetConversionFactor_t;
  1839. typedef struct
  1840. {
  1841. uint32 startTime; // UTC Time
  1842. uint8 numEvents;
  1843. } zclCCGetCalorificValue_t;
  1844. typedef struct
  1845. {
  1846. uint32 startTime; // UTC Time
  1847. uint8 numEvents;
  1848. uint8 tariffType; // (optional) Tariff type (0xFF when not in use)
  1849. } zclCCGetCO2Value_t;
  1850. typedef struct
  1851. {
  1852. uint32 startTime; // UTC Time
  1853. uint8 numEvents;
  1854. uint8 tariffType; // (optional) Tariff type (0xFF when not in use)
  1855. } zclCCGetBillingPeriod_t;
  1856. typedef struct
  1857. {
  1858. uint32 startTime; // UTC Time
  1859. uint8 numEvents;
  1860. uint8 tariffType; // (optional) Tariff type (0xFF when not in use)
  1861. } zclCCGetConsolidatedBill_t;
  1862. typedef struct
  1863. {
  1864. uint32 issuerEventId;
  1865. uint8 CPPAuth;
  1866. } zclCCCPPEventResponse_t;
  1867. typedef struct
  1868. {
  1869. uint8 transmissionMode; // valid value 0~2
  1870. uint8 importance; // 0~3
  1871. uint8 pinRequired; // 0~1 - applicable only to SE UK Extension
  1872. uint8 acceptanceRequired; // 0~1 - applicable only to SE UK Extension
  1873. uint8 confirmationRequired; // 0~1
  1874. } zclMessageCtrl_t;
  1875. typedef struct
  1876. {
  1877. uint32 messageId;
  1878. zclMessageCtrl_t messageCtrl;
  1879. uint32 startTime;
  1880. uint16 durationInMinutes;
  1881. UTF8String_t msgString;
  1882. } zclCCDisplayMessage_t;
  1883. typedef struct
  1884. {
  1885. uint32 messageId;
  1886. zclMessageCtrl_t messageCtrl;
  1887. } zclCCCancelMessage_t;
  1888. typedef struct
  1889. {
  1890. uint32 messageId;
  1891. uint32 confirmTime;
  1892. UTF8String_t msgString; // applicable only to SE UK Extension
  1893. } zclCCMessageConfirmation_t;
  1894. typedef struct
  1895. {
  1896. uint32 issuerEvent;
  1897. uint24 deviceGroupClass;
  1898. uint32 startTime;
  1899. uint16 durationInMinutes;
  1900. uint8 criticalityLevel;
  1901. uint8 coolingTemperatureOffset;
  1902. uint8 heatingTemperatureOffset;
  1903. uint16 coolingTemperatureSetPoint;
  1904. uint16 heatingTemperatureSetPoint;
  1905. int8 averageLoadAdjustmentPercentage;
  1906. uint8 dutyCycle;
  1907. uint8 eventControl;
  1908. } zclCCLoadControlEvent_t;
  1909. typedef struct
  1910. {
  1911. uint32 issuerEventID;
  1912. uint24 deviceGroupClass;
  1913. uint8 cancelControl;
  1914. uint32 effectiveTime;
  1915. } zclCCCancelLoadControlEvent_t;
  1916. typedef struct
  1917. {
  1918. uint8 cancelControl;
  1919. } zclCCCancelAllLoadControlEvents_t;
  1920. typedef struct
  1921. {
  1922. uint32 issuerEventID;
  1923. uint32 eventStartTime;
  1924. uint8 eventStatus;
  1925. uint8 criticalityLevelApplied;
  1926. uint16 coolingTemperatureSetPointApplied;
  1927. uint16 heatingTemperatureSetPointApplied;
  1928. int8 averageLoadAdjustment;
  1929. uint8 dutyCycleApplied;
  1930. uint8 eventControl;
  1931. uint8 signatureType;
  1932. uint8 signature[SE_PROFILE_SIGNATURE_LENGTH];
  1933. } zclCCReportEventStatus_t;
  1934. typedef struct
  1935. {
  1936. uint32 startTime;
  1937. uint8 numEvents;
  1938. } zclCCGetScheduledEvent_t;
  1939. typedef enum
  1940. {
  1941. zclSE_SimpleMeter_GetProfileRsp_Status_Success = 0,
  1942. zclSE_SimpleMeter_GetProfileRsp_Status_UndefinedInterval,
  1943. zclSE_SimpleMeter_GetProfileRsp_Status_IntervalNotSupport,
  1944. zclSE_SimpleMeter_GetProfileRsp_Status_InvalidEndTime,
  1945. zclSE_SimpleMeter_GetProfileRsp_Status_MorePeriodRequested,
  1946. zclSE_SimpleMeter_GetProfileRsp_Status_NotAvailable
  1947. } zclSE_SimpleMeter_GetProfileRsp_Status;
  1948. typedef struct
  1949. {
  1950. uint32 commandDateTime; // Date and time at which the selection command was issued
  1951. uint8 originatingDevice; // SE device issuing the selection command
  1952. UTF8String_t siteId; // Location of the metering device
  1953. UTF8String_t meterSerialNumber; // Unique identifier of the metering device
  1954. } zclCCSelAvailEmergencyCredit_t;
  1955. typedef struct
  1956. {
  1957. #ifndef SE_UK_EXT // SE 1.1
  1958. uint32 providerId; // Unique identifier for the commodity provider
  1959. UTF8String_t siteId; // Location of the metering device
  1960. UTF8String_t meterSerialNumber; // Unique identifier of the metering device
  1961. #else
  1962. uint32 supplierId;
  1963. uint32 eventId;
  1964. UTF8String_t signature;
  1965. #endif // SE_UK_EXT
  1966. uint32 requestDateTime; // Date and time at which the supply change was requested
  1967. uint32 implementationDateTime; // Date at which the supply change is to be applied
  1968. uint8 proposedSupplyStatus; // status of the energy supply
  1969. uint8 origIdSupplyControlBits; // type of SE device and ack setting
  1970. } zclCCChangeSupply_t;
  1971. typedef struct
  1972. {
  1973. #ifndef SE_UK_EXT // SE 1.1
  1974. uint32 providerId; // Unique identifier for the commodity provider
  1975. #else
  1976. uint32 supplierId;
  1977. uint32 issuerEventId;
  1978. #endif // SE_UK_EXT
  1979. uint32 implementationDateTime;
  1980. uint8 supplyStatus;
  1981. } zclCCSupplyStatusResponse_t;
  1982. typedef struct
  1983. {
  1984. uint32 cmdIssueTime;
  1985. UTF8String_t debtLabel;
  1986. uint32 debtAmount;
  1987. uint8 debtRecoveryMethod;
  1988. uint8 debtType;
  1989. uint32 recoveryStartTime;
  1990. uint16 debtRecoveryCollectionTime;
  1991. uint32 debtRecoveryFrequency;
  1992. uint32 debtRecoveryAmt;
  1993. uint16 debtRecoveryBalancePct;
  1994. uint8 debtRecoveryMaxMissed;
  1995. UTF8String_t signature;
  1996. } zclCCChangeDebt_t;
  1997. typedef struct
  1998. {
  1999. uint32 cmdIssueTime;
  2000. uint32 emergencyCreditLimit;
  2001. uint32 emergencyCreditThreshold;
  2002. } zclCCEmergencyCreditSetup_t;
  2003. typedef struct
  2004. {
  2005. uint8 originatingDevice;
  2006. UTF8String_t topupCode;
  2007. } zclCCConsumerTopup_t;
  2008. typedef struct
  2009. {
  2010. uint32 cmdIssueTime;
  2011. uint8 creditAdjustmentType;
  2012. uint8 creditAdjustmentValue[6];
  2013. UTF8String_t signature;
  2014. } zclCCCreditAdjustment_t;
  2015. typedef struct
  2016. {
  2017. uint32 supplierId;
  2018. uint32 modeEventId;
  2019. uint32 implementationDate;
  2020. uint8 proposedPaymentControl;
  2021. uint32 cutOffValue;
  2022. UTF8String_t signature;
  2023. } zclCCChangePaymentMode_t;
  2024. typedef struct
  2025. {
  2026. uint32 startTime;
  2027. uint8 numberOfSnapshots;
  2028. uint16 snapshotCause;
  2029. } zclCCGetPrepaySnapshot_t;
  2030. typedef struct
  2031. {
  2032. uint8 numberOfDebt;
  2033. uint8 debtType;
  2034. } zclCCGetDebtRepaymentLog_t;
  2035. typedef struct
  2036. {
  2037. uint32 type1DebtRemaining;
  2038. uint32 type2DebtRemaining;
  2039. uint32 type3DebtRemaining;
  2040. uint32 emergencyCreditRemaining;
  2041. uint32 creditRemaining;
  2042. } zclCCDebitCreditSnapshotPayload_t;
  2043. typedef struct
  2044. {
  2045. uint32 eventIssuerId;
  2046. uint32 snapshotTime;
  2047. uint8 commandIndex;
  2048. uint16 snapshotCause;
  2049. uint8 snapshotPayloadType;
  2050. zclCCDebitCreditSnapshotPayload_t payload; // Currently only one payload type is defined
  2051. // Switch to a void * or union as more payloads are added
  2052. } zclCCGetPrepaySnapshotResponse_t;
  2053. typedef struct
  2054. {
  2055. uint8 friendlyCredit;
  2056. uint32 friendlyCreditCalendar;
  2057. uint32 emergencyCreditLimit;
  2058. uint32 cmergencyCreditThreshold;
  2059. } zclCCChangePaymentModeResponse_t;
  2060. typedef struct
  2061. {
  2062. uint8 resultType;
  2063. uint32 topupValue;
  2064. uint8 sourceofTopup;
  2065. uint32 creditRemaining;
  2066. } zclCCConsumerTopupResponse_t;
  2067. typedef struct
  2068. {
  2069. uint8 cmdIndex; // Index of the command (n of totalCmds)
  2070. uint8 totalCmds; // Total number of commands needed to send log
  2071. uint8 numCodes;
  2072. UTF8String_t *pPayload; // Array of numCodes strings containing payloads
  2073. } zclCCPublishTopupLog_t;
  2074. typedef struct
  2075. {
  2076. uint32 collectionTime;
  2077. uint32 amountCollected;
  2078. uint8 debtType;
  2079. uint32 outstandingDebt;
  2080. } zclCCDebtPayload_t;
  2081. typedef struct
  2082. {
  2083. uint8 cmdIndex; // Index of the command (n of totalCmds)
  2084. uint8 totalCmds; // Total number of commands needed to send log
  2085. uint8 numDebts;
  2086. zclCCDebtPayload_t *pPayload; // Array of numCodes strings containing payloads
  2087. } zclCCPublishDebtLog_t;
  2088. typedef struct
  2089. {
  2090. uint8 protocolId; // Identifier of the metering communication protocol
  2091. uint16 manufacturerCode; // Manufacturer specific Code
  2092. bool flowControlSupport; // Boolean parameter to indicate flow control support
  2093. uint16 maxInTransferSize; // Maximum data packet size in the payload
  2094. } zclCCRequestTunnel_t;
  2095. typedef struct
  2096. {
  2097. uint16 tunnelId; // Unique identifier of the tunnel
  2098. uint8 tunnelStatus; // Internal server status after execution of RequestTunnel cmd
  2099. uint16 maxInTransferSize; // Maximum data packet size in the payload
  2100. } zclCCReqTunnelRsp_t;
  2101. typedef struct
  2102. {
  2103. uint16 tunnelId; // Unique identifier of the tunnel
  2104. } zclCCCloseTunnel_t;
  2105. typedef struct
  2106. {
  2107. uint16 tunnelId; // Unique identifier of the tunnel
  2108. uint8 *data; // Data to be transfered
  2109. } zclCCTransferData_t;
  2110. typedef struct
  2111. {
  2112. uint16 tunnelId; // Unique identifier of the tunnel
  2113. uint8 transferDataStatus; // Error indication after last Transfer Data
  2114. } zclCCTransferDataError_t;
  2115. typedef struct
  2116. {
  2117. uint16 tunnelId; // Unique identifier of the tunnel
  2118. uint16 numberOfBytesLeft; // The remaining size of buffer space
  2119. } zclCCAckTransferData_t;
  2120. typedef struct
  2121. {
  2122. uint16 tunnelId; // Unique identifier of the tunnel
  2123. uint16 numberOfOctetsLeft; // The remaining size of buffer space
  2124. } zclCCReadyData_t;
  2125. typedef struct
  2126. {
  2127. uint8 protocolOffset; // Offset of available protocols
  2128. } zclCCGetSuppTunnProt_t;
  2129. typedef struct
  2130. {
  2131. uint16 manufacturerCode; // Manufacturer specific Code
  2132. uint8 protocolId; // Identifier of the metering communication protocol
  2133. } zclCCProtocolPayload_t;
  2134. typedef struct
  2135. {
  2136. uint8 protocolListComp; // Boolean type to indicate if there are more supported protocols available
  2137. uint8 protocolCount; // Number of protocols in response
  2138. zclCCProtocolPayload_t protocol[]; // protocol list - this structure should
  2139. // be allocated with the appropriate number of protocols.
  2140. } zclCCSuppTunnProtRsp_t;
  2141. typedef struct
  2142. {
  2143. uint16 tunnelId; // Unique identifier of the tunnel
  2144. } zclCCTunnelClosureNotification_t;
  2145. typedef struct
  2146. {
  2147. uint32 issuerCalendarId;
  2148. uint32 startTime;
  2149. uint8 calendarType;
  2150. uint8 calendarTimeRef;
  2151. UTF8String_t calendarName;
  2152. uint8 numOfSeasons;
  2153. uint8 numOfWeekProfiles;
  2154. uint8 numOfDayProfiles;
  2155. } zclCCPublishCalendar_t;
  2156. typedef struct
  2157. {
  2158. uint16 startTime;
  2159. uint8 activePriceTier;
  2160. } zclCCRateEntry_t;
  2161. typedef struct
  2162. {
  2163. uint16 startTime;
  2164. uint8 friendCreditEnable;
  2165. } zclCCFriendlyCreditEntry_t;
  2166. typedef struct
  2167. {
  2168. uint32 issuerCalendarId;
  2169. uint8 dayId;
  2170. uint8 totalNumSchedEnt;
  2171. uint8 commandIndex;
  2172. uint8 numTransferEntries; // Entries transfered in this command, this field is not sent OTA
  2173. void *pScheduleEntries; // this could be zclCCRateEntry_t or zclCCFriendlyCreditEntry_t entry
  2174. } zclCCPublishDayProfile_t;
  2175. typedef struct
  2176. {
  2177. uint32 issuerCalendarId;
  2178. uint8 weekId;
  2179. uint8 dayIdRefMonday;
  2180. uint8 dayIdRefTuestday;
  2181. uint8 dayIdRefWednesday;
  2182. uint8 dayIdRefThursday;
  2183. uint8 dayIdRefFriday;
  2184. uint8 dayIdRefSaturday;
  2185. uint8 dayIdRefSunday;
  2186. } zclCCPublishWeekProfile_t;
  2187. typedef struct
  2188. {
  2189. uint32 seasonStartDate;
  2190. uint8 weekIdRef;
  2191. } zclCCSeasonEntry_t;
  2192. typedef struct
  2193. {
  2194. uint32 issuerCalendarId;
  2195. uint8 commandIndex;
  2196. uint8 numTransferEntries; // Entries transfered in this command, this field is not sent OTA
  2197. zclCCSeasonEntry_t *pSeasonEntry;
  2198. } zclCCPublishSeasons_t;
  2199. typedef struct
  2200. {
  2201. uint32 specialDayDate;
  2202. uint8 dayIdRef;
  2203. } zclCCSpecialDayEntry_t;
  2204. typedef struct
  2205. {
  2206. uint32 issuerEventId;
  2207. uint32 startTime;
  2208. uint8 calendarType;
  2209. uint8 totalNumSpecialDays;
  2210. uint8 commandIndex;
  2211. uint8 numTransferEntries; // Entries transfered in this command, this field is not sent OTA
  2212. zclCCSpecialDayEntry_t *pSpecialDayEntry;
  2213. } zclCCPublishSpecialDays_t;
  2214. typedef struct
  2215. {
  2216. uint32 startTime;
  2217. uint8 numOfCalendars;
  2218. uint8 calendarType;
  2219. } zclCCGetCalendar_t;
  2220. typedef struct
  2221. {
  2222. uint32 issuerCalendarId;
  2223. } zclCCGetDayProfiles_t;
  2224. typedef struct
  2225. {
  2226. uint32 issuerCalendarId;
  2227. } zclCCGetWeekProfiles_t;
  2228. typedef struct
  2229. {
  2230. uint32 issuerCalendarId;
  2231. } zclCCGetSeasons_t;
  2232. typedef struct
  2233. {
  2234. uint32 startTime;
  2235. uint8 numOfEvents;
  2236. uint8 calendarType;
  2237. } zclCCGetSpecialDays_t;
  2238. typedef struct
  2239. {
  2240. uint8 passwordLevel;
  2241. } zclCCGetPassword_t;
  2242. typedef struct
  2243. {
  2244. uint32 supplierId;
  2245. uint32 eventId;
  2246. uint8 tariffType;
  2247. uint32 implementationDateTime;
  2248. uint32 propTenencyChangeCtrl;
  2249. UTF8String_t signature;
  2250. } zclCCPublishChangeTenancy_t;
  2251. typedef struct
  2252. {
  2253. uint32 supplierId;
  2254. uint32 eventId;
  2255. uint8 tariffType;
  2256. uint32 propSupplierId;
  2257. uint32 suppIdImplemDateTime;
  2258. uint32 supplierChangeCtrl;
  2259. UTF8String_t supplierIdName;
  2260. UTF8String_t signature;
  2261. } zclCCPublishChangeSupplier_t;
  2262. typedef struct
  2263. {
  2264. uint8 passwordLevel;
  2265. UTF8String_t password;
  2266. } zclCCChangePassword_t;
  2267. typedef struct
  2268. {
  2269. uint8 propSupplyStatus;
  2270. } zclCCLocalChangeSupply_t;
  2271. // This callback is called to process an incoming Get Profile
  2272. // command. On receipt of this command, the device responds with
  2273. // Get Profile Response.
  2274. typedef void (*zclSE_SimpleMeter_GetProfileCmd_t)( zclCCGetProfileCmd_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2275. // This callback is called to process an incoming Get Profile
  2276. // Response.
  2277. typedef void (*zclSE_SimpleMeter_GetProfileRsp_t)( zclCCGetProfileRsp_t *pRsp, afAddrType_t *srcAddr, uint8 seqNum );
  2278. // This callback is called to process an incoming Request Mirror
  2279. // command. In receipt of this command, the device finds a mirroring
  2280. // endpoint and responds with a Request Mirror Response
  2281. typedef void (*zclSE_SimpleMeter_ReqMirrorCmd_t)( afAddrType_t *srcAddr, uint8 seqNum ) ;
  2282. // This callback is called to process an incoming Request Mirror Response
  2283. typedef void (*zclSE_SimpleMeter_ReqMirrorRsp_t)( zclCCReqMirrorRsp_t *pRsp, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2284. // This callback is called to process an incoming Mirror Removed
  2285. // command. In receipt of this command, the device removes the
  2286. // mirrored data from the metering device and responds with a
  2287. // Mirror Removed response.
  2288. typedef void (*zclSE_SimpleMeter_MirrorRemCmd_t)( afAddrType_t *srcAddr, uint8 seqNum ) ;
  2289. // This callback is called to process an incoming Mirror Remove Response
  2290. typedef void (*zclSE_SimpleMeter_MirrorRemRsp_t)( zclCCMirrorRemRsp_t *pRsp, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2291. // This callback is called to process an incoming Request Fast Poll Mode Command
  2292. typedef void (*zclSE_SimpleMeter_ReqFastPollModeCmd_t)( zclCCReqFastPollModeCmd_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2293. // This callback is called to process an incoming Request Fast Poll Mode Response
  2294. typedef void (*zclSE_SimpleMeter_ReqFastPollModeRsp_t)( zclCCReqFastPollModeRsp_t *pRsp, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2295. // This callback is called to process an incoming Get Snapshot Command
  2296. typedef void (*zclSE_SimpleMeter_GetSnapshotCmd_t)( zclCCReqGetSnapshotCmd_t *pRsp, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2297. // This callback is called to process an incoming Get Snapshot Response
  2298. typedef void (*zclSE_SimpleMeter_GetSnapshotRsp_t)( zclCCReqGetSnapshotRsp_t *pRsp, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2299. // This callback is called to process an incoming Take Snapshot Command
  2300. typedef void (*zclSE_SimpleMeter_TakeSnapshotCmd_t)( afAddrType_t *srcAddr, uint8 seqNum ) ;
  2301. // This callback is called to process an incoming Mirror Report Attribute Response
  2302. typedef void (*zclSE_SimpleMeter_MirrorReportAttrRsp_t)( zclCCReqMirrorReportAttrRsp_t *pRsp, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2303. // This callback is called to process an incoming Get Current Price
  2304. // command. On receipt of this command, the device responds with
  2305. // Publish Price.
  2306. typedef void (*zclSE_Pricing_GetCurentPrice_t)( zclCCGetCurrentPrice_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2307. // This callback is called to process an incoming Get Scheduled Price
  2308. // command. On receipt of this command, the device responds with
  2309. // Publish Price.
  2310. typedef void (*zclSE_Pricing_GetScheduledPrice_t)( zclCCGetScheduledPrice_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2311. // This callback is called to process an incoming Publish Price
  2312. // command. On receipt of this command, the device responds with
  2313. // Price Acknowledgement.
  2314. typedef void (*zclSE_Pricing_PublishPrice_t)( zclCCPublishPrice_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2315. // This callback is called to process an incoming Price Acknowledgement
  2316. // command.
  2317. typedef void (*zclSE_Pricing_PriceAcknowledgement_t)( zclCCPriceAcknowledgement_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2318. // This callback is called to process an incoming Get Block Period
  2319. // command. On receipt of this command, the device responds with
  2320. // Publish Block Period.
  2321. typedef void (*zclSE_Pricing_GetBlockPeriod_t)( zclCCGetBlockPeriod_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2322. // This callback is called to process an incoming Publish Block Period
  2323. // command.
  2324. typedef void (*zclSE_Pricing_PublishBlockPeriod_t)( zclCCPublishBlockPeriod_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2325. // This callback is called to process an incoming Display Message
  2326. // command.
  2327. typedef void (*zclSE_Message_DisplayMessage_t)( zclCCDisplayMessage_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2328. // This callback is called to process an incoming Cancel Message
  2329. // command.
  2330. typedef void (*zclSE_Message_CancelMessage_t)( zclCCCancelMessage_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2331. // This callback is called to process an incoming Get Last Message
  2332. // command. On receipt of this command, the device responds with
  2333. // Display Message.
  2334. typedef void (*zclSE_Message_GetLastMessage_t)( afAddrType_t *srcAddr, uint8 seqNum );
  2335. // This callback is called to process an incoming Message Confirmation
  2336. // command.
  2337. typedef void (*zclSE_Message_MessageConfirmation_t)( zclCCMessageConfirmation_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2338. // This callback is called to process an incoming Load Control Event Command
  2339. // command.
  2340. typedef void (*zclSE_LoadControl_LoadControlEvent_t)( zclCCLoadControlEvent_t *pCmd, afAddrType_t *srcAddr, uint8 status, uint8 seqNum );
  2341. // This callback is called to process an incoming Cancel Load Control Event Command
  2342. // command.
  2343. typedef void (*zclSE_LoadControl_CancelLoadControlEvent_t)( zclCCCancelLoadControlEvent_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum);
  2344. // This callback is called to process an incoming Cancel All Load Control Event Command
  2345. // command.
  2346. typedef void (*zclSE_LoadControl_CancelAllLoadControlEvents_t)( zclCCCancelAllLoadControlEvents_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2347. // This callback is called to process an incoming Report Event Status Command
  2348. // command.
  2349. typedef void (*zclSE_LoadControl_ReportEventStatus_t)( zclCCReportEventStatus_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum);
  2350. // This callback is called to process an incoming Get Scheduled Event Command
  2351. // command.
  2352. typedef void (*zclSE_LoadControl_GetScheduledEvent_t)( zclCCGetScheduledEvent_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum);
  2353. // This callback is called to process an incoming Select Available Emergency Credit Command
  2354. typedef void (*zclSE_Prepayment_SelAvailEmergencyCredit_t)( zclCCSelAvailEmergencyCredit_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2355. // This callback is called to process an incoming Change Supply Command
  2356. typedef void (*zclSE_Prepayment_ChangeSupply_t)( zclCCChangeSupply_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2357. // This callback is called to process an incoming Supply Status Response Command
  2358. typedef void (*zclSE_Prepayment_SupplyStatusResponse_t)( zclCCSupplyStatusResponse_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2359. // This callback is called to process an incoming Publish Tariff Info
  2360. typedef void (*zclSE_Pricing_PublishTariffInformation_t)( zclCCPublishTariffInformation_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2361. // This callback is called to process an incoming Publish Price Matrix
  2362. typedef void (*zclSE_Pricing_PublishPriceMatrix_t)( zclCCPublishPriceMatrix_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2363. // This callback is called to process an incoming Publish Block Thresholds
  2364. typedef void (*zclSE_Pricing_PublishBlockThresholds_t)( zclCCPublishBlockThresholds_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2365. // This callback is called to process an incoming Publish Conversion Factor
  2366. typedef void (*zclSE_Pricing_PublishConversionFactor_t)( zclCCPublishConversionFactor_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2367. // This callback is called to process an incoming Publish Calorific Value
  2368. typedef void (*zclSE_Pricing_PublishCalorificValue_t)( zclCCPublishCalorificValue_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2369. // This callback is called to process an incoming Publish CO2 Value
  2370. typedef void (*zclSE_Pricing_PublishCO2Value_t)( zclCCPublishCO2Value_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2371. // This callback is called to process an incoming Publish CPP Event
  2372. typedef void (*zclSE_Pricing_PublishCPPEvent_t)( zclCCPublishCPPEvent_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2373. // This callback is called to process an incoming Publish Billing Period
  2374. typedef void (*zclSE_Pricing_PublishBillingPeriod_t)( zclCCPublishBillingPeriod_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2375. // This callback is called to process an incoming Publish Consolidated Bill
  2376. typedef void (*zclSE_Pricing_PublishConsolidatedBill_t)( zclCCPublishConsolidatedBill_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2377. // This callback is called to process an incoming Publish Credit Payment Info
  2378. typedef void (*zclSE_Pricing_PublishCreditPaymentInfo_t)( zclCCPublishCreditPaymentInfo_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2379. // This callback is called to process an incoming Get Tariff Information
  2380. typedef void (*zclSE_Pricing_GetTariffInformation_t)( zclCCGetTariffInformation_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2381. // This callback is called to process an incoming Get Price Matrix
  2382. typedef void (*zclSE_Pricing_GetPriceMatrix_t)( uint32 issuerTariffId, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2383. // This callback is called to process an incoming Get Block Thresholds
  2384. typedef void (*zclSE_Pricing_GetBlockThresholds_t)( uint32 issuerTariffId, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2385. // This callback is called to process an incoming Get Conversion Factor
  2386. typedef void (*zclSE_Pricing_GetConversionFactor_t)( zclCCGetConversionFactor_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2387. // This callback is called to process an incoming Get Calorific Value
  2388. typedef void (*zclSE_Pricing_GetCalorificValue_t)( zclCCGetCalorificValue_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2389. // This callback is called to process an incoming Get CO2 Value
  2390. typedef void (*zclSE_Pricing_GetCO2Value_t)( zclCCGetCO2Value_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2391. // This callback is called to process an incoming Get Billing Period
  2392. typedef void (*zclSE_Pricing_GetBillingPeriod_t)( zclCCGetBillingPeriod_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2393. // This callback is called to process an incoming Get Consolidated Bill
  2394. typedef void (*zclSE_Pricing_GetConsolidatedBill_t)( zclCCGetConsolidatedBill_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2395. // This callback is called to process an incoming CPP Event Response
  2396. typedef void (*zclSE_Pricing_CPPEventResponse_t)( zclCCCPPEventResponse_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2397. // This callback is called to process an incoming Change Debt
  2398. typedef void (*zclSE_Prepayment_ChangeDebt_t)( zclCCChangeDebt_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2399. // This callback is called to process an incoming Emergency Credit Setup
  2400. typedef void (*zclSE_Prepayment_EmergencyCreditSetup_t)( zclCCEmergencyCreditSetup_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2401. // This callback is called to process an incoming Consumer Topup
  2402. typedef void (*zclSE_Prepayment_ConsumerTopup_t)( zclCCConsumerTopup_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2403. // This callback is called to process an incoming Credit Adjustment
  2404. typedef void (*zclSE_Prepayment_CreditAdjustment_t)( zclCCCreditAdjustment_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2405. // This callback is called to process an incoming Change Paymet Mode
  2406. typedef void (*zclSE_Prepayment_ChangePaymentMode_t)( zclCCChangePaymentMode_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2407. // This callback is called to process an incoming Get Prepay Snapshot
  2408. typedef void (*zclSE_Prepayment_GetPrepaySnapshot_t)( zclCCGetPrepaySnapshot_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2409. // This callback is called to process an incoming Get Topup Log
  2410. typedef void (*zclSE_Prepayment_GetTopupLog_t)( uint8 numEvents, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2411. // This callback is called to process an incoming Set Low Credit Warning Level
  2412. typedef void (*zclSE_Prepayment_SetLowCreditWarningLevel_t)( uint8 numEvents, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2413. // This callback is called to process an incoming Get Debt Repayment Log
  2414. typedef void (*zclSE_Prepayment_GetDebtRepaymentLog_t)( zclCCGetDebtRepaymentLog_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2415. // This callback is called to process an incoming Get Prepay Snapshot Response
  2416. typedef void (*zclSE_Prepayment_GetPrepaySnapshotResponse_t)( zclCCGetPrepaySnapshotResponse_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2417. // This callback is called to process an incoming Change Payment Mode Response
  2418. typedef void (*zclSE_Prepayment_ChangePaymentModeResponse_t)( zclCCChangePaymentModeResponse_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2419. // This callback is called to process an incoming Consumer Topup Response
  2420. typedef void (*zclSE_Prepayment_ConsumerTopupResponse_t)( zclCCConsumerTopupResponse_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2421. // This callback is called to process an incoming Get Commands
  2422. typedef void (*zclSE_Prepayment_GetCommands_t)( uint8 prepayNotificationFlags, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2423. // This callback is called to process an incoming Publish Topup Log
  2424. typedef void (*zclSE_Prepayment_PublishTopupLog_t)( zclCCPublishTopupLog_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2425. // This callback is called to process an incoming Publish Debt Log
  2426. typedef void (*zclSE_Prepayment_PublishDebtLog_t)( zclCCPublishDebtLog_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum ) ;
  2427. // This callback is called to process an incoming Request Tunnel Command
  2428. typedef void (*zclSE_Tunneling_RequestTunnel_t) ( zclCCRequestTunnel_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2429. // This callback is called to process an incoming Request Tunnel Response Command
  2430. typedef void (*zclSE_Tunneling_ReqTunnelRsp_t)( zclCCReqTunnelRsp_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2431. // This callback is called to process an incoming Close Tunnel Command
  2432. typedef void (*zclSE_Tunneling_CloseTunnel_t) ( zclCCCloseTunnel_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2433. // This callback is called to process an incoming Transfer Data Command
  2434. typedef void (*zclSE_Tunneling_TransferData_t) ( zclCCTransferData_t *pCmd, afAddrType_t *srcAddr, uint8 cmdId, uint16 dataLen, uint8 seqNum );
  2435. // This callback is called to process an incoming Transfer Data Error Command
  2436. typedef void (*zclSE_Tunneling_TransferDataError_t) ( zclCCTransferDataError_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2437. // This callback is called to process an incoming Ack Transfer Data Command
  2438. typedef void (*zclSE_Tunneling_AckTransferData_t) ( zclCCAckTransferData_t *pCmd, afAddrType_t *srcAddr, uint8 cmdId, uint8 seqNum );
  2439. // This callback is called to process an incoming Ready Data Command
  2440. typedef void (*zclSE_Tunneling_ReadyData_t) ( zclCCReadyData_t *pCmd, afAddrType_t *srcAddr, uint8 cmdId, uint8 seqNum );
  2441. // This callback is called to process an incoming Get Supported Tunnel Protocols Command
  2442. typedef void (*zclSE_Tunneling_GetSuppTunnelProt_t) ( zclCCGetSuppTunnProt_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2443. // This callback is called to process an incoming Supported Tunnel Protocols Response Command
  2444. typedef void (*zclSE_Tunneling_SuppTunnelProtRsp_t) ( zclCCSuppTunnProtRsp_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2445. // This callback is called to process an incoming Supported Tunnel Closure Notification Command
  2446. typedef void (*zclSE_Tunneling_TunnelClosureNotification_t) ( zclCCTunnelClosureNotification_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2447. // This callback is called to process an incoming Publish Calendar Command
  2448. typedef void (*zclSE_TOU_PublishCalendar_t) ( zclCCPublishCalendar_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2449. // This callback is called to process an incoming Publish Day Profile Command
  2450. typedef void (*zclSE_TOU_PublishDayProfile_t) ( zclCCPublishDayProfile_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2451. // This callback is called to process an incoming Publish Week Profile Command
  2452. typedef void (*zclSE_TOU_PublishWeekProfile_t) ( zclCCPublishWeekProfile_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2453. // This callback is called to process an incoming Publish Seasons Command
  2454. typedef void (*zclSE_TOU_PublishSeasons_t) ( zclCCPublishSeasons_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2455. // This callback is called to process an incoming Publish Special Days Command
  2456. typedef void (*zclSE_TOU_PublishSpecialDays_t) ( zclCCPublishSpecialDays_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2457. // This callback is called to process an incoming Get Calendar Command
  2458. typedef void (*zclSE_TOU_GetCalendar_t) ( zclCCGetCalendar_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2459. // This callback is called to process an incoming Get Day Profiles Command
  2460. typedef void (*zclSE_TOU_GetDayProfile_t) ( zclCCGetDayProfiles_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2461. // This callback is called to process an incoming Get Week Profile Command
  2462. typedef void (*zclSE_TOU_GetWeekProfiles_t) ( zclCCGetWeekProfiles_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2463. // This callback is called to process an incoming Get Seasons Command
  2464. typedef void (*zclSE_TOU_GetSeasons_t) ( zclCCGetSeasons_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2465. // This callback is called to process an incoming Get Special Days Command
  2466. typedef void (*zclSE_TOU_GetSpecialDays_t) ( zclCCGetSpecialDays_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2467. // This callback is called to process an incoming Get Change of Tenancy Command
  2468. typedef void (*zclSE_DeviceMgmt_GetChangeTenancy_t) ( afAddrType_t *srcAddr, uint8 seqNum );
  2469. // This callback is called to process an incoming Get Change of Supplier Command
  2470. typedef void (*zclSE_DeviceMgmt_GetChangeSupplier_t) ( afAddrType_t *srcAddr, uint8 seqNum );
  2471. // This callback is called to process an incoming Get Change Supply Command
  2472. typedef void (*zclSE_DeviceMgmt_GetChangeSupply_t) ( afAddrType_t *srcAddr, uint8 seqNum );
  2473. // This callback is called to process an incoming Supply Status Response Command
  2474. typedef void (*zclSE_DeviceMgmt_SupplyStatusResponse_t) ( zclCCSupplyStatusResponse_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2475. // This callback is called to process an incoming Get Password Command
  2476. typedef void (*zclSE_DeviceMgmt_GetPassword_t) ( zclCCGetPassword_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2477. // This callback is called to process an incoming Publish Change of Tenancy Command
  2478. typedef void (*zclSE_DeviceMgmt_PublishChangeTenancy_t) ( zclCCPublishChangeTenancy_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2479. // This callback is called to process an incoming Publish Change of Supplier Command
  2480. typedef void (*zclSE_DeviceMgmt_PublishChangeSupplier_t) ( zclCCPublishChangeSupplier_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2481. // This callback is called to process an incoming Change Supply Command
  2482. typedef void (*zclSE_DeviceMgmt_ChangeSupply_t) ( zclCCChangeSupply_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2483. // This callback is called to process an incoming Change Password Command
  2484. typedef void (*zclSE_DeviceMgmt_ChangePassword_t) ( zclCCChangePassword_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2485. // This callback is called to process an incoming Local Change Supply Command
  2486. typedef void (*zclSE_DeviceMgmt_LocalChangeSupply_t) ( zclCCLocalChangeSupply_t *pCmd, afAddrType_t *srcAddr, uint8 seqNum );
  2487. // Register Callbacks table entry - enter function pointers for callbacks that
  2488. // the application would like to receive
  2489. typedef struct
  2490. {
  2491. zclSE_Pricing_PublishPrice_t pfnPricing_PublishPrice;
  2492. zclSE_Pricing_PublishBlockPeriod_t pfnPricing_PublishBlockPeriod;
  2493. #ifdef SE_UK_EXT
  2494. zclSE_Pricing_PublishTariffInformation_t pfnPricing_PublishTariffInformation;
  2495. zclSE_Pricing_PublishPriceMatrix_t pfnPricing_PublishPriceMatrix;
  2496. zclSE_Pricing_PublishBlockThresholds_t pfnPricing_PublishBlockThresholds;
  2497. zclSE_Pricing_PublishConversionFactor_t pfnPricing_PublishConversionFactor;
  2498. zclSE_Pricing_PublishCalorificValue_t pfnPricing_PublishCalorificValue;
  2499. zclSE_Pricing_PublishCO2Value_t pfnPricing_PublishCO2Value;
  2500. zclSE_Pricing_PublishCPPEvent_t pfnPricing_PublishCPPEvent;
  2501. zclSE_Pricing_PublishBillingPeriod_t pfnPricing_PublishBillingPeriod;
  2502. zclSE_Pricing_PublishConsolidatedBill_t pfnPricing_PublishConsolidatedBill;
  2503. zclSE_Pricing_PublishCreditPaymentInfo_t pfnPricing_PublishCreditPaymentInfo;
  2504. #endif // SE_UK_EXT
  2505. zclSE_Pricing_GetCurentPrice_t pfnPricing_GetCurrentPrice;
  2506. zclSE_Pricing_GetScheduledPrice_t pfnPricing_GetScheduledPrice;
  2507. zclSE_Pricing_PriceAcknowledgement_t pfnPricing_PriceAcknowledgement;
  2508. zclSE_Pricing_GetBlockPeriod_t pfnPricing_GetBlockPeriod;
  2509. #ifdef SE_UK_EXT
  2510. zclSE_Pricing_GetTariffInformation_t pfnPricing_GetTariffInformation;
  2511. zclSE_Pricing_GetPriceMatrix_t pfnPricing_GetPriceMatrix;
  2512. zclSE_Pricing_GetBlockThresholds_t pfnPricing_GetBlockThresholds;
  2513. zclSE_Pricing_GetConversionFactor_t pfnPricing_GetConversionFactor;
  2514. zclSE_Pricing_GetCalorificValue_t pfnPricing_GetCalorificValue;
  2515. zclSE_Pricing_GetCO2Value_t pfnPricing_GetCO2Value;
  2516. zclSE_Pricing_GetBillingPeriod_t pfnPricing_GetBillingPeriod;
  2517. zclSE_Pricing_GetConsolidatedBill_t pfnPricing_GetConsolidatedBill;
  2518. zclSE_Pricing_CPPEventResponse_t pfnPricing_CPPEventResponse;
  2519. #endif // SE_UK_EXT
  2520. zclSE_LoadControl_LoadControlEvent_t pfnLoadControl_LoadControlEvent;
  2521. zclSE_LoadControl_CancelLoadControlEvent_t pfnLoadControl_CancelLoadControlEvent;
  2522. zclSE_LoadControl_CancelAllLoadControlEvents_t pfnLoadControl_CancelAllLoadControlEvents;
  2523. zclSE_LoadControl_ReportEventStatus_t pfnLoadControl_ReportEventStatus;
  2524. zclSE_LoadControl_GetScheduledEvent_t pfnLoadControl_GetScheduledEvents;
  2525. zclSE_SimpleMeter_GetProfileRsp_t pfnSimpleMeter_GetProfileRsp;
  2526. zclSE_SimpleMeter_ReqMirrorCmd_t pfnSimpleMeter_ReqMirrorCmd;
  2527. zclSE_SimpleMeter_MirrorRemCmd_t pfnSimpleMeter_MirrorRemCmd;
  2528. zclSE_SimpleMeter_ReqFastPollModeRsp_t pfnSimpleMeter_ReqFastPollModeRsp;
  2529. #ifdef SE_UK_EXT
  2530. zclSE_SimpleMeter_GetSnapshotRsp_t pfnSimpleMeter_GetSnapshotRsp;
  2531. #endif // SE_UK_EXT
  2532. zclSE_SimpleMeter_GetProfileCmd_t pfnSimpleMeter_GetProfileCmd;
  2533. zclSE_SimpleMeter_ReqMirrorRsp_t pfnSimpleMeter_ReqMirrorRsp;
  2534. zclSE_SimpleMeter_MirrorRemRsp_t pfnSimpleMeter_MirrorRemRsp;
  2535. zclSE_SimpleMeter_ReqFastPollModeCmd_t pfnSimpleMeter_ReqFastPollModeCmd;
  2536. #ifdef SE_UK_EXT
  2537. zclSE_SimpleMeter_GetSnapshotCmd_t pfnSimpleMeter_GetSnapshotCmd;
  2538. zclSE_SimpleMeter_TakeSnapshotCmd_t pfnSimpleMeter_TakeSnapshotCmd;
  2539. zclSE_SimpleMeter_MirrorReportAttrRsp_t pfnSimpleMeter_MirrorReportAttrRsp;
  2540. #endif // SE_UK_EXT
  2541. zclSE_Message_DisplayMessage_t pfnMessage_DisplayMessage;
  2542. zclSE_Message_CancelMessage_t pfnMessage_CancelMessage;
  2543. zclSE_Message_GetLastMessage_t pfnMessage_GetLastMessage;
  2544. zclSE_Message_MessageConfirmation_t pfnMessage_MessageConfirmation;
  2545. zclSE_Tunneling_ReqTunnelRsp_t pfnTunneling_ReqTunnelRsp;
  2546. zclSE_Tunneling_TransferData_t pfnTunneling_TransferData;
  2547. zclSE_Tunneling_TransferDataError_t pfnTunneling_TransferDataError;
  2548. zclSE_Tunneling_AckTransferData_t pfnTunneling_AckTransferData;
  2549. zclSE_Tunneling_ReadyData_t pfnTunneling_ReadyData;
  2550. #ifdef SE_UK_EXT
  2551. zclSE_Tunneling_SuppTunnelProtRsp_t pfnTunneling_SuppTunnelProtRsp;
  2552. zclSE_Tunneling_TunnelClosureNotification_t pfnTunneling_TunnelClosureNotification;
  2553. #endif // SE_UK_EXT
  2554. zclSE_Tunneling_RequestTunnel_t pfnTunneling_RequestTunnel;
  2555. zclSE_Tunneling_CloseTunnel_t pfnTunneling_CloseTunnel;
  2556. #ifdef SE_UK_EXT
  2557. zclSE_Tunneling_GetSuppTunnelProt_t pfnTunneling_GetSuppTunnelProt;
  2558. #endif // SE_UK_EXT
  2559. zclSE_Prepayment_SupplyStatusResponse_t pfnPrepayment_SupplyStatusResponse;
  2560. #ifdef SE_UK_EXT
  2561. zclSE_Prepayment_GetPrepaySnapshotResponse_t pfnPrepayment_GetPrepaySnapshotResponse;
  2562. zclSE_Prepayment_ChangePaymentModeResponse_t pfnPrepayment_ChangePaymentModeResponse;
  2563. zclSE_Prepayment_ConsumerTopupResponse_t pfnPrepayment_ConsumerTopupResponse;
  2564. zclSE_Prepayment_GetCommands_t pfnPrepayment_GetCommands;
  2565. zclSE_Prepayment_PublishTopupLog_t pfnPrepayment_PublishTopupLog;
  2566. zclSE_Prepayment_PublishDebtLog_t pfnPrepayment_PublishDebtLog;
  2567. #endif // SE_UK_EXT
  2568. zclSE_Prepayment_SelAvailEmergencyCredit_t pfnPrepayment_SelAvailEmergencyCredit;
  2569. zclSE_Prepayment_ChangeSupply_t pfnPrepayment_ChangeSupply;
  2570. #ifdef SE_UK_EXT
  2571. zclSE_Prepayment_ChangeDebt_t pfnPrepayment_ChangeDebt;
  2572. zclSE_Prepayment_EmergencyCreditSetup_t pfnPrepayment_EmergencyCreditSetup;
  2573. zclSE_Prepayment_ConsumerTopup_t pfnPrepayment_ConsumerTopup;
  2574. zclSE_Prepayment_CreditAdjustment_t pfnPrepayment_CreditAdjustment;
  2575. zclSE_Prepayment_ChangePaymentMode_t pfnPrepayment_ChangePaymentMode;
  2576. zclSE_Prepayment_GetPrepaySnapshot_t pfnPrepayment_GetPrepaySnapshot;
  2577. zclSE_Prepayment_GetTopupLog_t pfnPrepayment_GetTopupLog;
  2578. zclSE_Prepayment_SetLowCreditWarningLevel_t pfnPrepayment_SetLowCreditWarningLevel;
  2579. zclSE_Prepayment_GetDebtRepaymentLog_t pfnPrepayment_GetDebtRepaymentLog;
  2580. zclSE_TOU_PublishCalendar_t pfnTou_PublishCalendar;
  2581. zclSE_TOU_PublishDayProfile_t pfnTou_PublishDayProfile;
  2582. zclSE_TOU_PublishWeekProfile_t pfnTou_PublishWeekProfile;
  2583. zclSE_TOU_PublishSeasons_t pfnTou_PublishSeasons;
  2584. zclSE_TOU_PublishSpecialDays_t pfnTou_PublishSpecialDays;
  2585. zclSE_TOU_GetCalendar_t pfnTou_GetCalendar;
  2586. zclSE_TOU_GetDayProfile_t pfnTou_GetDayProfiles;
  2587. zclSE_TOU_GetWeekProfiles_t pfnTou_GetWeekProfiles;
  2588. zclSE_TOU_GetSeasons_t pfnTou_GetSeasons;
  2589. zclSE_TOU_GetSpecialDays_t pfnTou_GetSpecialDays;
  2590. zclSE_DeviceMgmt_PublishChangeTenancy_t pfnDeviceMgmt_PublishChangeTenancy;
  2591. zclSE_DeviceMgmt_PublishChangeSupplier_t pfnDeviceMgmt_PublishChangeSupplier;
  2592. zclSE_DeviceMgmt_ChangeSupply_t pfnDeviceMgmt_ChangeSupply;
  2593. zclSE_DeviceMgmt_ChangePassword_t pfnDeviceMgmt_ChangePassword;
  2594. zclSE_DeviceMgmt_LocalChangeSupply_t pfnDeviceMgmt_LocalChangeSupply;
  2595. zclSE_DeviceMgmt_GetChangeTenancy_t pfnDeviceMgmt_GetChangeTenancy;
  2596. zclSE_DeviceMgmt_GetChangeSupplier_t pfnDeviceMgmt_GetChangeSupplier;
  2597. zclSE_DeviceMgmt_GetChangeSupply_t pfnDeviceMgmt_GetChangeSupply;
  2598. zclSE_DeviceMgmt_SupplyStatusResponse_t pfnDeviceMgmt_SupplyStatusResponse;
  2599. zclSE_DeviceMgmt_GetPassword_t pfnDeviceMgmt_GetPassword;
  2600. #endif // SE_UK_EXT
  2601. } zclSE_AppCallbacks_t;
  2602. /*********************************************************************
  2603. * VARIABLES
  2604. */
  2605. /*********************************************************************
  2606. * FUNCTIONS
  2607. */
  2608. /*
  2609. * Register for callbacks from this cluster library
  2610. */
  2611. extern ZStatus_t zclSE_RegisterCmdCallbacks( uint8 endpoint, zclSE_AppCallbacks_t *callbacks );
  2612. #ifdef ZCL_SIMPLE_METERING
  2613. /*
  2614. * Send Get Profile Command
  2615. */
  2616. extern ZStatus_t zclSE_SimpleMetering_Send_GetProfileCmd( uint8 srcEP, afAddrType_t *dstAddr,
  2617. uint8 channel, uint32 endTime, uint8 numOfPeriods,
  2618. uint8 disableDefaultRsp, uint8 seqNum );
  2619. /*
  2620. * Send Get Profile Response
  2621. */
  2622. extern ZStatus_t zclSE_SimpleMetering_Send_GetProfileRsp( uint8 srcEP, afAddrType_t *dstAddr,
  2623. uint32 endTime, uint8 rspStatus, uint8 profileIntervalPeriod,
  2624. uint8 numOfPeriodDelivered, uint24 *intervals,
  2625. uint8 disableDefaultRsp, uint8 seqNum );
  2626. /*
  2627. * Send Request Mirror Response
  2628. */
  2629. extern ZStatus_t zclSE_SimpleMetering_Send_ReqMirrorRsp( uint8 srcEP, afAddrType_t *dstAddr,
  2630. uint16 endpointId,
  2631. uint8 disableDefaultRsp, uint8 seqNum ) ;
  2632. /*
  2633. * Send Remove Mirror Response
  2634. */
  2635. extern ZStatus_t zclSE_SimpleMetering_Send_RemMirrorRsp( uint8 srcEP, afAddrType_t *dstAddr,
  2636. uint16 endpointId,
  2637. uint8 disableDefaultRsp, uint8 seqNum ) ;
  2638. /*
  2639. * Send Request Fast Poll Mode Command
  2640. */
  2641. extern ZStatus_t zclSE_SimpleMetering_Send_ReqFastPollModeCmd( uint8 srcEP, afAddrType_t *dstAddr,
  2642. zclCCReqFastPollModeCmd_t *pCmd,
  2643. uint8 disableDefaultRsp, uint8 seqNum ) ;
  2644. /*
  2645. * Send Request Fast Poll Mode Response
  2646. */
  2647. extern ZStatus_t zclSE_SimpleMetering_Send_ReqFastPollModeRsp( uint8 srcEP, afAddrType_t *dstAddr,
  2648. zclCCReqFastPollModeRsp_t *pCmd,
  2649. uint8 disableDefaultRsp, uint8 seqNum ) ;
  2650. #ifdef SE_UK_EXT
  2651. /*
  2652. * Send Get Snapshot Command
  2653. */
  2654. extern ZStatus_t zclSE_SimpleMetering_Send_GetSnapshotCmd( uint8 srcEP, afAddrType_t *dstAddr,
  2655. zclCCReqGetSnapshotCmd_t *pCmd,
  2656. uint8 disableDefaultRsp, uint8 seqNum );
  2657. /*
  2658. * Send Get Snapshot Response
  2659. */
  2660. extern ZStatus_t zclSE_SimpleMetering_Send_GetSnapshotRsp( uint8 srcEP, afAddrType_t *dstAddr,
  2661. zclCCReqGetSnapshotRsp_t *pCmd,
  2662. uint8 disableDefaultRsp, uint8 seqNum );
  2663. /*
  2664. * Send Take Snapshot Command
  2665. */
  2666. extern ZStatus_t zclSE_SimpleMetering_Send_TakeSnapshot( uint8 srcEP, afAddrType_t *dstAddr,
  2667. uint8 disableDefaultRsp, uint8 seqNum );
  2668. /*
  2669. * Send Mirror Report Attribute Response
  2670. */
  2671. extern ZStatus_t zclSE_SimpleMetering_Send_MirrorReportAttrRsp( uint8 srcEP, afAddrType_t *dstAddr,
  2672. zclCCReqMirrorReportAttrRsp_t *pCmd,
  2673. uint8 disableDefaultRsp, uint8 seqNum );
  2674. #endif // SE_UK_EXT
  2675. #endif // ZCL_SIMPLE_METERING
  2676. #ifdef ZCL_PRICING
  2677. /*
  2678. * Send Publish Price Command
  2679. */
  2680. extern ZStatus_t zclSE_Pricing_Send_PublishPrice( uint8 srcEP, afAddrType_t *dstAddr,
  2681. zclCCPublishPrice_t *pCmd,
  2682. uint8 disableDefaultRsp, uint8 seqNum );
  2683. extern ZStatus_t zclSE_Pricing_Send_GetScheduledPrice( uint8 srcEP, afAddrType_t *dstAddr,
  2684. zclCCGetScheduledPrice_t *pCmd,
  2685. uint8 disableDefaultRsp, uint8 seqNum );
  2686. /*
  2687. * Send Publish Acknowledgement Command
  2688. */
  2689. extern ZStatus_t zclSE_Pricing_Send_PriceAcknowledgement( uint8 srcEP, afAddrType_t *dstAddr,
  2690. zclCCPriceAcknowledgement_t *pCmd,
  2691. uint8 disableDefaultRsp, uint8 seqNum );
  2692. /*
  2693. * Send Get Block Period Command
  2694. */
  2695. extern ZStatus_t zclSE_Pricing_Send_GetBlockPeriod( uint8 srcEP, afAddrType_t *dstAddr,
  2696. zclCCGetBlockPeriod_t *pCmd,
  2697. uint8 disableDefaultRsp, uint8 seqNum );
  2698. /*
  2699. * Send Publish Block Period Command
  2700. */
  2701. extern ZStatus_t zclSE_Pricing_Send_PublishBlockPeriod( uint8 srcEP, afAddrType_t *dstAddr,
  2702. zclCCPublishBlockPeriod_t *pCmd,
  2703. uint8 disableDefaultRsp, uint8 seqNum );
  2704. #ifdef SE_UK_EXT
  2705. /*
  2706. * Send Publish Tariff Information Command
  2707. */
  2708. extern ZStatus_t zclSE_Pricing_Send_PublishTariffInformation( uint8 srcEP, afAddrType_t *dstAddr,
  2709. zclCCPublishTariffInformation_t *pCmd,
  2710. uint8 disableDefaultRsp, uint8 seqNum );
  2711. /*
  2712. * Send Publish Price Matrix Command
  2713. */
  2714. extern ZStatus_t zclSE_Pricing_Send_PublishPriceMatrix( uint8 srcEP, afAddrType_t *dstAddr,
  2715. zclCCPublishPriceMatrix_t *pCmd,
  2716. uint8 disableDefaultRsp, uint8 seqNum );
  2717. /*
  2718. * Send Publish Block Thresholds Command
  2719. */
  2720. extern ZStatus_t zclSE_Pricing_Send_PublishBlockThresholds( uint8 srcEP, afAddrType_t *dstAddr,
  2721. zclCCPublishBlockThresholds_t *pCmd,
  2722. uint8 disableDefaultRsp, uint8 seqNum );
  2723. /*
  2724. * Send Publish Conversion Factor Command
  2725. */
  2726. extern ZStatus_t zclSE_Pricing_Send_PublishConversionFactor( uint8 srcEP, afAddrType_t *dstAddr,
  2727. zclCCPublishConversionFactor_t *pCmd,
  2728. uint8 disableDefaultRsp, uint8 seqNum );
  2729. /*
  2730. * Send Publish Calorific Value Command
  2731. */
  2732. extern ZStatus_t zclSE_Pricing_Send_PublishCalorificValue( uint8 srcEP, afAddrType_t *dstAddr,
  2733. zclCCPublishCalorificValue_t *pCmd,
  2734. uint8 disableDefaultRsp, uint8 seqNum );
  2735. /*
  2736. * Send Publish CO2 Value Command
  2737. */
  2738. extern ZStatus_t zclSE_Pricing_Send_PublishCO2Value( uint8 srcEP, afAddrType_t *dstAddr,
  2739. zclCCPublishCO2Value_t *pCmd,
  2740. uint8 disableDefaultRsp, uint8 seqNum );
  2741. /*
  2742. * Send Publish CPP Event Command
  2743. */
  2744. extern ZStatus_t zclSE_Pricing_Send_PublishCPPEvent( uint8 srcEP, afAddrType_t *dstAddr,
  2745. zclCCPublishCPPEvent_t *pCmd,
  2746. uint8 disableDefaultRsp, uint8 seqNum );
  2747. /*
  2748. * Send Publish Billing Period Command
  2749. */
  2750. extern ZStatus_t zclSE_Pricing_Send_PublishBillingPeriod( uint8 srcEP, afAddrType_t *dstAddr,
  2751. zclCCPublishBillingPeriod_t *pCmd,
  2752. uint8 disableDefaultRsp, uint8 seqNum );
  2753. /*
  2754. * Send Publish Consolidated Bill Command
  2755. */
  2756. extern ZStatus_t zclSE_Pricing_Send_PublishConsolidatedBill( uint8 srcEP, afAddrType_t *dstAddr,
  2757. zclCCPublishConsolidatedBill_t *pCmd,
  2758. uint8 disableDefaultRsp, uint8 seqNum );
  2759. /*
  2760. * Send Publish Credit Payment Info Command
  2761. */
  2762. extern ZStatus_t zclSE_Pricing_Send_PublishCreditPaymentInfo( uint8 srcEP, afAddrType_t *dstAddr,
  2763. zclCCPublishCreditPaymentInfo_t *pCmd,
  2764. uint8 disableDefaultRsp, uint8 seqNum );
  2765. /*
  2766. * Send Get Tariff Information Command
  2767. */
  2768. extern ZStatus_t zclSE_Pricing_Send_GetTariffInformation( uint8 srcEP, afAddrType_t *dstAddr,
  2769. zclCCGetTariffInformation_t *pCmd,
  2770. uint8 disableDefaultRsp, uint8 seqNum );
  2771. /*
  2772. * Send Get Price Matrix Command
  2773. */
  2774. extern ZStatus_t zclSE_Pricing_Send_GetPriceMatrix( uint8 srcEP, afAddrType_t *dstAddr,
  2775. uint32 issuerId,
  2776. uint8 disableDefaultRsp, uint8 seqNum );
  2777. /*
  2778. * Send Get Block Thresholds Command
  2779. */
  2780. extern ZStatus_t zclSE_Pricing_Send_GetBlockThresholds( uint8 srcEP, afAddrType_t *dstAddr,
  2781. uint32 issuerId,
  2782. uint8 disableDefaultRsp, uint8 seqNum );
  2783. /*
  2784. * Send Get Conversion Factor Command
  2785. */
  2786. extern ZStatus_t zclSE_Pricing_Send_GetConversionFactor( uint8 srcEP, afAddrType_t *dstAddr,
  2787. zclCCGetConversionFactor_t *pCmd,
  2788. uint8 disableDefaultRsp, uint8 seqNum );
  2789. /*
  2790. * Send Get Calorific Value Command
  2791. */
  2792. extern ZStatus_t zclSE_Pricing_Send_GetCalorificValue( uint8 srcEP, afAddrType_t *dstAddr,
  2793. zclCCGetCalorificValue_t *pCmd,
  2794. uint8 disableDefaultRsp, uint8 seqNum );
  2795. /*
  2796. * Send Get CO2 Value Command
  2797. */
  2798. extern ZStatus_t zclSE_Pricing_Send_GetCO2Value( uint8 srcEP, afAddrType_t *dstAddr,
  2799. zclCCGetCO2Value_t *pCmd,
  2800. uint8 disableDefaultRsp, uint8 seqNum );
  2801. /*
  2802. * Send Get Billing Period Command
  2803. */
  2804. extern ZStatus_t zclSE_Pricing_Send_GetBillingPeriod( uint8 srcEP, afAddrType_t *dstAddr,
  2805. zclCCGetBillingPeriod_t *pCmd,
  2806. uint8 disableDefaultRsp, uint8 seqNum );
  2807. /*
  2808. * Send Get Consolidated Bill Command
  2809. */
  2810. extern ZStatus_t zclSE_Pricing_Send_GetConsolidatedBill( uint8 srcEP, afAddrType_t *dstAddr,
  2811. zclCCGetConsolidatedBill_t *pCmd,
  2812. uint8 disableDefaultRsp, uint8 seqNum );
  2813. /*
  2814. * Send CPP Event Response Command
  2815. */
  2816. extern ZStatus_t zclSE_Pricing_Send_CPPEventResponse( uint8 srcEP, afAddrType_t *dstAddr,
  2817. zclCCCPPEventResponse_t *pCmd,
  2818. uint8 disableDefaultRsp, uint8 seqNum );
  2819. #endif // SE_UK_EXT
  2820. #endif // ZCL_PRICING
  2821. #ifdef ZCL_MESSAGE
  2822. /*
  2823. * Send Display Message Command
  2824. */
  2825. extern ZStatus_t zclSE_Message_Send_DisplayMessage( uint8 srcEP, afAddrType_t *dstAddr,
  2826. zclCCDisplayMessage_t *pCmd,
  2827. uint8 disableDefaultRsp, uint8 seqNum );
  2828. /*
  2829. * Send Cancel Message Command
  2830. */
  2831. extern ZStatus_t zclSE_Message_Send_CancelMessage( uint8 srcEP, afAddrType_t *dstAddr,
  2832. zclCCCancelMessage_t *pCmd,
  2833. uint8 disableDefaultRsp, uint8 seqNum );
  2834. /*
  2835. * Send Message Confirmation
  2836. */
  2837. extern ZStatus_t zclSE_Message_Send_MessageConfirmation( uint8 srcEP, afAddrType_t *dstAddr,
  2838. zclCCMessageConfirmation_t *pCmd,
  2839. uint8 disableDefaultRsp, uint8 seqNum );
  2840. #endif // ZCL_MESSAGE
  2841. #ifdef ZCL_LOAD_CONTROL
  2842. /*
  2843. * Send Load Control Event
  2844. */
  2845. extern ZStatus_t zclSE_LoadControl_Send_LoadControlEvent( uint8 srcEP, afAddrType_t *dstAddr,
  2846. zclCCLoadControlEvent_t *pCmd,
  2847. uint8 disableDefaultRsp, uint8 seqNum );
  2848. /*
  2849. * Send Cancel Load Control Event
  2850. */
  2851. extern ZStatus_t zclSE_LoadControl_Send_CancelLoadControlEvent( uint8 srcEP, afAddrType_t *dstAddr,
  2852. zclCCCancelLoadControlEvent_t *pCmd,
  2853. uint8 disableDefaultRsp, uint8 seqNum );
  2854. /*
  2855. * Send Report Event Status
  2856. */
  2857. extern ZStatus_t zclSE_LoadControl_Send_ReportEventStatus( uint8 srcEP, afAddrType_t *dstAddr,
  2858. zclCCReportEventStatus_t *pCmd,
  2859. uint8 disableDefaultRsp, uint8 seqNum );
  2860. /*
  2861. * Send Get Scheduled Event
  2862. */
  2863. extern ZStatus_t zclSE_LoadControl_Send_GetScheduledEvent( uint8 srcEP, afAddrType_t *dstAddr,
  2864. zclCCGetScheduledEvent_t *pCmd,
  2865. uint8 disableDefaultRsp, uint8 seqNum );
  2866. #endif // ZCL_LOAD_CONTROL
  2867. #ifdef ZCL_PREPAYMENT
  2868. /*
  2869. * Send Select Available Emergency Credit Command
  2870. */
  2871. extern ZStatus_t zclSE_Prepayment_Send_SelAvailEmergencyCredit( uint8 srcEP, afAddrType_t *dstAddr,
  2872. zclCCSelAvailEmergencyCredit_t *pCmd,
  2873. uint8 disableDefaultRsp, uint8 seqNum );
  2874. #ifndef SE_UK_EXT
  2875. /*
  2876. * Send Change Supply Command
  2877. */
  2878. extern ZStatus_t zclSE_Prepayment_Send_ChangeSupply( uint8 srcEP, afAddrType_t *dstAddr,
  2879. zclCCChangeSupply_t *pCmd,
  2880. uint8 disableDefaultRsp, uint8 seqNum );
  2881. /*
  2882. * Send Supply Status Response Command
  2883. */
  2884. extern ZStatus_t zclSE_Prepayment_Send_SupplyStatusResponse( uint8 srcEP, afAddrType_t *dstAddr,
  2885. zclCCSupplyStatusResponse_t *pCmd,
  2886. uint8 disableDefaultRsp, uint8 seqNum );
  2887. #else // SE_UK_EXT
  2888. /*
  2889. * Send Change Debt
  2890. */
  2891. extern ZStatus_t zclSE_Prepayment_Send_ChangeDebt( uint8 srcEP, afAddrType_t *dstAddr,
  2892. zclCCChangeDebt_t *pCmd,
  2893. uint8 disableDefaultRsp, uint8 seqNum );
  2894. /*
  2895. * Send Emergency Credit Setup
  2896. */
  2897. extern ZStatus_t zclSE_Prepayment_Send_EmergencyCreditSetup( uint8 srcEP, afAddrType_t *dstAddr,
  2898. zclCCEmergencyCreditSetup_t *pCmd,
  2899. uint8 disableDefaultRsp, uint8 seqNum );
  2900. /*
  2901. * Send Consumer Topup
  2902. */
  2903. extern ZStatus_t zclSE_Prepayment_Send_ConsumerTopup( uint8 srcEP, afAddrType_t *dstAddr,
  2904. zclCCConsumerTopup_t *pCmd,
  2905. uint8 disableDefaultRsp, uint8 seqNum );
  2906. /*
  2907. * Send Credit Adjustment
  2908. */
  2909. extern ZStatus_t zclSE_Prepayment_Send_CreditAdjustment( uint8 srcEP, afAddrType_t *dstAddr,
  2910. zclCCCreditAdjustment_t *pCmd,
  2911. uint8 disableDefaultRsp, uint8 seqNum );
  2912. /*
  2913. * Send Change Payment Mode
  2914. */
  2915. extern ZStatus_t zclSE_Prepayment_Send_ChangePaymentMode( uint8 srcEP, afAddrType_t *dstAddr,
  2916. zclCCChangePaymentMode_t *pCmd,
  2917. uint8 disableDefaultRsp, uint8 seqNum );
  2918. /*
  2919. * Send Prepay Snapshot
  2920. */
  2921. extern ZStatus_t zclSE_Prepayment_Send_GetPrepaySnapshot( uint8 srcEP, afAddrType_t *dstAddr,
  2922. zclCCGetPrepaySnapshot_t *pCmd,
  2923. uint8 disableDefaultRsp, uint8 seqNum );
  2924. /*
  2925. * Send Get Topup Log
  2926. */
  2927. extern ZStatus_t zclSE_Prepayment_Send_GetTopupLog( uint8 srcEP, afAddrType_t *dstAddr,
  2928. uint8 numEvents, uint8 disableDefaultRsp, uint8 seqNum );
  2929. /*
  2930. * Send Set Low Credit Warning Level
  2931. */
  2932. extern ZStatus_t zclSE_Prepayment_Send_SetLowCreditWarningLevel( uint8 srcEP, afAddrType_t *dstAddr,
  2933. uint8 warningLevel, uint8 disableDefaultRsp, uint8 seqNum );
  2934. /*
  2935. * Send Get Debt Repayment Log
  2936. */
  2937. extern ZStatus_t zclSE_Prepayment_Send_GetDebtRepaymentLog( uint8 srcEP, afAddrType_t *dstAddr,
  2938. zclCCGetDebtRepaymentLog_t *pCmd,
  2939. uint8 disableDefaultRsp, uint8 seqNum );
  2940. /*
  2941. * Send Get Prepay Snapshot Response
  2942. */
  2943. extern ZStatus_t zclSE_Prepayment_Send_GetPrepaySnapshotResponse( uint8 srcEP, afAddrType_t *dstAddr,
  2944. zclCCGetPrepaySnapshotResponse_t *pCmd,
  2945. uint8 disableDefaultRsp, uint8 seqNum );
  2946. /*
  2947. * Send Change Payment Mode Response
  2948. */
  2949. extern ZStatus_t zclSE_Prepayment_Send_ChangePaymentModeResponse( uint8 srcEP, afAddrType_t *dstAddr,
  2950. zclCCChangePaymentModeResponse_t *pCmd,
  2951. uint8 disableDefaultRsp, uint8 seqNum );
  2952. /*
  2953. * Send Consumer Topup Response
  2954. */
  2955. extern ZStatus_t zclSE_Prepayment_Send_ConsumerTopupResponse( uint8 srcEP, afAddrType_t *dstAddr,
  2956. zclCCConsumerTopupResponse_t *pCmd,
  2957. uint8 disableDefaultRsp, uint8 seqNum );
  2958. /*
  2959. * Send Get Commands
  2960. */
  2961. extern ZStatus_t zclSE_Prepayment_Send_GetCommands( uint8 srcEP, afAddrType_t *dstAddr,
  2962. uint8 notificationFlags, uint8 disableDefaultRsp, uint8 seqNum );
  2963. /*
  2964. * Send Publish Topup Log
  2965. */
  2966. extern ZStatus_t zclSE_Prepayment_Send_PublishTopupLog( uint8 srcEP, afAddrType_t *dstAddr,
  2967. zclCCPublishTopupLog_t *pCmd,
  2968. uint8 disableDefaultRsp, uint8 seqNum );
  2969. /*
  2970. * Send Publish Debt Log
  2971. */
  2972. extern ZStatus_t zclSE_Prepayment_Send_PublishDebtLog( uint8 srcEP, afAddrType_t *dstAddr,
  2973. zclCCPublishDebtLog_t *pCmd,
  2974. uint8 disableDefaultRsp, uint8 seqNum );
  2975. #endif // SE_UK_EXT
  2976. #endif // ZCL_PREPAYMENT
  2977. #ifdef ZCL_TUNNELING
  2978. /*
  2979. * Send Request Tunnel
  2980. */
  2981. extern ZStatus_t zclSE_Tunneling_Send_RequestTunnel( uint8 srcEP, afAddrType_t *dstAddr,
  2982. zclCCRequestTunnel_t *pCmd,
  2983. uint8 disableDefaultRsp, uint8 seqNum );
  2984. /*
  2985. * Send Tunnel Response
  2986. */
  2987. extern ZStatus_t zclSE_Tunneling_Send_ReqTunnelRsp( uint8 srcEP, afAddrType_t *dstAddr,
  2988. zclCCReqTunnelRsp_t *pCmd,
  2989. uint8 disableDefaultRsp, uint8 seqNum );
  2990. /*
  2991. * Send Close Tunnel event
  2992. */
  2993. extern ZStatus_t zclSE_Tunneling_Send_CloseTunnel( uint8 srcEP, afAddrType_t *dstAddr,
  2994. zclCCCloseTunnel_t *pCmd,
  2995. uint8 disableDefaultRsp, uint8 seqNum );
  2996. /*
  2997. * Send Transfer Data
  2998. */
  2999. extern ZStatus_t zclSE_Tunneling_Send_TransferData( uint8 srcEP, afAddrType_t *dstAddr,
  3000. zclCCTransferData_t *pCmd, uint8 cmdId,
  3001. uint16 dataLen, uint8 disableDefaultRsp, uint8 seqNum );
  3002. /*
  3003. * Send Transfer Data Error
  3004. */
  3005. extern ZStatus_t zclSE_Tunneling_Send_TransferDataError( uint8 srcEP, afAddrType_t *dstAddr,
  3006. zclCCTransferDataError_t *pCmd, uint8 cmdId,
  3007. uint8 disableDefaultRsp, uint8 seqNum );
  3008. /*
  3009. * Send Data Transfer Acknowledgment
  3010. */
  3011. extern ZStatus_t zclSE_Tunneling_Send_AckTransferData( uint8 srcEP, afAddrType_t *dstAddr,
  3012. zclCCAckTransferData_t *pCmd, uint8 cmdId,
  3013. uint8 disableDefaultRsp, uint8 seqNum );
  3014. /*
  3015. * Send Ready Data Transfer
  3016. */
  3017. extern ZStatus_t zclSE_Tunneling_Send_ReadyData( uint8 srcEP, afAddrType_t *dstAddr,
  3018. zclCCReadyData_t *pCmd, uint8 cmdId,
  3019. uint8 disableDefaultRsp, uint8 seqNum );
  3020. #ifdef SE_UK_EXT
  3021. /*
  3022. * Send Get Supported Tunnel Protocol
  3023. */
  3024. extern ZStatus_t zclSE_Tunneling_Send_GetSuppTunnelProt( uint8 srcEP, afAddrType_t *dstAddr,
  3025. zclCCGetSuppTunnProt_t *pCmd,
  3026. uint8 disableDefaultRsp, uint8 seqNum );
  3027. /*
  3028. * Send Supported Tunnel Protocol Response
  3029. */
  3030. extern ZStatus_t zclSE_Tunneling_Send_SuppTunnelProtRsp( uint8 srcEP, afAddrType_t *dstAddr,
  3031. zclCCSuppTunnProtRsp_t *pCmd,
  3032. uint8 disableDefaultRsp, uint8 seqNum );
  3033. /*
  3034. * Send Tunnel Closure Notification Command
  3035. */
  3036. extern ZStatus_t zclSE_Tunneling_Send_TunnelClosureNotification( uint8 srcEP, afAddrType_t *dstAddr,
  3037. zclCCTunnelClosureNotification_t *pCmd,
  3038. uint8 disableDefaultRsp, uint8 seqNum );
  3039. #endif // SE_UK_EXT
  3040. #endif // ZCL_TUNNELING
  3041. #ifdef ZCL_TOU
  3042. #ifdef SE_UK_EXT
  3043. /*
  3044. * Send Publish Calendar Command
  3045. */
  3046. extern ZStatus_t zclSE_Tou_Send_PublishCalendar( uint8 srcEP, afAddrType_t *dstAddr,
  3047. zclCCPublishCalendar_t *pCmd,
  3048. uint8 disableDefaultRsp, uint8 seqNum );
  3049. /*
  3050. * Send Publish Day Profile Command
  3051. */
  3052. extern ZStatus_t zclSE_Tou_Send_PublishDayProfile( uint8 srcEP, afAddrType_t *dstAddr,
  3053. zclCCPublishDayProfile_t *pCmd,
  3054. uint8 disableDefaultRsp, uint8 seqNum );
  3055. /*
  3056. * Send Publish Week Profile Command
  3057. */
  3058. extern ZStatus_t zclSE_Tou_Send_PublishWeekProfile( uint8 srcEP, afAddrType_t *dstAddr,
  3059. zclCCPublishWeekProfile_t *pCmd,
  3060. uint8 disableDefaultRsp, uint8 seqNum );
  3061. /*
  3062. * Send Publish Seasons Command
  3063. */
  3064. extern ZStatus_t zclSE_Tou_Send_PublishSeasons( uint8 srcEP, afAddrType_t *dstAddr,
  3065. zclCCPublishSeasons_t *pCmd,
  3066. uint8 disableDefaultRsp, uint8 seqNum );
  3067. /*
  3068. * Send Publish Special Days Command
  3069. */
  3070. extern ZStatus_t zclSE_Tou_Send_PublishSpecialDays( uint8 srcEP, afAddrType_t *dstAddr,
  3071. zclCCPublishSpecialDays_t *pCmd,
  3072. uint8 disableDefaultRsp, uint8 seqNum );
  3073. /*
  3074. * Send Get Calendar Command
  3075. */
  3076. extern ZStatus_t zclSE_Tou_Send_GetCalendar( uint8 srcEP, afAddrType_t *dstAddr,
  3077. zclCCGetCalendar_t *pCmd,
  3078. uint8 disableDefaultRsp, uint8 seqNum );
  3079. /*
  3080. * Send Get Day Profiles Command
  3081. */
  3082. extern ZStatus_t zclSE_Tou_Send_GetDayProfiles( uint8 srcEP, afAddrType_t *dstAddr,
  3083. zclCCGetDayProfiles_t *pCmd,
  3084. uint8 disableDefaultRsp, uint8 seqNum );
  3085. /*
  3086. * Send Get Week Profile Command
  3087. */
  3088. extern ZStatus_t zclSE_Tou_Send_GetWeekProfiles( uint8 srcEP, afAddrType_t *dstAddr,
  3089. zclCCGetWeekProfiles_t *pCmd,
  3090. uint8 disableDefaultRsp, uint8 seqNum );
  3091. /*
  3092. * Send Get Seasons Command
  3093. */
  3094. extern ZStatus_t zclSE_Tou_Send_GetSeasons( uint8 srcEP, afAddrType_t *dstAddr,
  3095. zclCCGetSeasons_t *pCmd,
  3096. uint8 disableDefaultRsp, uint8 seqNum );
  3097. /*
  3098. * Send Get Special Days Command
  3099. */
  3100. extern ZStatus_t zclSE_Tou_Send_GetSpecialDays( uint8 srcEP, afAddrType_t *dstAddr,
  3101. zclCCGetSpecialDays_t *pCmd,
  3102. uint8 disableDefaultRsp, uint8 seqNum );
  3103. #endif // SE_UK_EXT
  3104. #endif // ZCL_TOU
  3105. #ifdef ZCL_DEVICE_MGMT
  3106. #ifdef SE_UK_EXT
  3107. /*
  3108. * Send Get Change of Tenancy Command
  3109. */
  3110. extern ZStatus_t zclSE_DeviceMgmt_Send_GetChangeTenancy( uint8 srcEP, afAddrType_t *dstAddr,
  3111. uint8 disableDefaultRsp, uint8 seqNum );
  3112. /*
  3113. * Send Get Change of Supplier Command
  3114. */
  3115. extern ZStatus_t zclSE_DeviceMgmt_Send_GetChangeSupplier( uint8 srcEP, afAddrType_t *dstAddr,
  3116. uint8 disableDefaultRsp, uint8 seqNum );
  3117. /*
  3118. * Send Get Change Supply Command
  3119. */
  3120. extern ZStatus_t zclSE_DeviceMgmt_Send_GetChangeSupply( uint8 srcEP, afAddrType_t *dstAddr,
  3121. uint8 disableDefaultRsp, uint8 seqNum );
  3122. /*
  3123. * Send Supply Status Response Command
  3124. */
  3125. extern ZStatus_t zclSE_DeviceMgmt_Send_SupplyStatusResponse( uint8 srcEP, afAddrType_t *dstAddr,
  3126. zclCCSupplyStatusResponse_t *pCmd,
  3127. uint8 disableDefaultRsp, uint8 seqNum );
  3128. /*
  3129. * Send Get Password Command
  3130. */
  3131. extern ZStatus_t zclSE_DeviceMgmt_Send_GetPassword( uint8 srcEP, afAddrType_t *dstAddr,
  3132. zclCCGetPassword_t *pCmd,
  3133. uint8 disableDefaultRsp, uint8 seqNum );
  3134. /*
  3135. * Send Publish Change of Tenancy Command
  3136. */
  3137. extern ZStatus_t zclSE_DeviceMgmt_Send_PublishChangeTenancy( uint8 srcEP, afAddrType_t *dstAddr,
  3138. zclCCPublishChangeTenancy_t *pCmd,
  3139. uint8 disableDefaultRsp, uint8 seqNum );
  3140. /*
  3141. * Send Publish Change of Supplier Command
  3142. */
  3143. extern ZStatus_t zclSE_DeviceMgmt_Send_PublishChangeSupplier( uint8 srcEP, afAddrType_t *dstAddr,
  3144. zclCCPublishChangeSupplier_t *pCmd,
  3145. uint8 disableDefaultRsp, uint8 seqNum );
  3146. /*
  3147. * Send Change Supply Command
  3148. */
  3149. extern ZStatus_t zclSE_DeviceMgmt_Send_ChangeSupply( uint8 srcEP, afAddrType_t *dstAddr,
  3150. zclCCChangeSupply_t *pCmd,
  3151. uint8 disableDefaultRsp, uint8 seqNum );
  3152. /*
  3153. * Send Change Password Command
  3154. */
  3155. extern ZStatus_t zclSE_DeviceMgmt_Send_ChangePassword( uint8 srcEP, afAddrType_t *dstAddr,
  3156. zclCCChangePassword_t *pCmd,
  3157. uint8 disableDefaultRsp, uint8 seqNum );
  3158. /*
  3159. * Send Local Change Supply Command
  3160. */
  3161. extern ZStatus_t zclSE_DeviceMgmt_Send_LocalChangeSupply( uint8 srcEP, afAddrType_t *dstAddr,
  3162. zclCCLocalChangeSupply_t *pCmd,
  3163. uint8 disableDefaultRsp, uint8 seqNum );
  3164. #endif // SE_UK_EXT
  3165. #endif // ZCL_DEVICE_MGMT
  3166. #ifdef ZCL_PRICING
  3167. /*
  3168. * Parse received Publish Price Command
  3169. */
  3170. extern ZStatus_t zclSE_ParseInCmd_PublishPrice( zclCCPublishPrice_t *pCmd, uint8 *buf, uint8 len );
  3171. /*
  3172. * Parse received Publish Block Period Command
  3173. */
  3174. extern void zclSE_ParseInCmd_PublishBlockPeriod( zclCCPublishBlockPeriod_t *pCmd,
  3175. uint8 *buf, uint8 len );
  3176. #ifdef SE_UK_EXT
  3177. /*
  3178. * Parse received Publish Tariff Infomation
  3179. */
  3180. extern void zclSE_ParseInCmd_PublishTariffInformation( zclCCPublishTariffInformation_t *pCmd,
  3181. uint8 *buf, uint8 len );
  3182. /*
  3183. * Parse received Publish Price Matrix
  3184. */
  3185. extern ZStatus_t zclSE_ParseInCmd_PublishPriceMatrix( zclCCPublishPriceMatrix_t *pCmd,
  3186. uint8 *buf, uint8 len );
  3187. /*
  3188. * Parse received Publish Block Thresholds
  3189. */
  3190. extern ZStatus_t zclSE_ParseInCmd_PublishBlockThresholds( zclCCPublishBlockThresholds_t *pCmd,
  3191. uint8 *buf, uint8 len );
  3192. /*
  3193. * Parse received Publish Conversion Factor
  3194. */
  3195. extern void zclSE_ParseInCmd_PublishConversionFactor( zclCCPublishConversionFactor_t *pCmd,
  3196. uint8 *buf, uint8 len );
  3197. /*
  3198. * Parse received Publish Calorific Value
  3199. */
  3200. extern void zclSE_ParseInCmd_PublishCalorificValue( zclCCPublishCalorificValue_t *pCmd,
  3201. uint8 *buf, uint8 len );
  3202. /*
  3203. * Parse received Publish CO2 Value
  3204. */
  3205. extern void zclSE_ParseInCmd_PublishCO2Value( zclCCPublishCO2Value_t *pCmd,
  3206. uint8 *buf, uint8 len );
  3207. /*
  3208. * Parse received Publish CPP Event
  3209. */
  3210. extern void zclSE_ParseInCmd_PublishCPPEvent( zclCCPublishCPPEvent_t *pCmd,
  3211. uint8 *buf, uint8 len );
  3212. /*
  3213. * Parse received Publish Billing Period
  3214. */
  3215. extern void zclSE_ParseInCmd_PublishBillingPeriod( zclCCPublishBillingPeriod_t *pCmd,
  3216. uint8 *buf, uint8 len );
  3217. /*
  3218. * Parse received Publish Consolidated Bill
  3219. */
  3220. extern void zclSE_ParseInCmd_PublishConsolidatedBill( zclCCPublishConsolidatedBill_t *pCmd,
  3221. uint8 *buf, uint8 len );
  3222. /*
  3223. * Parse received Publish Credit PaymentInfo
  3224. */
  3225. extern void zclSE_ParseInCmd_PublishCreditPaymentInfo( zclCCPublishCreditPaymentInfo_t *pCmd,
  3226. uint8 *buf, uint8 len );
  3227. /*
  3228. * Parse received Get Tariff Information
  3229. */
  3230. extern void zclSE_ParseInCmd_GetTariffInformation( zclCCGetTariffInformation_t *pCmd,
  3231. uint8 *buf, uint8 len );
  3232. /*
  3233. * Parse received Get Conversion Factor
  3234. */
  3235. extern void zclSE_ParseInCmd_GetConversionFactor( zclCCGetConversionFactor_t *pCmd,
  3236. uint8 *buf, uint8 len );
  3237. /*
  3238. * Parse received Get Calorific Value
  3239. */
  3240. extern void zclSE_ParseInCmd_GetCalorificValue( zclCCGetCalorificValue_t *pCmd,
  3241. uint8 *buf, uint8 len );
  3242. /*
  3243. * Parse received Get CO2 Value
  3244. */
  3245. extern void zclSE_ParseInCmd_GetCO2Value( zclCCGetCO2Value_t *pCmd,
  3246. uint8 *buf, uint8 len );
  3247. /*
  3248. * Parse received Get Billing Period
  3249. */
  3250. extern void zclSE_ParseInCmd_GetBillingPeriod( zclCCGetBillingPeriod_t *pCmd,
  3251. uint8 *buf, uint8 len );
  3252. /*
  3253. * Parse received Get Consolidated Bill
  3254. */
  3255. extern void zclSE_ParseInCmd_GetConsolidatedBill( zclCCGetConsolidatedBill_t *pCmd,
  3256. uint8 *buf, uint8 len );
  3257. /*
  3258. * Parse received CPP Event Response
  3259. */
  3260. extern void zclSE_ParseInCmd_CPPEventResponse( zclCCCPPEventResponse_t *pCmd,
  3261. uint8 *buf, uint8 len );
  3262. #endif // SE_UK_EXT
  3263. #endif // ZCL_PRICING
  3264. #ifdef ZCL_MESSAGE
  3265. /*
  3266. * Parse received Display Message Command
  3267. */
  3268. extern ZStatus_t zclSE_ParseInCmd_DisplayMessage( zclCCDisplayMessage_t *pCmd,
  3269. uint8 *buf, uint8 len );
  3270. /*
  3271. * Parse received Cancel Message Command
  3272. */
  3273. extern void zclSE_ParseInCmd_CancelMessage( zclCCCancelMessage_t *pCmd,
  3274. uint8 *buf, uint8 len );
  3275. /*
  3276. * Parse received Message Confirmation Command
  3277. */
  3278. extern void zclSE_ParseInCmd_MessageConfirmation( zclCCMessageConfirmation_t *pCmd,
  3279. uint8 *buf, uint8 len );
  3280. #endif // ZCL_MESSAGE
  3281. #ifdef ZCL_LOAD_CONTROL
  3282. /*
  3283. * Parse received Load Control Event
  3284. */
  3285. extern void zclSE_ParseInCmd_LoadControlEvent( zclCCLoadControlEvent_t *pCmd,
  3286. uint8 *buf, uint8 len );
  3287. /*
  3288. * Parse received Cancel Load Control Event
  3289. */
  3290. extern void zclSE_ParseInCmd_CancelLoadControlEvent( zclCCCancelLoadControlEvent_t *pCmd,
  3291. uint8 *buf, uint8 len );
  3292. /*
  3293. * Parse received Report Event Status
  3294. */
  3295. extern void zclSE_ParseInCmd_ReportEventStatus( zclCCReportEventStatus_t *pCmd,
  3296. uint8 *buf, uint8 len );
  3297. #endif // ZCL_LOAD_CONTROL
  3298. #ifdef ZCL_PREPAYMENT
  3299. /*
  3300. * Parse received Select Available Emergency Credit Command
  3301. */
  3302. extern void zclSE_ParseInCmd_SelAvailEmergencyCredit( zclCCSelAvailEmergencyCredit_t *pCmd,
  3303. uint8 *buf, uint8 len );
  3304. #ifndef SE_UK_EXT // this is SE 1.1 command definition
  3305. /*
  3306. * Parse received Select Change Supply Command
  3307. */
  3308. extern void zclSE_ParseInCmd_ChangeSupply( zclCCChangeSupply_t *pCmd,
  3309. uint8 *buf, uint8 len );
  3310. #else
  3311. /*
  3312. * Parse received Change Debt Command
  3313. */
  3314. extern void zclSE_ParseInCmd_ChangeDebt( zclCCChangeDebt_t *pCmd,
  3315. uint8 *buf, uint8 len );
  3316. /*
  3317. * Parse received Emergency Credit Setup
  3318. */
  3319. extern void zclSE_ParseInCmd_EmergencyCreditSetup( zclCCEmergencyCreditSetup_t *pCmd,
  3320. uint8 *buf, uint8 len );
  3321. /*
  3322. * Parse received Consumer Topup
  3323. */
  3324. extern void zclSE_ParseInCmd_ConsumerTopup( zclCCConsumerTopup_t *pCmd,
  3325. uint8 *buf, uint8 len );
  3326. /*
  3327. * Parse received Credit Adjustment
  3328. */
  3329. extern void zclSE_ParseInCmd_CreditAdjustment( zclCCCreditAdjustment_t *pCmd,
  3330. uint8 *buf, uint8 len );
  3331. /*
  3332. * Parse received Change Payment Mode
  3333. */
  3334. extern void zclSE_ParseInCmd_ChangePaymentMode( zclCCChangePaymentMode_t *pCmd,
  3335. uint8 *buf, uint8 len );
  3336. /*
  3337. * Parse received Get Prepay Snapshot
  3338. */
  3339. extern void zclSE_ParseInCmd_GetPrepaySnapshot( zclCCGetPrepaySnapshot_t *pCmd,
  3340. uint8 *buf, uint8 len );
  3341. /*
  3342. * Parse received Get Debt Repayment Log
  3343. */
  3344. extern void zclSE_ParseInCmd_GetDebtRepaymentLog( zclCCGetDebtRepaymentLog_t *pCmd,
  3345. uint8 *buf, uint8 len );
  3346. /*
  3347. * Parse received Get Prepay Snapshot Response
  3348. */
  3349. extern void zclSE_ParseInCmd_GetPrepaySnapshotResponse( zclCCGetPrepaySnapshotResponse_t *pCmd,
  3350. uint8 *buf, uint8 len );
  3351. /*
  3352. * Parse received Change Payment Mode Response
  3353. */
  3354. extern void zclSE_ParseInCmd_ChangePaymentModeResponse( zclCCChangePaymentModeResponse_t *pCmd,
  3355. uint8 *buf, uint8 len );
  3356. /*
  3357. * Parse received Consumer Topup Response
  3358. */
  3359. extern void zclSE_ParseInCmd_ConsumerTopupResponse( zclCCConsumerTopupResponse_t *pCmd,
  3360. uint8 *buf, uint8 len );
  3361. /*
  3362. * Parse received Publish Topup Log
  3363. */
  3364. extern ZStatus_t zclSE_ParseInCmd_PublishTopupLog( zclCCPublishTopupLog_t *pCmd,
  3365. uint8 *buf, uint8 len );
  3366. /*
  3367. * Parse received Publish Debt Log
  3368. */
  3369. extern ZStatus_t zclSE_ParseInCmd_PublishDebtLog( zclCCPublishDebtLog_t *pCmd,
  3370. uint8 *buf, uint8 len );
  3371. #endif // SE_UK_EXT
  3372. #endif // ZCL_PREPAYMENT
  3373. #ifdef ZCL_TUNNELING
  3374. /*
  3375. * Parse received Transfer Data Command
  3376. */
  3377. extern void zclSE_ParseInCmd_TransferData( zclCCTransferData_t *pCmd,
  3378. uint8 *buf, uint8 len );
  3379. #endif // ZCL_TUNNELING
  3380. #ifdef ZCL_TOU
  3381. #ifdef SE_UK_EXT
  3382. /*
  3383. * Parse received Publish Calendar Command
  3384. */
  3385. extern void zclSE_ParseInCmd_PublishCalendar( zclCCPublishCalendar_t *pCmd,
  3386. uint8 *buf, uint8 len );
  3387. /*
  3388. * Parse received Publish Day Profile Command
  3389. */
  3390. extern ZStatus_t zclSE_ParseInCmd_PublishDayProfile( zclCCPublishDayProfile_t *pCmd,
  3391. uint8 *buf, uint8 len );
  3392. /*
  3393. * Parse received Publish Seasons Command
  3394. */
  3395. extern ZStatus_t zclSE_ParseInCmd_PublishSeasons( zclCCPublishSeasons_t *pCmd,
  3396. uint8 *buf, uint8 len );
  3397. /*
  3398. * Parse received Publish Special Days Command
  3399. */
  3400. extern ZStatus_t zclSE_ParseInCmd_PublishSpecialDays( zclCCPublishSpecialDays_t *pCmd,
  3401. uint8 *buf, uint8 len );
  3402. #endif // SE_UK_EXT
  3403. #endif // ZCL_TOU
  3404. #ifdef ZCL_DEVICE_MGMT
  3405. #ifdef SE_UK_EXT
  3406. /*
  3407. * Parse received Publish Change of Tenancy Command
  3408. */
  3409. extern void zclSE_ParseInCmd_PublishChangeTenancy( zclCCPublishChangeTenancy_t *pCmd,
  3410. uint8 *buf, uint8 len );
  3411. /*
  3412. * Parse received Publish Change of Supplier Command
  3413. */
  3414. extern void zclSE_ParseInCmd_PublishChangeSupplier( zclCCPublishChangeSupplier_t *pCmd,
  3415. uint8 *buf, uint8 len );
  3416. /*
  3417. * Parse received Change Supply Command
  3418. */
  3419. extern void zclSE_ParseInCmd_ChangeSupply( zclCCChangeSupply_t *pCmd,
  3420. uint8 *buf, uint8 len );
  3421. /*
  3422. * Parse received Change Password Command
  3423. */
  3424. extern void zclSE_ParseInCmd_ChangePassword( zclCCChangePassword_t *pCmd,
  3425. uint8 *buf, uint8 len );
  3426. #endif // SE_UK_EXT
  3427. #endif // ZCL_DEVICE_MGMT
  3428. /*********************************************************************
  3429. * FUNCTION MACROS
  3430. */
  3431. #ifdef ZCL_PRICING
  3432. /*********************************************************************
  3433. * @fn zclSE_Pricing_Send_GetCurrentPrice
  3434. *
  3435. * @brief Call to send out a Get Current Price Command
  3436. *
  3437. * Use as
  3438. * ZStatus_t zclSE_Pricing_Send_GetCurrentPrice( uint8 srcEP, afAddrType_t *dstAddr,
  3439. * uint8 option,
  3440. * uint8 disableDefaultRsp, uint8 seqNum )
  3441. *
  3442. * @param srcEP - Sending application's endpoint
  3443. * @param dstAddr - where you want the message to go
  3444. * @param option - Command option field
  3445. * @param disableDefaultRsp - disable default response
  3446. * @param seqNum - ZCL sequence number
  3447. *
  3448. * @return ZStatus_t
  3449. */
  3450. #define zclSE_Pricing_Send_GetCurrentPrice(a, b, c, d, e) \
  3451. zcl_SendCommand( (a), (b), ZCL_CLUSTER_ID_SE_PRICING, \
  3452. COMMAND_SE_GET_CURRENT_PRICE, TRUE, \
  3453. ZCL_FRAME_CLIENT_SERVER_DIR, (d), 0, (e), 1, &(c) );
  3454. #endif // ZCL_PRICING
  3455. #ifdef ZCL_SIMPLE_METERING
  3456. /*********************************************************************
  3457. * @fn zclSE_SimpleMetering_Send_ReqMirrorCmd
  3458. *
  3459. * @brief Call to send out a Request Mirror Command
  3460. *
  3461. * @param srcEP - Sending application's endpoint
  3462. * @param dstAddr - where you want the message to go
  3463. * @param disableDefaultRsp - disable default response
  3464. * @param seqNum - ZCL sequence number
  3465. *
  3466. * @return ZStatus_t
  3467. */
  3468. #define zclSE_SimpleMetering_Send_ReqMirrorCmd(a, b, c, d) \
  3469. zcl_SendCommand( (a), (b), ZCL_CLUSTER_ID_SE_SIMPLE_METERING, \
  3470. COMMAND_SE_REQ_MIRROR_CMD, TRUE, \
  3471. ZCL_FRAME_SERVER_CLIENT_DIR, (c), 0, (d), 0, NULL );
  3472. /*********************************************************************
  3473. * @fn zclSE_SimpleMetering_Send_RemMirrorCmd
  3474. *
  3475. * @brief Call to send out a Remove Mirror Command
  3476. *
  3477. * @param srcEP - Sending application's endpoint
  3478. * @param dstAddr - where you want the message to go
  3479. * @param disableDefaultRsp - disable default response
  3480. * @param seqNum - ZCL sequence number
  3481. *
  3482. * @return ZStatus_t
  3483. */
  3484. #define zclSE_SimpleMetering_Send_RemMirrorCmd(a, b, c, d) \
  3485. zcl_SendCommand( (a), (b), ZCL_CLUSTER_ID_SE_SIMPLE_METERING, \
  3486. COMMAND_SE_MIRROR_REM_CMD, TRUE, \
  3487. ZCL_FRAME_SERVER_CLIENT_DIR, (c), 0, (d), 0, NULL );
  3488. #endif // ZCL_SIMPLE_METERING
  3489. #ifdef ZCL_MESSAGE
  3490. /*********************************************************************
  3491. * @fn zclSE_Message_Send_GetLastMessage
  3492. *
  3493. * @brief Call to send out a Get Last Message
  3494. *
  3495. * Use as
  3496. * ZStatus_t zclSE_Message_Send_GetLastMessage( uint8 srcEP, afAddrType_t *dstAddr,
  3497. * uint8 disableDefaultRsp, uint8 seqNum )
  3498. *
  3499. * @param srcEP - Sending application's endpoint
  3500. * @param dstAddr - where you want the message to go
  3501. * @param disableDefaultRsp - disable default response
  3502. * @param seqNum - ZCL sequence number
  3503. *
  3504. * @return ZStatus_t
  3505. */
  3506. #define zclSE_Message_Send_GetLastMessage(a, b, c, d) \
  3507. zcl_SendCommand( (a), (b), ZCL_CLUSTER_ID_SE_MESSAGE, \
  3508. COMMAND_SE_GET_LAST_MESSAGE, TRUE, \
  3509. ZCL_FRAME_CLIENT_SERVER_DIR, (c), 0, (d), 0, NULL );
  3510. #endif // ZCL_MESSAGE
  3511. #ifdef ZCL_LOAD_CONTROL
  3512. /*********************************************************************
  3513. * @fn zclSE_LoadControl_Send_CancelAllLoadControlEvent
  3514. *
  3515. * @brief Call to send out a Cancel All Load Control Event
  3516. *
  3517. * Use as
  3518. * ZStatus_t zclSE_LoadControl_Send_CancelAllLoadControlEvent( uint8 srcEP, afAddrType_t *dstAddr,
  3519. * uint8 cancelControl,
  3520. * uint8 disableDefaultRsp, uint8 seqNum )
  3521. *
  3522. * @param srcEP - Sending application's endpoint
  3523. * @param dstAddr - where you want the message to go
  3524. * @param cancelControl
  3525. * @param disableDefaultRsp - disable default response
  3526. * @param seqNum - ZCL sequence number
  3527. *
  3528. * @return ZStatus_t
  3529. */
  3530. #define zclSE_LoadControl_Send_CancelAllLoadControlEvent(a, b, c, d, e) \
  3531. zcl_SendCommand( (a), (b), ZCL_CLUSTER_ID_SE_LOAD_CONTROL, \
  3532. COMMAND_SE_CANCEL_ALL_LOAD_CONTROL_EVENT, TRUE, \
  3533. ZCL_FRAME_SERVER_CLIENT_DIR, (d), 0, (e), 1, &(c) );
  3534. #endif // ZCL_LOAD_CONTROL
  3535. #ifdef __cplusplus
  3536. }
  3537. #endif
  3538. #endif /* ZCL_SE_H */