Skip to content

Commit

Permalink
Remove Autostart parameter and make the flow to be always enabled (#3423
Browse files Browse the repository at this point in the history
)

* removed Autostart parameter and make it enabled by default

* .

* show menu entry in UI

* cleanup migration

* .

* .

* .

* .

* .

* .

* .

* .
  • Loading branch information
caco3 authored Dec 5, 2024
1 parent 1b5ff2e commit 708fd68
Show file tree
Hide file tree
Showing 10 changed files with 24 additions and 30 deletions.
9 changes: 3 additions & 6 deletions code/components/jomjol_flowcontroll/ClassFlowControll.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ bool ClassFlowControll::StartMQTTService()

void ClassFlowControll::SetInitialParameter(void)
{
AutoStart = false;
AutoStart = true;
SetupModeActive = false;
AutoInterval = 10; // Minutes
flowdigit = NULL;
Expand All @@ -210,7 +210,8 @@ void ClassFlowControll::SetInitialParameter(void)

bool ClassFlowControll::getIsAutoStart(void)
{
return AutoStart;
//return AutoStart;
return true; // Flow must always be enabled, else the manual trigger (REST, MQTT) will not work!
}


Expand Down Expand Up @@ -557,10 +558,6 @@ bool ClassFlowControll::ReadParameter(FILE* pfile, string& aktparamgraph)

while (this->getNextLine(pfile, &aktparamgraph) && !this->isNewParagraph(aktparamgraph)) {
splitted = ZerlegeZeile(aktparamgraph, " =");

if ((toUpper(splitted[0]) == "AUTOSTART") && (splitted.size() > 1)) {
AutoStart = alphanumericToBoolean(splitted[1]);
}

if ((toUpper(splitted[0]) == "INTERVAL") && (splitted.size() > 1)) {
if (isStringNumeric(splitted[1]))
Expand Down
3 changes: 1 addition & 2 deletions code/components/jomjol_flowcontroll/MainFlowControl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -422,8 +422,7 @@ esp_err_t handler_flow_start(httpd_req_t *req)
else
{
LogFile.WriteToFile(ESP_LOG_WARN, TAG, "Flow start triggered by REST API, but flow is not active!");
const char *resp_str = "WARNING: Flow start triggered by REST API, but flow is not active";
httpd_resp_send(req, resp_str, HTTPD_RESP_USE_STRLEN);
httpd_resp_send_err(req, HTTPD_403_FORBIDDEN, "Flow start triggered by REST API, but flow is not active");
}

#ifdef DEBUG_DETAIL_ON
Expand Down
5 changes: 2 additions & 3 deletions code/main/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -727,8 +727,7 @@ void migrateConfiguration(void) {
}
else if (section == "[AutoTimer]") {
migrated = migrated | replaceString(configLines[i], "Intervall", "Interval");
migrated = migrated | replaceString(configLines[i], ";AutoStart = true", ";AutoStart = false"); // Set it to its default value
migrated = migrated | replaceString(configLines[i], ";AutoStart", "AutoStart"); // Enable it
migrated = migrated | replaceString(configLines[i], "Autostart", ";UNUSED_PARAMETER"); // This parameter is no longer used
}
else if (section == "[Debug]") {
migrated = migrated | replaceString(configLines[i], "Logfile ", "LogLevel "); // Whitespace needed so it does not match `LogfileRetentionInDays`
Expand All @@ -741,7 +740,7 @@ void migrateConfiguration(void) {
else if (section == "[System]") {
migrated = migrated | replaceString(configLines[i], "RSSIThreashold", "RSSIThreshold");
migrated = migrated | replaceString(configLines[i], "AutoAdjustSummertime", ";UNUSED_PARAMETER"); // This parameter is no longer used

migrated = migrated | replaceString(configLines[i], ";SetupMode = true", ";SetupMode = false"); // Set it to its default value
migrated = migrated | replaceString(configLines[i], ";SetupMode", "SetupMode"); // Enable it
}
Expand Down
9 changes: 1 addition & 8 deletions param-docs/parameter-pages/AutoTimer/AutoStart.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,4 @@
Default Value: `true`

!!! Warning
This is an **Expert Parameter**! Only change it if you understand what it does!

Automatically start the Flow (Digitization Rounds) immediately after power up.

!!! Note
Typically this is set to `true`.
The main reasons to set it to `false` is when you want to trigger it manually using the
[REST API](../REST-API) or [MQTT-API](../MQTT-API) or for debugging.
This parameter is no longer available. The flow is now always enabled. If you want it to be disabled, set an interval which is high enough (eg. 1440 = 24h).
4 changes: 4 additions & 0 deletions param-docs/parameter-pages/AutoTimer/Interval.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,8 @@ Default Value: `5`
Unit: Minutes

Interval in which the Flow (Digitization Round) is run.
It will run immediately on startup and then the next time after the given interval.
If a round takes longer than this interval, the next round gets postponed until the current round completes.

!!! Note
If you want the flow to be disabled, set an interval which is high enough (eg. 1440 = 24h).
1 change: 0 additions & 1 deletion sd-card/config/config.ini
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,6 @@ LEDNumbers = 2
LEDColor = 150 150 150

[AutoTimer]
AutoStart = true
Interval = 5

[DataLogging]
Expand Down
1 change: 0 additions & 1 deletion sd-card/demo/config.ini
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,6 @@ LEDNumbers = 2
LEDColor = 150 150 150

[AutoTimer]
AutoStart = true
Interval = 1

[DataLogging]
Expand Down
6 changes: 4 additions & 2 deletions sd-card/html/edit_config_template.html
Original file line number Diff line number Diff line change
Expand Up @@ -1920,6 +1920,7 @@ <h4><input type="checkbox" id="Category_GPIO_enabled" value="1" onclick='Update


<!------------- Autotimer ------------------>
<!--
<tr style="border-bottom: 2px solid lightgray;">
<td colspan="3" style="padding-left: 0px; padding-bottom: 3px;"><h4>Auto Timer</h4></td>
</tr>
Expand All @@ -1936,6 +1937,7 @@ <h4><input type="checkbox" id="Category_GPIO_enabled" value="1" onclick='Update
</td>
<td>$TOOLTIP_AutoTimer_AutoStart</td>
</tr>
-->

<tr>
<td class="indent1">
Expand Down Expand Up @@ -2381,7 +2383,7 @@ <h4><input type="checkbox" id="Category_GPIO_enabled" value="1" onclick='Update
WriteParameter(param, category, "GPIO", "LEDNumbers", false);
WriteParameter(param, category, "GPIO", "LEDColor", false);

WriteParameter(param, category, "AutoTimer", "AutoStart", false);
//WriteParameter(param, category, "AutoTimer", "AutoStart", false);
WriteParameter(param, category, "AutoTimer", "Interval", false);

WriteParameter(param, category, "DataLogging", "DataLogActive", false);
Expand Down Expand Up @@ -2556,7 +2558,7 @@ <h4><input type="checkbox" id="Category_GPIO_enabled" value="1" onclick='Update
param["GPIO"]["LEDNumbers"]["found"] = true;
param["GPIO"]["LEDColor"]["found"] = true;

ReadParameter(param, "AutoTimer", "AutoStart", false);
//ReadParameter(param, "AutoTimer", "AutoStart", false);
ReadParameter(param, "AutoTimer", "Interval", false);

ReadParameter(param, "DataLogging", "DataLogActive", false);
Expand Down
14 changes: 8 additions & 6 deletions sd-card/html/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ <h2>An ESP32 all inclusive neural network recognition system for meter Digitizat
</li>
<li id="ManualControl" style="display:none;"><a>Manual Control <i class="arrow down"></i></a> <!-- Workaround: Hide menu if no entry is available -->
<ul class="submenu" style="width: 300px">
<!--<li><a href="#" onclick="flow_start()">Start Round</a></li>--> <!-- Needs to be adapted on code side first to ensure proper user feedback -->
<li><a href="#" onclick="flow_start()">Start Round</a></li>
<li id="HASendDiscovery" style="width: 300px" style="display:none;"><a href="#" onclick="HA_send_discovery()">Resend Homeassistant Discovery</a></li>
</ul>
</li>
Expand All @@ -170,6 +170,7 @@ <h2>An ESP32 all inclusive neural network recognition system for meter Digitizat

<span id="Version" style="font-size: 10px; margin-top: -5px;padding-left: 10px;">Loading version...</span>

<!-- # Disabled footer, since it wastes a lot of space and the images are broken
<div class="footer">
<div class="footer-section">
<span>Support & Contact Us</span>
Expand All @@ -189,7 +190,7 @@ <h2>An ESP32 all inclusive neural network recognition system for meter Digitizat
<img src="https://github.com/jomjol/AI-on-the-edge-device/images/paypal.png" alt="PayPal" style="width: 60px; height: auto;">
</a>
</div>
</div>
</div> -->

<script type="text/javascript">
LoadHostname();
Expand All @@ -203,13 +204,14 @@ <h2>An ESP32 all inclusive neural network recognition system for meter Digitizat
console.log("Loading page: " + getCookie("page"));
document.getElementById('maincontent').src = getCookie("page");

/*

function flow_start() {
var url = getDomainname() + '/flow_start';
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
if (xhttp.responseText.substring(0,3) == "001") {
firework.launch(xhttp.responseText, 'success', 5000);
/*if (xhttp.responseText.substring(0,3) == "001") {
firework.launch('Flow start triggered', 'success', 5000);
window.location.reload();
}
Expand All @@ -218,13 +220,13 @@ <h2>An ESP32 all inclusive neural network recognition system for meter Digitizat
}
else if (xhttp.responseText.substring(0,3) == "099") {
firework.launch('Flow start triggered, but start not possible (no flow task available)', 'danger', 5000);
}
}*/
}
}
xhttp.open("GET", url, true);
xhttp.send();
}
*/


function HA_send_discovery_visibility() {
loadConfig(domainname);
Expand Down
2 changes: 1 addition & 1 deletion sd-card/html/readconfigparam.js
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ function ParseConfig() {
category[catname]["enabled"] = false;
category[catname]["found"] = false;
param[catname] = new Object();
ParamAddValue(param, catname, "AutoStart");
//ParamAddValue(param, catname, "AutoStart");
ParamAddValue(param, catname, "Interval");

var catname = "DataLogging";
Expand Down

0 comments on commit 708fd68

Please sign in to comment.