diff --git a/src/config/settings.h b/src/config/settings.h index 0d8970d5..e0d0776e 100644 --- a/src/config/settings.h +++ b/src/config/settings.h @@ -197,6 +197,7 @@ typedef struct { typedef struct { uint8_t type; bool pwrSaveAtIvOffline; + bool motion; uint8_t screenSaver; uint8_t graph_ratio; uint8_t graph_size; diff --git a/src/plugins/Display/Display_Mono.h b/src/plugins/Display/Display_Mono.h index e855eeb9..1ae74a56 100644 --- a/src/plugins/Display/Display_Mono.h +++ b/src/plugins/Display/Display_Mono.h @@ -38,7 +38,7 @@ class DisplayMono { if (mDisplayActive) { if (!dispConditions) { if (mDisplayTime.isTimeout()) { // switch display off after timeout - mDisplayActive = false; + mCfg->motion = mDisplayActive = false; mDisplay->setPowerSave(true); } } @@ -47,7 +47,7 @@ class DisplayMono { } else { if (dispConditions) { - mDisplayActive = true; + mCfg->motion = mDisplayActive = true; mDisplayTime.reStartTimeMonitor(); // switch display on mDisplay->setPowerSave(false); } diff --git a/src/web/RestApi.h b/src/web/RestApi.h index c6859386..c6e25228 100644 --- a/src/web/RestApi.h +++ b/src/web/RestApi.h @@ -924,6 +924,7 @@ class RestApi { void getDisplay(JsonObject obj) { obj[F("disp_typ")] = (uint8_t)mConfig->plugin.display.type; + obj[F("disp_motion")] = (boolean)mConfig->plugin.display.motion; obj[F("disp_pwr")] = (bool)mConfig->plugin.display.pwrSaveAtIvOffline; obj[F("disp_screensaver")] = (uint8_t)mConfig->plugin.display.screenSaver; obj[F("disp_rot")] = (uint8_t)mConfig->plugin.display.rot;