From 223dadb06b41f2031c9a0bc3dd06a8f8fedd3645 Mon Sep 17 00:00:00 2001 From: Paul C Diem Date: Tue, 9 Feb 2021 22:01:18 -0600 Subject: [PATCH] Fix DevGroupSend invert operator default value --- tasmota/support_device_groups.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasmota/support_device_groups.ino b/tasmota/support_device_groups.ino index 1a412ab3f..1bc6ba956 100644 --- a/tasmota/support_device_groups.ino +++ b/tasmota/support_device_groups.ino @@ -604,10 +604,10 @@ bool _SendDeviceGroupMessage(uint32_t device, DevGroupMessageType message_type, oper = value_ptr[1]; value_ptr += 2; } - value = (isdigit(*value_ptr) ? strtoul((char *)value_ptr, (char **)&value_ptr, 0) : 1); + value = (isdigit(*value_ptr) ? strtoul((char *)value_ptr, (char **)&value_ptr, 0) : oper == '^' ? 0xffffffff : 1); if (oper) { old_value = (item <= DGR_ITEM_MAX_8BIT ? device_group->values_8bit[item] : (item <= DGR_ITEM_MAX_16BIT ? device_group->values_16bit[item - DGR_ITEM_MAX_8BIT - 1] : device_group->values_32bit[item - DGR_ITEM_MAX_16BIT - 1])); - value = (oper == '+' ? old_value + value : oper == '-' ? old_value - value : oper == '^' ? old_value ^ (value ? value : 0xffffffff) : oper == '|' ? old_value | value : old_value == '&' ? old_value & value : old_value); + value = (oper == '+' ? old_value + value : oper == '-' ? old_value - value : oper == '^' ? old_value ^ value : oper == '|' ? old_value | value : old_value == '&' ? old_value & value : old_value); } item_ptr->value = value; }