@@ -443,35 +443,39 @@ bool CNetatmo::ParseDashboard(const Json::Value &root, const int DevIdx, const i
443
443
444
444
int batValue = GetBatteryLevel (ModuleType, battery_percent);
445
445
446
- std::time_t tNetatmoLastUpdate = 0 ;
447
- std::time_t tNow = time (NULL );
448
-
449
- // initialize the relevant device flag
450
- if ( m_bNetatmoRefreshed.find (ID) == m_bNetatmoRefreshed.end () )
451
- {
452
- m_bNetatmoRefreshed[ID] = true ;
453
- }
454
- // Check when dashboard data was last updated
455
- if ( !root[" time_utc" ].empty () )
456
- {
457
- tNetatmoLastUpdate = root[" time_utc" ].asUInt ();
458
- }
459
- _log.Debug (DEBUG_HARDWARE, " Netatmo: Module [%s] last update = %s" , name.c_str (), ctime (&tNetatmoLastUpdate));
460
- // check if Netatmo data was updated in the past 10 mins (+1 min for sync time lags)... if not means sensors failed to send to cloud
461
- if (tNetatmoLastUpdate > (tNow - 660 ))
446
+ // check for Netatmo cloud data timeout, except if we deal with a thermostat
447
+ if (ModuleType != " NATherm1" )
462
448
{
463
- if (!m_bNetatmoRefreshed[ID])
449
+ std::time_t tNetatmoLastUpdate = 0 ;
450
+ std::time_t tNow = time (NULL );
451
+
452
+ // initialize the relevant device flag
453
+ if ( m_bNetatmoRefreshed.find (ID) == m_bNetatmoRefreshed.end () )
464
454
{
465
- _log.Log (LOG_STATUS, " Netatmo: cloud data for module [%s] is now updated again" , name.c_str ());
466
455
m_bNetatmoRefreshed[ID] = true ;
467
456
}
468
- }
469
- else
470
- {
471
- if (m_bNetatmoRefreshed[ID])
472
- _log.Log (LOG_ERROR, " Netatmo: cloud data for module [%s] no longer updated (module possibly disconnected)" , name.c_str ());
473
- m_bNetatmoRefreshed[ID] = false ;
474
- return false ;
457
+ // Check when dashboard data was last updated
458
+ if ( !root[" time_utc" ].empty () )
459
+ {
460
+ tNetatmoLastUpdate = root[" time_utc" ].asUInt ();
461
+ }
462
+ _log.Debug (DEBUG_HARDWARE, " Netatmo: Module [%s] last update = %s" , name.c_str (), ctime (&tNetatmoLastUpdate));
463
+ // check if Netatmo data was updated in the past 10 mins (+1 min for sync time lags)... if not means sensors failed to send to cloud
464
+ if (tNetatmoLastUpdate > (tNow - 660 ))
465
+ {
466
+ if (!m_bNetatmoRefreshed[ID])
467
+ {
468
+ _log.Log (LOG_STATUS, " Netatmo: cloud data for module [%s] is now updated again" , name.c_str ());
469
+ m_bNetatmoRefreshed[ID] = true ;
470
+ }
471
+ }
472
+ else
473
+ {
474
+ if (m_bNetatmoRefreshed[ID])
475
+ _log.Log (LOG_ERROR, " Netatmo: cloud data for module [%s] no longer updated (module possibly disconnected)" , name.c_str ());
476
+ m_bNetatmoRefreshed[ID] = false ;
477
+ return false ;
478
+ }
475
479
}
476
480
477
481
if (!root[" Temperature" ].empty ())
0 commit comments