Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove Autostart parameter and make the flow to be always enabled #3423

Merged
merged 12 commits into from
Dec 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading