@@ -458,6 +458,7 @@ namespace http {
458
458
RegisterCommandCode("downloadready", boost::bind(&CWebServer::Cmd_DownloadReady, this, _1, _2, _3));
459
459
RegisterCommandCode("deletedatapoint", boost::bind(&CWebServer::Cmd_DeleteDatePoint, this, _1, _2, _3));
460
460
461
+ RegisterCommandCode("setactivetimerplan", boost::bind(&CWebServer::Cmd_SetActiveTimerPlan, this, _1, _2, _3));
461
462
RegisterCommandCode("addtimer", boost::bind(&CWebServer::Cmd_AddTimer, this, _1, _2, _3));
462
463
RegisterCommandCode("updatetimer", boost::bind(&CWebServer::Cmd_UpdateTimer, this, _1, _2, _3));
463
464
RegisterCommandCode("deletetimer", boost::bind(&CWebServer::Cmd_DeleteTimer, this, _1, _2, _3));
@@ -481,6 +482,8 @@ namespace http {
481
482
RegisterCommandCode("addsetpointtimer", boost::bind(&CWebServer::Cmd_AddSetpointTimer, this, _1, _2, _3));
482
483
RegisterCommandCode("updatesetpointtimer", boost::bind(&CWebServer::Cmd_UpdateSetpointTimer, this, _1, _2, _3));
483
484
RegisterCommandCode("deletesetpointtimer", boost::bind(&CWebServer::Cmd_DeleteSetpointTimer, this, _1, _2, _3));
485
+ RegisterCommandCode("enablesetpointtimer", boost::bind(&CWebServer::Cmd_EnableSetpointTimer, this, _1, _2, _3));
486
+ RegisterCommandCode("disablesetpointtimer", boost::bind(&CWebServer::Cmd_DisableSetpointTimer, this, _1, _2, _3));
484
487
RegisterCommandCode("clearsetpointtimers", boost::bind(&CWebServer::Cmd_ClearSetpointTimers, this, _1, _2, _3));
485
488
486
489
RegisterCommandCode("serial_devices", boost::bind(&CWebServer::Cmd_GetSerialDevices, this, _1, _2, _3));
@@ -578,6 +581,7 @@ namespace http {
578
581
m_pWebEm->RegisterPageCode("/ozwcp/admpost.html", boost::bind(&CWebServer::ZWaveCPAdminCommand, this, _1, _2, _3));
579
582
m_pWebEm->RegisterPageCode("/ozwcp/nodepost.html", boost::bind(&CWebServer::ZWaveCPNodeChange, this, _1, _2, _3));
580
583
m_pWebEm->RegisterPageCode("/ozwcp/savepost.html", boost::bind(&CWebServer::ZWaveCPSaveConfig, this, _1, _2, _3));
584
+ m_pWebEm->RegisterPageCode("/ozwcp/thpost.html", boost::bind(&CWebServer::ZWaveCPTestHeal, this, _1, _2, _3));
581
585
m_pWebEm->RegisterPageCode("/ozwcp/topopost.html", boost::bind(&CWebServer::ZWaveCPGetTopo, this, _1, _2, _3));
582
586
m_pWebEm->RegisterPageCode("/ozwcp/statpost.html", boost::bind(&CWebServer::ZWaveCPGetStats, this, _1, _2, _3));
583
587
//grouppost.html
@@ -2106,7 +2110,7 @@ namespace http {
2106
2110
machine = "armv7l";
2107
2111
}
2108
2112
2109
- if (((machine != "armv6l") && (machine != "armv7l") && (systemname!="windows") && (machine != "x86_64")) || (strstr(my_uname.release, "ARCH+") != NULL))
2113
+ if (((machine != "armv6l") && (machine != "armv7l") && (systemname!="windows") && (machine != "x86_64") && (machine != "aarch64") ) || (strstr(my_uname.release, "ARCH+") != NULL))
2110
2114
szHistoryURL = "http://www.domoticz.com/download.php?channel=beta&type=history";
2111
2115
else
2112
2116
szHistoryURL = "http://www.domoticz.com/download.php?channel=beta&type=history&system=" + systemname + "&machine=" + machine;
@@ -3539,7 +3543,7 @@ namespace http {
3539
3543
std::map<std::string, std::string> selectorStatuses;
3540
3544
GetSelectorSwitchStatuses(options, selectorStatuses);
3541
3545
bool levelOffHidden = options["LevelOffHidden"] == "true";
3542
- for(int i = 0; i < selectorStatuses.size(); i++) {
3546
+ for(int i = 0; i < (int) selectorStatuses.size(); i++) {
3543
3547
if (levelOffHidden && (i == 0)) {
3544
3548
continue;
3545
3549
}
@@ -8546,7 +8550,8 @@ namespace http {
8546
8550
sprintf(szTmp, "%.03f m3", musage);
8547
8551
break;
8548
8552
case MTYPE_WATER:
8549
- sprintf(szTmp, "%llu Liter", total_real);
8553
+ musage = float(total_real) / (WaterDivider/1000.0f);
8554
+ sprintf(szTmp, "%d Liter", round(musage));
8550
8555
break;
8551
8556
case MTYPE_COUNTER:
8552
8557
sprintf(szTmp, "%llu %s", total_real, ValueUnits.c_str());
@@ -12603,15 +12608,15 @@ namespace http {
12603
12608
{
12604
12609
std::vector<std::string> sd = *itt;
12605
12610
12606
- if ( method == 0)
12611
+ //If method == 1, provide BOTH hourly and instant usage for combined graph
12607
12612
{
12608
12613
//bars / hour
12609
12614
std::string actDateTimeHour = sd[2].substr(0, 13);
12610
- if (actDateTimeHour != LastDateTime)
12615
+ if (actDateTimeHour != LastDateTime || ((method == 1) && (itt + 1 == result.end())) )
12611
12616
{
12612
12617
if (bHaveFirstValue)
12613
12618
{
12614
- root["result"][ii]["d"] = LastDateTime + ": 00";
12619
+ root["result"][ii]["d"] = LastDateTime + (method == 1 ? ":30" : ": 00") ;
12615
12620
12616
12621
long long ulTotalValue = ulLastValue - ulFirstValue;
12617
12622
if (ulTotalValue == 0)
@@ -12637,7 +12642,7 @@ namespace http {
12637
12642
sprintf(szTmp, "%.1f", TotalValue);
12638
12643
break;
12639
12644
}
12640
- root["result"][ii]["v"] = szTmp;
12645
+ root["result"][ii][method==1 ? "eu" : "v"] = szTmp;
12641
12646
ii++;
12642
12647
}
12643
12648
LastDateTime = actDateTimeHour;
@@ -12661,7 +12666,8 @@ namespace http {
12661
12666
ulFirstRealValue = ulLastValue;
12662
12667
}
12663
12668
}
12664
- else
12669
+
12670
+ if (method == 1)
12665
12671
{
12666
12672
std::stringstream s_str1(sd[1]);
12667
12673
long long actValue;
0 commit comments