From b42740de52490a1efea3d2e207bdd553f1bf7feb Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Sun, 30 Dec 2018 23:11:49 +0100 Subject: [PATCH] update the sensor properly --- daylightsensor/deviceplugindaylightsensor.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/daylightsensor/deviceplugindaylightsensor.cpp b/daylightsensor/deviceplugindaylightsensor.cpp index a61a15f4..abdf27c4 100644 --- a/daylightsensor/deviceplugindaylightsensor.cpp +++ b/daylightsensor/deviceplugindaylightsensor.cpp @@ -135,13 +135,14 @@ void DevicePluginDaylightSensor::updateDevice(Device *device) } else if (now < sunset) { timeToNext = now.secsTo(sunset); } else { - timeToNext = now.secsTo(sunrise) + (60 * 60 * 24); + timeToNext = (60 * 60 * 24) - (now.time().msecsSinceStartOfDay() / 1000); } // Refresh at earliest in 5 secs to avoid spamming the system when we get close - timeToNext = qMax(static_cast(timeToNext), 5); + timeToNext = qMax(static_cast(timeToNext), 1); timer = hardwareManager()->pluginTimerManager()->registerTimer(static_cast(timeToNext)); qCDebug(dcDaylightSensor()) << "Recalculating in" << timer->interval() << "seconds"; + connect(timer, &PluginTimer::timeout, this, &DevicePluginDaylightSensor::pluginTimerEvent); m_timers.insert(device, timer); }