Merge pull request #10142 from s-hadinger/zigbee_opple

Zigbee support for Opple operation mode #9823
This commit is contained in:
s-hadinger 2020-12-15 13:22:26 +01:00 committed by GitHub
commit 0e07612b2a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 116 additions and 111 deletions

View File

@ -130,12 +130,13 @@ const char Z_strings[] PROGMEM =
"AnalogInMaxValue" "\x00" "AnalogInMaxValue" "\x00"
"AnalogInMinValue" "\x00" "AnalogInMinValue" "\x00"
"AnalogInOutOfService" "\x00" "AnalogInOutOfService" "\x00"
"AqaraRotate" "\x00" "AnalogValue" "\x00"
"AnalogInReliability" "\x00" "AnalogInReliability" "\x00"
"AnalogInResolution" "\x00" "AnalogInResolution" "\x00"
"AnalogInStatusFlags" "\x00" "AnalogInStatusFlags" "\x00"
"AnalogInEngineeringUnits" "\x00" "AnalogInEngineeringUnits" "\x00"
"AnalogInApplicationType" "\x00" "AnalogInApplicationType" "\x00"
"AqaraRotate" "\x00"
"Aqara_FF05" "\x00" "Aqara_FF05" "\x00"
"AnalogOutDescription" "\x00" "AnalogOutDescription" "\x00"
"AnalogOutMaxValue" "\x00" "AnalogOutMaxValue" "\x00"
@ -150,7 +151,6 @@ const char Z_strings[] PROGMEM =
"AnalogOutApplicationType" "\x00" "AnalogOutApplicationType" "\x00"
"AnalogDescription" "\x00" "AnalogDescription" "\x00"
"AnalogOutOfService" "\x00" "AnalogOutOfService" "\x00"
"AnalogValue" "\x00"
"AnalogPriorityArray" "\x00" "AnalogPriorityArray" "\x00"
"AnalogReliability" "\x00" "AnalogReliability" "\x00"
"AnalogRelinquishDefault" "\x00" "AnalogRelinquishDefault" "\x00"
@ -395,6 +395,7 @@ const char Z_strings[] PROGMEM =
"TuyaFanMode" "\x00" "TuyaFanMode" "\x00"
"TuyaForceMode" "\x00" "TuyaForceMode" "\x00"
"TuyaWeekSelect" "\x00" "TuyaWeekSelect" "\x00"
"OppleMode" "\x00"
"TerncyDuration" "\x00" "TerncyDuration" "\x00"
"TerncyRotate" "\x00" "TerncyRotate" "\x00"
"Identify" "\x00" "Identify" "\x00"
@ -545,27 +546,27 @@ enum Z_offsets {
Zo_AnalogInMaxValue = 676, Zo_AnalogInMaxValue = 676,
Zo_AnalogInMinValue = 693, Zo_AnalogInMinValue = 693,
Zo_AnalogInOutOfService = 710, Zo_AnalogInOutOfService = 710,
Zo_AqaraRotate = 731, Zo_AnalogValue = 731,
Zo_AnalogInReliability = 743, Zo_AnalogInReliability = 743,
Zo_AnalogInResolution = 763, Zo_AnalogInResolution = 763,
Zo_AnalogInStatusFlags = 782, Zo_AnalogInStatusFlags = 782,
Zo_AnalogInEngineeringUnits = 802, Zo_AnalogInEngineeringUnits = 802,
Zo_AnalogInApplicationType = 827, Zo_AnalogInApplicationType = 827,
Zo_Aqara_FF05 = 851, Zo_AqaraRotate = 851,
Zo_AnalogOutDescription = 862, Zo_Aqara_FF05 = 863,
Zo_AnalogOutMaxValue = 883, Zo_AnalogOutDescription = 874,
Zo_AnalogOutMinValue = 901, Zo_AnalogOutMaxValue = 895,
Zo_AnalogOutOutOfService = 919, Zo_AnalogOutMinValue = 913,
Zo_AnalogOutValue = 941, Zo_AnalogOutOutOfService = 931,
Zo_AnalogOutReliability = 956, Zo_AnalogOutValue = 953,
Zo_AnalogOutRelinquishDefault = 977, Zo_AnalogOutReliability = 968,
Zo_AnalogOutResolution = 1004, Zo_AnalogOutRelinquishDefault = 989,
Zo_AnalogOutStatusFlags = 1024, Zo_AnalogOutResolution = 1016,
Zo_AnalogOutEngineeringUnits = 1045, Zo_AnalogOutStatusFlags = 1036,
Zo_AnalogOutApplicationType = 1071, Zo_AnalogOutEngineeringUnits = 1057,
Zo_AnalogDescription = 1096, Zo_AnalogOutApplicationType = 1083,
Zo_AnalogOutOfService = 1114, Zo_AnalogDescription = 1108,
Zo_AnalogValue = 1133, Zo_AnalogOutOfService = 1126,
Zo_AnalogPriorityArray = 1145, Zo_AnalogPriorityArray = 1145,
Zo_AnalogReliability = 1165, Zo_AnalogReliability = 1165,
Zo_AnalogRelinquishDefault = 1183, Zo_AnalogRelinquishDefault = 1183,
@ -810,97 +811,98 @@ enum Z_offsets {
Zo_TuyaFanMode = 5203, Zo_TuyaFanMode = 5203,
Zo_TuyaForceMode = 5215, Zo_TuyaForceMode = 5215,
Zo_TuyaWeekSelect = 5229, Zo_TuyaWeekSelect = 5229,
Zo_TerncyDuration = 5244, Zo_OppleMode = 5244,
Zo_TerncyRotate = 5259, Zo_TerncyDuration = 5254,
Zo_Identify = 5272, Zo_TerncyRotate = 5269,
Zo_xxxx = 5281, Zo_Identify = 5282,
Zo_IdentifyQuery = 5286, Zo_xxxx = 5291,
Zo_AddGroup = 5300, Zo_IdentifyQuery = 5296,
Zo_xxxx00 = 5309, Zo_AddGroup = 5310,
Zo_ViewGroup = 5316, Zo_xxxx00 = 5319,
Zo_GetGroup = 5326, Zo_ViewGroup = 5326,
Zo_01xxxx = 5335, Zo_GetGroup = 5336,
Zo_GetAllGroups = 5342, Zo_01xxxx = 5345,
Zo_00 = 5355, Zo_GetAllGroups = 5352,
Zo_RemoveGroup = 5358, Zo_00 = 5365,
Zo_RemoveAllGroups = 5370, Zo_RemoveGroup = 5368,
Zo_ViewScene = 5386, Zo_RemoveAllGroups = 5380,
Zo_xxxxyy = 5396, Zo_ViewScene = 5396,
Zo_RemoveScene = 5403, Zo_xxxxyy = 5406,
Zo_RemoveAllScenes = 5415, Zo_RemoveScene = 5413,
Zo_RecallScene = 5431, Zo_RemoveAllScenes = 5425,
Zo_GetSceneMembership = 5443, Zo_RecallScene = 5441,
Zo_PowerOffEffect = 5462, Zo_GetSceneMembership = 5453,
Zo_xxyy = 5477, Zo_PowerOffEffect = 5472,
Zo_PowerOnRecall = 5482, Zo_xxyy = 5487,
Zo_PowerOnTimer = 5496, Zo_PowerOnRecall = 5492,
Zo_xxyyyyzzzz = 5509, Zo_PowerOnTimer = 5506,
Zo_xx0A00 = 5520, Zo_xxyyyyzzzz = 5519,
Zo_DimmerUp = 5527, Zo_xx0A00 = 5530,
Zo_00190200 = 5536, Zo_DimmerUp = 5537,
Zo_DimmerDown = 5545, Zo_00190200 = 5546,
Zo_01190200 = 5556, Zo_DimmerDown = 5555,
Zo_DimmerStop = 5565, Zo_01190200 = 5566,
Zo_ResetAlarm = 5576, Zo_DimmerStop = 5575,
Zo_xxyyyy = 5587, Zo_ResetAlarm = 5586,
Zo_ResetAllAlarms = 5594, Zo_xxyyyy = 5597,
Zo_xx000A00 = 5609, Zo_ResetAllAlarms = 5604,
Zo_HueSat = 5618, Zo_xx000A00 = 5619,
Zo_xxyy0A00 = 5625, Zo_HueSat = 5628,
Zo_Color = 5634, Zo_xxyy0A00 = 5635,
Zo_xxxxyyyy0A00 = 5640, Zo_Color = 5644,
Zo_xxxx0A00 = 5653, Zo_xxxxyyyy0A00 = 5650,
Zo_ShutterOpen = 5662, Zo_xxxx0A00 = 5663,
Zo_ShutterClose = 5674, Zo_ShutterOpen = 5672,
Zo_ShutterStop = 5687, Zo_ShutterClose = 5684,
Zo_ShutterLift = 5699, Zo_ShutterStop = 5697,
Zo_xx = 5711, Zo_ShutterLift = 5709,
Zo_ShutterTilt = 5714, Zo_xx = 5721,
Zo_Shutter = 5726, Zo_ShutterTilt = 5724,
Zo_DimmerMove = 5734, Zo_Shutter = 5736,
Zo_xx0A = 5745, Zo_DimmerMove = 5744,
Zo_DimmerStepUp = 5750, Zo_xx0A = 5755,
Zo_00xx0A00 = 5763, Zo_DimmerStepUp = 5760,
Zo_DimmerStepDown = 5772, Zo_00xx0A00 = 5773,
Zo_01xx0A00 = 5787, Zo_DimmerStepDown = 5782,
Zo_DimmerStep = 5796, Zo_01xx0A00 = 5797,
Zo_xx190A00 = 5807, Zo_DimmerStep = 5806,
Zo_01 = 5816, Zo_xx190A00 = 5817,
Zo_HueMove = 5819, Zo_01 = 5826,
Zo_xx19 = 5827, Zo_HueMove = 5829,
Zo_HueStepUp = 5832, Zo_xx19 = 5837,
Zo_HueStepDown = 5842, Zo_HueStepUp = 5842,
Zo_03xx0A00 = 5854, Zo_HueStepDown = 5852,
Zo_HueStep = 5863, Zo_03xx0A00 = 5864,
Zo_SatMove = 5871, Zo_HueStep = 5873,
Zo_SatStep = 5879, Zo_SatMove = 5881,
Zo_xx190A = 5887, Zo_SatStep = 5889,
Zo_ColorMove = 5894, Zo_xx190A = 5897,
Zo_xxxxyyyy = 5904, Zo_ColorMove = 5904,
Zo_ColorStep = 5913, Zo_xxxxyyyy = 5914,
Zo_ColorTempMoveUp = 5923, Zo_ColorStep = 5923,
Zo_01xxxx000000000000 = 5939, Zo_ColorTempMoveUp = 5933,
Zo_ColorTempMoveDown = 5958, Zo_01xxxx000000000000 = 5949,
Zo_03xxxx000000000000 = 5976, Zo_ColorTempMoveDown = 5968,
Zo_ColorTempMoveStop = 5995, Zo_03xxxx000000000000 = 5986,
Zo_00xxxx000000000000 = 6013, Zo_ColorTempMoveStop = 6005,
Zo_ColorTempMove = 6032, Zo_00xxxx000000000000 = 6023,
Zo_xxyyyy000000000000 = 6046, Zo_ColorTempMove = 6042,
Zo_ColorTempStepUp = 6065, Zo_xxyyyy000000000000 = 6056,
Zo_01xxxx0A0000000000 = 6081, Zo_ColorTempStepUp = 6075,
Zo_ColorTempStepDown = 6100, Zo_01xxxx0A0000000000 = 6091,
Zo_03xxxx0A0000000000 = 6118, Zo_ColorTempStepDown = 6110,
Zo_ColorTempStep = 6137, Zo_03xxxx0A0000000000 = 6128,
Zo_xxyyyy0A0000000000 = 6151, Zo_ColorTempStep = 6147,
Zo_ArrowClick = 6170, Zo_xxyyyy0A0000000000 = 6161,
Zo_ArrowHold = 6181, Zo_ArrowClick = 6180,
Zo_ArrowRelease = 6191, Zo_ArrowHold = 6191,
Zo_ZoneStatusChange = 6204, Zo_ArrowRelease = 6201,
Zo_xxxxyyzz = 6221, Zo_ZoneStatusChange = 6214,
Zo_xxyyzzzz = 6230, Zo_xxxxyyzz = 6231,
Zo_AddScene = 6239, Zo_xxyyzzzz = 6240,
Zo_xxyyyyzz = 6248, Zo_AddScene = 6249,
Zo_StoreScene = 6257, Zo_xxyyyyzz = 6258,
Zo_StoreScene = 6267,
}; };

