Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
130 changes: 130 additions & 0 deletions applications/zpc/components/dotdot_mapper/rules/SwitchColor.uam
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@

// Swtich Color Command Class
def zwSTATE 0x3303
def zwCOLOR_COMPONENT_ID 0x3304
def zwVALUE 0x3305

// We have 7 Color Component ID.
def ZW_COLOR_ID_WARM_WHITE 0x00
def ZW_COLOR_ID_COLD_WHITE 0x01
def ZW_COLOR_ID_RED 0x02
def ZW_COLOR_ID_GREEN 0x03
def ZW_COLOR_ID_BLUE 0x04
def ZW_COLOR_ID_AMBER 0x05
def ZW_COLOR_ID_CYAN 0x06
def ZW_COLOR_ID_PURPLE 0x07

// ZCL Swich Color cluster attributes
def zb_SWITCH_COLOR_WARM_WHITE 0xffa10000
def zb_SWITCH_COLOR_COLD_WHITE 0xffa10001
def zb_SWITCH_COLOR_RED 0xffa10002
def zb_SWITCH_COLOR_GREEN 0xffa10003
def zb_SWITCH_COLOR_BLUE 0xffa10004
def zb_SWITCH_COLOR_AMBER 0xffa10005
def zb_SWITCH_COLOR_CYAN 0xffa10006
def zb_SWITCH_COLOR_PURPLE 0xffa10007


scope 25 chain_reaction(0) {

d'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_WARM_WHITE].zwVALUE =
if(e'zb_SWITCH_COLOR_WARM_WHITE) d'zb_SWITCH_COLOR_WARM_WHITE
undefined
d'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_COLD_WHITE].zwVALUE =
if(e'zb_SWITCH_COLOR_COLD_WHITE) d'zb_SWITCH_COLOR_COLD_WHITE
undefined
d'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_RED].zwVALUE =
if(e'zb_SWITCH_COLOR_RED) d'zb_SWITCH_COLOR_RED
undefined
d'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_GREEN].zwVALUE =
if(e'zb_SWITCH_COLOR_GREEN) d'zb_SWITCH_COLOR_GREEN
undefined
d'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_BLUE].zwVALUE =
if(e'zb_SWITCH_COLOR_BLUE) d'zb_SWITCH_COLOR_BLUE
undefined
d'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_AMBER].zwVALUE =
if(e'zb_SWITCH_COLOR_AMBER) d'zb_SWITCH_COLOR_AMBER
undefined
d'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_CYAN].zwVALUE =
if(e'zb_SWITCH_COLOR_CYAN) d'zb_SWITCH_COLOR_CYAN
undefined
d'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_PURPLE].zwVALUE =
if(e'zb_SWITCH_COLOR_PURPLE) d'zb_SWITCH_COLOR_PURPLE
undefined

r'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_WARM_WHITE].zwVALUE =
if(e'zb_SWITCH_COLOR_WARM_WHITE) r'zb_SWITCH_COLOR_WARM_WHITE
undefined
r'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_COLD_WHITE].zwVALUE =
if(e'zb_SWITCH_COLOR_COLD_WHITE) r'zb_SWITCH_COLOR_COLD_WHITE
undefined
r'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_RED].zwVALUE =
if(e'zb_SWITCH_COLOR_RED) r'zb_SWITCH_COLOR_RED
undefined
r'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_GREEN].zwVALUE =
if(e'zb_SWITCH_COLOR_GREEN) r'zb_SWITCH_COLOR_GREEN
undefined
r'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_BLUE].zwVALUE =
if(e'zb_SWITCH_COLOR_BLUE) r'zb_SWITCH_COLOR_BLUE
undefined
r'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_AMBER].zwVALUE =
if(e'zb_SWITCH_COLOR_AMBER) r'zb_SWITCH_COLOR_AMBER
undefined
r'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_CYAN].zwVALUE =
if(e'zb_SWITCH_COLOR_CYAN) r'zb_SWITCH_COLOR_CYAN
undefined
r'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_PURPLE].zwVALUE =
if(e'zb_SWITCH_COLOR_PURPLE) r'zb_SWITCH_COLOR_PURPLE
undefined

r'zb_SWITCH_COLOR_WARM_WHITE =
if(e'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_WARM_WHITE].zwVALUE) (r'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_WARM_WHITE].zwVALUE)
undefined
r'zb_SWITCH_COLOR_COLD_WHITE =
if(e'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_COLD_WHITE].zwVALUE) (r'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_COLD_WHITE].zwVALUE)
undefined
r'zb_SWITCH_COLOR_RED =
if(e'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_RED].zwVALUE) (r'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_RED].zwVALUE)
undefined
r'zb_SWITCH_COLOR_GREEN =
if(e'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_GREEN].zwVALUE) (r'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_GREEN].zwVALUE)
undefined
r'zb_SWITCH_COLOR_BLUE =
if(e'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_BLUE].zwVALUE) (r'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_BLUE].zwVALUE)
undefined
r'zb_SWITCH_COLOR_AMBER =
if(e'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_AMBER].zwVALUE) (r'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_AMBER].zwVALUE)
undefined
r'zb_SWITCH_COLOR_CYAN =
if(e'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_CYAN].zwVALUE) (r'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_CYAN].zwVALUE)
undefined
r'zb_SWITCH_COLOR_PURPLE =
if(e'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_PURPLE].zwVALUE) (r'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_PURPLE].zwVALUE)
undefined

d'zb_SWITCH_COLOR_WARM_WHITE =
if(e'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_WARM_WHITE].zwVALUE) (d'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_WARM_WHITE].zwVALUE)
undefined
d'zb_SWITCH_COLOR_COLD_WHITE =
if(e'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_COLD_WHITE].zwVALUE) (d'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_COLD_WHITE].zwVALUE)
undefined
d'zb_SWITCH_COLOR_RED =
if(e'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_RED].zwVALUE) (d'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_RED].zwVALUE)
undefined
d'zb_SWITCH_COLOR_GREEN =
if(e'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_GREEN].zwVALUE) (d'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_GREEN].zwVALUE)
undefined
d'zb_SWITCH_COLOR_BLUE =
if(e'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_BLUE].zwVALUE) (d'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_BLUE].zwVALUE)
undefined
d'zb_SWITCH_COLOR_AMBER =
if(e'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_AMBER].zwVALUE) (d'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_AMBER].zwVALUE)
undefined
d'zb_SWITCH_COLOR_CYAN =
if(e'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_CYAN].zwVALUE) (d'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_CYAN].zwVALUE)
undefined
d'zb_SWITCH_COLOR_PURPLE =
if(e'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_PURPLE].zwVALUE) (d'zwSTATE.zwCOLOR_COMPONENT_ID[ZW_COLOR_ID_PURPLE].zwVALUE)
undefined
}

Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ add_library(
src/zcl_OTA_cluster_server.cpp
src/zcl_rf_telemetry_cluster_server.c
src/zcl_scenes_cluster_server.cpp
src/switch_color_cluster_server.cpp
)

target_include_directories(
Expand Down
Loading
Loading