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
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
// Switch All Command Class
def zwSWITCH_ALL_MODE 0x2702
def zwSWITCH_ALL_ON_OFF 0x2703

// Unify Switch All Cluster
def zbSWITCH_ALL_MODE 0xFD200000
def zbSWITCH_ALL_ON_OFF 0xFD200001

def zwave_no_switch_all (e'zwSWITCH_ALL_MODE == 0)

// 25 is higher priority than other generic switches
scope 25 chain_reaction(0) {

// Linking attributes zwave -> zigbee
r'zbSWITCH_ALL_MODE = r'zwSWITCH_ALL_MODE
d'zbSWITCH_ALL_MODE = d'zwSWITCH_ALL_MODE
r'zbSWITCH_ALL_ON_OFF =
if (zwave_no_switch_all) undefined
if (r'zwSWITCH_ALL_ON_OFF != 0) 1 0
d'zbSWITCH_ALL_ON_OFF =
if (zwave_no_switch_all) undefined
if (d'zwSWITCH_ALL_ON_OFF != 0) 1 0

// Linking attributes zigbee -> zwave
r'zwSWITCH_ALL_MODE = if (zwave_no_switch_all) undefined r'zbSWITCH_ALL_MODE
d'zwSWITCH_ALL_MODE = if (zwave_no_switch_all) undefined d'zbSWITCH_ALL_MODE
d'zwSWITCH_ALL_ON_OFF =
if (zwave_no_switch_all) undefined
if (d'zbSWITCH_ALL_ON_OFF != 0) 1 0

r'zwSWITCH_ALL_ON_OFF =
if (zwave_no_switch_all) undefined
if (r'zbSWITCH_ALL_ON_OFF != 0) 1 0
}

Original file line number Diff line number Diff line change
Expand Up @@ -1084,8 +1084,12 @@ DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_POWERLEVEL_VERSION,
// All Switch Command Class
///< This represents the version of the All Switch Command class.
/// zwave_cc_version_t
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_ALL_SWITCH_VERSION,
((COMMAND_CLASS_SWITCH_ALL << 8) | 0x01))
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_SWITCH_ALL_VERSION,
ZWAVE_CC_VERSION_ATTRIBUTE(COMMAND_CLASS_SWITCH_ALL))
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_SWITCH_ALL_MODE,
((COMMAND_CLASS_SWITCH_ALL << 8) | 0x02))
DEFINE_ATTRIBUTE(ATTRIBUTE_COMMAND_CLASS_SWITCH_ALL_ON_OFF,
((COMMAND_CLASS_SWITCH_ALL << 8) | 0x03))

/////////////////////////////////////////////////
// Sound Switch Command Class
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,9 @@ static const std::vector<attribute_schema_t> attribute_schema = {
/////////////////////////////////////////////////////////////////////
// All Switch Command Class attributes
/////////////////////////////////////////////////////////////////////
{ATTRIBUTE_COMMAND_CLASS_ALL_SWITCH_VERSION, "All Switch Command Class version", ATTRIBUTE_ENDPOINT_ID, U8_STORAGE_TYPE},
{ATTRIBUTE_COMMAND_CLASS_SWITCH_ALL_VERSION, "All Switch Command Class version", ATTRIBUTE_ENDPOINT_ID, U8_STORAGE_TYPE},
{ATTRIBUTE_COMMAND_CLASS_SWITCH_ALL_MODE, "Mode", ATTRIBUTE_ENDPOINT_ID, U8_STORAGE_TYPE},
{ATTRIBUTE_COMMAND_CLASS_SWITCH_ALL_ON_OFF, "Switch All", ATTRIBUTE_ENDPOINT_ID, U8_STORAGE_TYPE},
/////////////////////////////////////////////////////////////////////
// Association Group Information Command Class attributes
/////////////////////////////////////////////////////////////////////
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ add_library(
src/zwave_command_class_supervision.c
src/zwave_command_class_supervision_process.cpp
src/zwave_command_class_sound_switch.c
src/zwave_command_class_switch_all.cpp
src/zwave_command_class_switch_color.cpp
src/zwave_command_class_switch_multilevel.c
src/zwave_command_class_thermostat_mode.c
Expand Down
Loading