View File

@ -127,7 +127,7 @@ enum Cx_cluster_short {
Cx0010, Cx0011, Cx0012, Cx0013, Cx0014, Cx001A, Cx0020, Cx0100, Cx0010, Cx0011, Cx0012, Cx0013, Cx0014, Cx001A, Cx0020, Cx0100,
Cx0101, Cx0102, Cx0201, Cx0300, Cx0400, Cx0401, Cx0402, Cx0403, Cx0101, Cx0102, Cx0201, Cx0300, Cx0400, Cx0401, Cx0402, Cx0403,
Cx0404, Cx0405, Cx0406, Cx0500, Cx0702, Cx0B01, Cx0B04, Cx0B05, Cx0404, Cx0405, Cx0406, Cx0500, Cx0702, Cx0B01, Cx0B04, Cx0B05,
CxEF00, CxFCCC, CxEF00, CxFCC0, CxFCCC,
}; };
const uint16_t Cx_cluster[] PROGMEM = { const uint16_t Cx_cluster[] PROGMEM = {
@ -136,7 +136,7 @@ const uint16_t Cx_cluster[] PROGMEM = {
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x001A, 0x0020, 0x0100, 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x001A, 0x0020, 0x0100,
0x0101, 0x0102, 0x0201, 0x0300, 0x0400, 0x0401, 0x0402, 0x0403, 0x0101, 0x0102, 0x0201, 0x0300, 0x0400, 0x0401, 0x0402, 0x0403,
0x0404, 0x0405, 0x0406, 0x0500, 0x0702, 0x0B01, 0x0B04, 0x0B05, 0x0404, 0x0405, 0x0406, 0x0500, 0x0702, 0x0B01, 0x0B04, 0x0B05,
0xEF00, 0xFCCC, 0xEF00, 0xFCC0, 0xFCCC,
}; };
uint16_t CxToCluster(uint8_t cx) { uint16_t CxToCluster(uint8_t cx) {
@ -634,6 +634,9 @@ const Z_AttributeConverter Z_PostProcess[] PROGMEM = {
{ Ztuya4, CxEF00, 0x046A, Z_(TuyaForceMode), Cm1, 0 }, { Ztuya4, CxEF00, 0x046A, Z_(TuyaForceMode), Cm1, 0 },
{ Ztuya4, CxEF00, 0x046F, Z_(TuyaWeekSelect), Cm1, 0 }, { Ztuya4, CxEF00, 0x046F, Z_(TuyaWeekSelect), Cm1, 0 },
// Aqara Opple spacific
{ Zbool, CxFCC0, 0x0009, Z_(OppleMode), Cm1, 0 },
// Terncy specific - 0xFCCC // Terncy specific - 0xFCCC
{ Zuint16, CxFCCC, 0x001A, Z_(TerncyDuration), Cm1, 0 }, { Zuint16, CxFCCC, 0x001A, Z_(TerncyDuration), Cm1, 0 },
{ Zint16, CxFCCC, 0x001B, Z_(TerncyRotate), Cm1, 0 }, { Zint16, CxFCCC, 0x001B, Z_(TerncyRotate), Cm1, 0 },