diff --git a/lighthub/item.cpp b/lighthub/item.cpp index 2a30bc6..8338c4f 100644 --- a/lighthub/item.cpp +++ b/lighthub/item.cpp @@ -1097,10 +1097,10 @@ int Item::isActive() { if (val) return 1; else return 0; } -void Item::resumeModbus() +bool Item::resumeModbus() { - // return; -if (modbusBusy) return; + +if (modbusBusy) return false; configLocked++; if (items) { aJsonObject * item = items->child; @@ -1119,17 +1119,16 @@ if (items) { } //if } configLocked--; +return true; } int Item::Poll(int cause) { #ifndef MODBUS_DISABLE - if (isPendedModbusWrites) - { - resumeModbus(); + if (isPendedModbusWrites && resumeModbus()) isPendedModbusWrites=false; - } + #endif switch (cause) { diff --git a/lighthub/item.h b/lighthub/item.h index d211272..34a5d73 100644 --- a/lighthub/item.h +++ b/lighthub/item.h @@ -151,7 +151,7 @@ class Item boolean checkVCRetry(); boolean checkHeatRetry(); void sendDelayedStatus(); - void resumeModbus(); + bool resumeModbus(); int checkFM();