From 5f04cf2ec84e4584d4f9986da6ef337c593b91a3 Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Sun, 17 Jan 2021 16:12:25 +0100 Subject: [PATCH] Zigbee support for Lidl Livarno Lux Remote Control Dimmer --- tasmota/xdrv_23_zigbee_5__constants.ino | 434 ++++++++++++------------ tasmota/xdrv_23_zigbee_6_commands.ino | 1 + 2 files changed, 219 insertions(+), 216 deletions(-) diff --git a/tasmota/xdrv_23_zigbee_5__constants.ino b/tasmota/xdrv_23_zigbee_5__constants.ino index 0a3926db7..7889e957a 100644 --- a/tasmota/xdrv_23_zigbee_5__constants.ino +++ b/tasmota/xdrv_23_zigbee_5__constants.ino @@ -73,7 +73,7 @@ def strings_to_pmem(arg): DO NOT EDIT */ -const char Z_strings[] PROGMEM = +const char Z_strings[] PROGMEM = "\x00" "00" "\x00" "00190200" "\x00" @@ -278,6 +278,7 @@ const char Z_strings[] PROGMEM = "LastMessageLQI" "\x00" "LastMessageRSSI" "\x00" "LastSetTime" "\x00" + "LidlPower" "\x00" "LocalTemperature" "\x00" "LocalTemperatureCalibration" "\x00" "LocalTime" "\x00" @@ -699,221 +700,222 @@ enum Z_offsets { Zo_LastMessageLQI = 3308, Zo_LastMessageRSSI = 3323, Zo_LastSetTime = 3339, - Zo_LocalTemperature = 3351, - Zo_LocalTemperatureCalibration = 3368, - Zo_LocalTime = 3396, - Zo_LocationAge = 3406, - Zo_LocationMethod = 3418, - Zo_LocationType = 3433, - Zo_LockState = 3446, - Zo_LockType = 3456, - Zo_LongPollInterval = 3465, - Zo_LongPollIntervalMin = 3482, - Zo_MainsFrequency = 3502, - Zo_MainsVoltage = 3517, - Zo_Manufacturer = 3530, - Zo_MaxTempExperienced = 3543, - Zo_MeterTypeID = 3562, - Zo_MinTempExperienced = 3574, - Zo_Mode = 3593, - Zo_Model = 3598, - Zo_ModelId = 3604, - Zo_MotorStepSize = 3612, - Zo_Movement = 3626, - Zo_MullerLightMode = 3635, - Zo_MultiApplicationType = 3651, - Zo_MultiDescription = 3672, - Zo_MultiInApplicationType = 3689, - Zo_MultiInDescription = 3712, - Zo_MultiInNumberOfStates = 3731, - Zo_MultiInOutOfService = 3753, - Zo_MultiInReliability = 3773, - Zo_MultiInStatusFlags = 3792, - Zo_MultiInValue = 3811, - Zo_MultiNumberOfStates = 3824, - Zo_MultiOutApplicationType = 3844, - Zo_MultiOutDescription = 3868, - Zo_MultiOutNumberOfStates = 3888, - Zo_MultiOutOfService = 3911, - Zo_MultiOutOutOfService = 3929, - Zo_MultiOutReliability = 3950, - Zo_MultiOutRelinquishDefault = 3970, - Zo_MultiOutStatusFlags = 3996, - Zo_MultiOutValue = 4016, - Zo_MultiReliability = 4030, - Zo_MultiRelinquishDefault = 4047, - Zo_MultiStatusFlags = 4070, - Zo_MultiValue = 4087, - Zo_MultipleScheduling = 4098, - Zo_NumberOfDevices = 4117, - Zo_NumberOfPrimaries = 4133, - Zo_NumberOfResets = 4151, - Zo_NumberofActuationsLift = 4166, - Zo_NumberofActuationsTilt = 4189, - Zo_Occupancy = 4212, - Zo_OccupancySensorType = 4222, - Zo_OccupiedCoolingSetpoint = 4242, - Zo_OccupiedHeatingSetpoint = 4266, - Zo_OnOffTransitionTime = 4290, - Zo_OpenPeriod = 4310, - Zo_OppleMode = 4321, - Zo_OutdoorTemperature = 4331, - Zo_OverTempTotalDwell = 4350, - Zo_PICoolingDemand = 4369, - Zo_PIHeatingDemand = 4385, - Zo_POD = 4401, - Zo_Panic = 4405, - Zo_PartNumber = 4411, - Zo_PersistentMemoryWrites = 4422, - Zo_PersonalAlarm = 4445, - Zo_PhysicalClosedLimit = 4459, - Zo_PhysicalClosedLimitLift = 4479, - Zo_PhysicalClosedLimitTilt = 4503, - Zo_Power = 4527, - Zo_Power2 = 4533, - Zo_Power3 = 4540, - Zo_Power4 = 4547, - Zo_PowerOffEffect = 4554, - Zo_PowerOnRecall = 4569, - Zo_PowerOnTimer = 4583, - Zo_PowerSource = 4596, - Zo_PowerThreshold = 4608, - Zo_Pressure = 4623, - Zo_PressureMaxMeasuredValue = 4632, - Zo_PressureMaxScaledValue = 4657, - Zo_PressureMinMeasuredValue = 4680, - Zo_PressureMinScaledValue = 4705, - Zo_PressureScale = 4728, - Zo_PressureScaledTolerance = 4742, - Zo_PressureScaledValue = 4766, - Zo_PressureTolerance = 4786, - Zo_Primary1Intensity = 4804, - Zo_Primary1X = 4822, - Zo_Primary1Y = 4832, - Zo_Primary2Intensity = 4842, - Zo_Primary2X = 4860, - Zo_Primary2Y = 4870, - Zo_Primary3Intensity = 4880, - Zo_Primary3X = 4898, - Zo_Primary3Y = 4908, - Zo_ProductCode = 4918, - Zo_ProductRevision = 4930, - Zo_ProductURL = 4946, - Zo_QualityMeasure = 4957, - Zo_RMSCurrent = 4972, - Zo_RMSVoltage = 4983, - Zo_ReactivePower = 4994, - Zo_RecallScene = 5008, - Zo_RemainingTime = 5020, - Zo_RemoteSensing = 5034, - Zo_RemoveAllGroups = 5048, - Zo_RemoveAllScenes = 5064, - Zo_RemoveGroup = 5080, - Zo_RemoveScene = 5092, - Zo_ResetAlarm = 5104, - Zo_ResetAllAlarms = 5115, - Zo_SWBuildID = 5130, - Zo_Sat = 5140, - Zo_SatMove = 5144, - Zo_SatStep = 5152, - Zo_SceneCount = 5160, - Zo_SceneValid = 5171, - Zo_ScheduleMode = 5182, - Zo_SeaPressure = 5195, - Zo_ShortPollInterval = 5207, - Zo_Shutter = 5225, - Zo_ShutterClose = 5233, - Zo_ShutterLift = 5246, - Zo_ShutterOpen = 5258, - Zo_ShutterStop = 5270, - Zo_ShutterTilt = 5282, - Zo_SoftwareRevision = 5294, - Zo_StackVersion = 5311, - Zo_StandardTime = 5324, - Zo_StartUpOnOff = 5337, - Zo_Status = 5350, - Zo_StoreScene = 5357, - Zo_SwitchType = 5368, - Zo_SystemMode = 5379, - Zo_TRVBoost = 5390, - Zo_TRVChildProtection = 5399, - Zo_TRVMirrorDisplay = 5418, - Zo_TRVMode = 5435, - Zo_TRVWindowOpen = 5443, - Zo_TempTarget = 5457, - Zo_Temperature = 5468, - Zo_TemperatureMaxMeasuredValue = 5480, - Zo_TemperatureMinMeasuredValue = 5508, - Zo_TemperatureTolerance = 5536, - Zo_TerncyDuration = 5557, - Zo_TerncyRotate = 5572, - Zo_ThSetpoint = 5585, - Zo_Time = 5596, - Zo_TimeEpoch = 5601, - Zo_TimeStatus = 5611, - Zo_TimeZone = 5622, - Zo_TotalProfileNum = 5631, - Zo_TuyaAutoLock = 5647, - Zo_TuyaAwayDays = 5660, - Zo_TuyaAwayTemp = 5673, - Zo_TuyaBattery = 5686, - Zo_TuyaBoostTime = 5698, - Zo_TuyaChildLock = 5712, - Zo_TuyaComfortTemp = 5726, - Zo_TuyaEcoTemp = 5742, - Zo_TuyaFanMode = 5754, - Zo_TuyaForceMode = 5766, - Zo_TuyaMaxTemp = 5780, - Zo_TuyaMinTemp = 5792, - Zo_TuyaPreset = 5804, - Zo_TuyaScheduleHolidays = 5815, - Zo_TuyaScheduleWorkdays = 5836, - Zo_TuyaTempTarget = 5857, - Zo_TuyaValveDetection = 5872, - Zo_TuyaValvePosition = 5891, - Zo_TuyaWeekSelect = 5909, - Zo_TuyaWindowDetection = 5924, - Zo_UnoccupiedCoolingSetpoint = 5944, - Zo_UnoccupiedHeatingSetpoint = 5970, - Zo_UtilityName = 5996, - Zo_ValidUntilTime = 6008, - Zo_ValvePosition = 6023, - Zo_VelocityLift = 6037, - Zo_ViewGroup = 6050, - Zo_ViewScene = 6060, - Zo_Water = 6070, - Zo_WhitePointX = 6076, - Zo_WhitePointY = 6088, - Zo_WindowCoveringType = 6100, - Zo_X = 6119, - Zo_Y = 6121, - Zo_ZCLVersion = 6123, - Zo_ZoneState = 6134, - Zo_ZoneStatus = 6144, - Zo_ZoneStatusChange = 6155, - Zo_ZoneType = 6172, - Zo_xx = 6181, - Zo_xx000A00 = 6184, - Zo_xx0A = 6193, - Zo_xx0A00 = 6198, - Zo_xx19 = 6205, - Zo_xx190A = 6210, - Zo_xx190A00 = 6217, - Zo_xxxx = 6226, - Zo_xxxx00 = 6231, - Zo_xxxx0A00 = 6238, - Zo_xxxxyy = 6247, - Zo_xxxxyyyy = 6254, - Zo_xxxxyyyy0A00 = 6263, - Zo_xxxxyyzz = 6276, - Zo_xxyy = 6285, - Zo_xxyy0A00 = 6290, - Zo_xxyyyy = 6299, - Zo_xxyyyy000000000000 = 6306, - Zo_xxyyyy0A0000000000 = 6325, - Zo_xxyyyyzz = 6344, - Zo_xxyyyyzzzz = 6353, - Zo_xxyyzzzz = 6364, + Zo_LidlPower = 3351, + Zo_LocalTemperature = 3361, + Zo_LocalTemperatureCalibration = 3378, + Zo_LocalTime = 3406, + Zo_LocationAge = 3416, + Zo_LocationMethod = 3428, + Zo_LocationType = 3443, + Zo_LockState = 3456, + Zo_LockType = 3466, + Zo_LongPollInterval = 3475, + Zo_LongPollIntervalMin = 3492, + Zo_MainsFrequency = 3512, + Zo_MainsVoltage = 3527, + Zo_Manufacturer = 3540, + Zo_MaxTempExperienced = 3553, + Zo_MeterTypeID = 3572, + Zo_MinTempExperienced = 3584, + Zo_Mode = 3603, + Zo_Model = 3608, + Zo_ModelId = 3614, + Zo_MotorStepSize = 3622, + Zo_Movement = 3636, + Zo_MullerLightMode = 3645, + Zo_MultiApplicationType = 3661, + Zo_MultiDescription = 3682, + Zo_MultiInApplicationType = 3699, + Zo_MultiInDescription = 3722, + Zo_MultiInNumberOfStates = 3741, + Zo_MultiInOutOfService = 3763, + Zo_MultiInReliability = 3783, + Zo_MultiInStatusFlags = 3802, + Zo_MultiInValue = 3821, + Zo_MultiNumberOfStates = 3834, + Zo_MultiOutApplicationType = 3854, + Zo_MultiOutDescription = 3878, + Zo_MultiOutNumberOfStates = 3898, + Zo_MultiOutOfService = 3921, + Zo_MultiOutOutOfService = 3939, + Zo_MultiOutReliability = 3960, + Zo_MultiOutRelinquishDefault = 3980, + Zo_MultiOutStatusFlags = 4006, + Zo_MultiOutValue = 4026, + Zo_MultiReliability = 4040, + Zo_MultiRelinquishDefault = 4057, + Zo_MultiStatusFlags = 4080, + Zo_MultiValue = 4097, + Zo_MultipleScheduling = 4108, + Zo_NumberOfDevices = 4127, + Zo_NumberOfPrimaries = 4143, + Zo_NumberOfResets = 4161, + Zo_NumberofActuationsLift = 4176, + Zo_NumberofActuationsTilt = 4199, + Zo_Occupancy = 4222, + Zo_OccupancySensorType = 4232, + Zo_OccupiedCoolingSetpoint = 4252, + Zo_OccupiedHeatingSetpoint = 4276, + Zo_OnOffTransitionTime = 4300, + Zo_OpenPeriod = 4320, + Zo_OppleMode = 4331, + Zo_OutdoorTemperature = 4341, + Zo_OverTempTotalDwell = 4360, + Zo_PICoolingDemand = 4379, + Zo_PIHeatingDemand = 4395, + Zo_POD = 4411, + Zo_Panic = 4415, + Zo_PartNumber = 4421, + Zo_PersistentMemoryWrites = 4432, + Zo_PersonalAlarm = 4455, + Zo_PhysicalClosedLimit = 4469, + Zo_PhysicalClosedLimitLift = 4489, + Zo_PhysicalClosedLimitTilt = 4513, + Zo_Power = 4537, + Zo_Power2 = 4543, + Zo_Power3 = 4550, + Zo_Power4 = 4557, + Zo_PowerOffEffect = 4564, + Zo_PowerOnRecall = 4579, + Zo_PowerOnTimer = 4593, + Zo_PowerSource = 4606, + Zo_PowerThreshold = 4618, + Zo_Pressure = 4633, + Zo_PressureMaxMeasuredValue = 4642, + Zo_PressureMaxScaledValue = 4667, + Zo_PressureMinMeasuredValue = 4690, + Zo_PressureMinScaledValue = 4715, + Zo_PressureScale = 4738, + Zo_PressureScaledTolerance = 4752, + Zo_PressureScaledValue = 4776, + Zo_PressureTolerance = 4796, + Zo_Primary1Intensity = 4814, + Zo_Primary1X = 4832, + Zo_Primary1Y = 4842, + Zo_Primary2Intensity = 4852, + Zo_Primary2X = 4870, + Zo_Primary2Y = 4880, + Zo_Primary3Intensity = 4890, + Zo_Primary3X = 4908, + Zo_Primary3Y = 4918, + Zo_ProductCode = 4928, + Zo_ProductRevision = 4940, + Zo_ProductURL = 4956, + Zo_QualityMeasure = 4967, + Zo_RMSCurrent = 4982, + Zo_RMSVoltage = 4993, + Zo_ReactivePower = 5004, + Zo_RecallScene = 5018, + Zo_RemainingTime = 5030, + Zo_RemoteSensing = 5044, + Zo_RemoveAllGroups = 5058, + Zo_RemoveAllScenes = 5074, + Zo_RemoveGroup = 5090, + Zo_RemoveScene = 5102, + Zo_ResetAlarm = 5114, + Zo_ResetAllAlarms = 5125, + Zo_SWBuildID = 5140, + Zo_Sat = 5150, + Zo_SatMove = 5154, + Zo_SatStep = 5162, + Zo_SceneCount = 5170, + Zo_SceneValid = 5181, + Zo_ScheduleMode = 5192, + Zo_SeaPressure = 5205, + Zo_ShortPollInterval = 5217, + Zo_Shutter = 5235, + Zo_ShutterClose = 5243, + Zo_ShutterLift = 5256, + Zo_ShutterOpen = 5268, + Zo_ShutterStop = 5280, + Zo_ShutterTilt = 5292, + Zo_SoftwareRevision = 5304, + Zo_StackVersion = 5321, + Zo_StandardTime = 5334, + Zo_StartUpOnOff = 5347, + Zo_Status = 5360, + Zo_StoreScene = 5367, + Zo_SwitchType = 5378, + Zo_SystemMode = 5389, + Zo_TRVBoost = 5400, + Zo_TRVChildProtection = 5409, + Zo_TRVMirrorDisplay = 5428, + Zo_TRVMode = 5445, + Zo_TRVWindowOpen = 5453, + Zo_TempTarget = 5467, + Zo_Temperature = 5478, + Zo_TemperatureMaxMeasuredValue = 5490, + Zo_TemperatureMinMeasuredValue = 5518, + Zo_TemperatureTolerance = 5546, + Zo_TerncyDuration = 5567, + Zo_TerncyRotate = 5582, + Zo_ThSetpoint = 5595, + Zo_Time = 5606, + Zo_TimeEpoch = 5611, + Zo_TimeStatus = 5621, + Zo_TimeZone = 5632, + Zo_TotalProfileNum = 5641, + Zo_TuyaAutoLock = 5657, + Zo_TuyaAwayDays = 5670, + Zo_TuyaAwayTemp = 5683, + Zo_TuyaBattery = 5696, + Zo_TuyaBoostTime = 5708, + Zo_TuyaChildLock = 5722, + Zo_TuyaComfortTemp = 5736, + Zo_TuyaEcoTemp = 5752, + Zo_TuyaFanMode = 5764, + Zo_TuyaForceMode = 5776, + Zo_TuyaMaxTemp = 5790, + Zo_TuyaMinTemp = 5802, + Zo_TuyaPreset = 5814, + Zo_TuyaScheduleHolidays = 5825, + Zo_TuyaScheduleWorkdays = 5846, + Zo_TuyaTempTarget = 5867, + Zo_TuyaValveDetection = 5882, + Zo_TuyaValvePosition = 5901, + Zo_TuyaWeekSelect = 5919, + Zo_TuyaWindowDetection = 5934, + Zo_UnoccupiedCoolingSetpoint = 5954, + Zo_UnoccupiedHeatingSetpoint = 5980, + Zo_UtilityName = 6006, + Zo_ValidUntilTime = 6018, + Zo_ValvePosition = 6033, + Zo_VelocityLift = 6047, + Zo_ViewGroup = 6060, + Zo_ViewScene = 6070, + Zo_Water = 6080, + Zo_WhitePointX = 6086, + Zo_WhitePointY = 6098, + Zo_WindowCoveringType = 6110, + Zo_X = 6129, + Zo_Y = 6131, + Zo_ZCLVersion = 6133, + Zo_ZoneState = 6144, + Zo_ZoneStatus = 6154, + Zo_ZoneStatusChange = 6165, + Zo_ZoneType = 6182, + Zo_xx = 6191, + Zo_xx000A00 = 6194, + Zo_xx0A = 6203, + Zo_xx0A00 = 6208, + Zo_xx19 = 6215, + Zo_xx190A = 6220, + Zo_xx190A00 = 6227, + Zo_xxxx = 6236, + Zo_xxxx00 = 6241, + Zo_xxxx0A00 = 6248, + Zo_xxxxyy = 6257, + Zo_xxxxyyyy = 6264, + Zo_xxxxyyyy0A00 = 6273, + Zo_xxxxyyzz = 6286, + Zo_xxyy = 6295, + Zo_xxyy0A00 = 6300, + Zo_xxyyyy = 6309, + Zo_xxyyyy000000000000 = 6316, + Zo_xxyyyy0A0000000000 = 6335, + Zo_xxyyyyzz = 6354, + Zo_xxyyyyzzzz = 6363, + Zo_xxyyzzzz = 6374, }; diff --git a/tasmota/xdrv_23_zigbee_6_commands.ino b/tasmota/xdrv_23_zigbee_6_commands.ino index 89e3a6e65..a8566705a 100644 --- a/tasmota/xdrv_23_zigbee_6_commands.ino +++ b/tasmota/xdrv_23_zigbee_6_commands.ino @@ -69,6 +69,7 @@ const Z_CommandConverter Z_Commands[] PROGMEM = { { Z_(PowerOffEffect), 0x0006, 0x40, 0x81, Z_(xxyy) }, // Power Off With Effect { Z_(PowerOnRecall), 0x0006, 0x41, 0x81, Z_() }, // Power On With Recall Global Scene { Z_(PowerOnTimer), 0x0006, 0x42, 0x81, Z_(xxyyyyzzzz) }, // Power On with Timed Off + { Z_(LidlPower), 0x0006, 0xFD, 0x01, Z_(xx) }, // Lidl specific encoding { Z_(Power), 0x0006, 0xFF, 0x01, Z_() }, // 0=Off, 1=On, 2=Toggle { Z_(Dimmer), 0x0008, 0x04, 0x01, Z_(xx0A00) }, // Move to Level with On/Off, xx=0..254 (255 is invalid) { Z_(DimmerUp), 0x0008, 0x06, 0x01, Z_(00190200) }, // Step up by 10%, 0.2 secs