diff --git a/lighthub/item.cpp b/lighthub/item.cpp index b20b894..7aa0e03 100644 --- a/lighthub/item.cpp +++ b/lighthub/item.cpp @@ -1509,6 +1509,7 @@ int Item::modbusDimmerSet(int addr, uint16_t _reg, int _regType, int _mask, uint modbusSerial.begin(MODBUS_SERIAL_BAUD, dimPar); node.begin(addr, modbusSerial); + uint8_t t; switch (_mask) { case 1: value <<= 8; @@ -1517,6 +1518,15 @@ int Item::modbusDimmerSet(int addr, uint16_t _reg, int _regType, int _mask, uint case 0: value &= 0xff; value |= (0xff00); + break; + case 2: + break; + case 3: //Swap high and low bytes + t = (value & 0xff00) >> 8; + value <<=8; + value |= t; + + } debugSerial<")<<_HEX(_reg)<