From d36cbde7aac88227748017140c9cb520efc227b4 Mon Sep 17 00:00:00 2001
From: jomjol <30766535+jomjol@users.noreply.github.com>
Date: Thu, 6 May 2021 21:50:14 +0200
Subject: [PATCH] Rolling 20210506v2
---
README.md | 1 +
.../jomjol_flowcontroll/ClassFlowMQTT.cpp | 23 ++++++++++
.../jomjol_flowcontroll/ClassFlowMQTT.h | 2 +-
.../ClassFlowPostProcessing.cpp | 40 +++++++++++++++---
.../ClassFlowPostProcessing.h | 6 +++
code/main/version.cpp | 4 +-
code/version.cpp | 4 +-
firmware/bootloader.bin | Bin 25264 -> 25264 bytes
firmware/firmware.bin | Bin 1765872 -> 1766096 bytes
firmware/html.zip | Bin 171915 -> 173219 bytes
sd-card/html/edit_config_param.html | 32 ++++++++++++++
sd-card/html/gethost.js | 2 +-
sd-card/html/html.zip | Bin 171915 -> 0 bytes
sd-card/html/readconfigparam.js | 2 +
sd-card/html/sd-card - Verknüpfung.lnk | Bin 0 -> 1870 bytes
sd-card/html/version.txt | 2 +-
16 files changed, 104 insertions(+), 14 deletions(-)
delete mode 100644 sd-card/html/html.zip
create mode 100644 sd-card/html/sd-card - Verknüpfung.lnk
diff --git a/README.md b/README.md
index 9dd45821..8102bd08 100644
--- a/README.md
+++ b/README.md
@@ -46,6 +46,7 @@ In other cases you can contact the developer via email:
topicError = zerlegt[1];
}
+ if ((toUpper(zerlegt[0]) == "TOPICRATE") && (zerlegt.size() > 1))
+ {
+ this->topicRate = zerlegt[1];
+ }
+ if ((toUpper(zerlegt[0]) == "TOPICTIMESTAMP") && (zerlegt.size() > 1))
+ {
+ this->topicTimeStamp = zerlegt[1];
+ }
+
if ((toUpper(zerlegt[0]) == "CLIENTID") && (zerlegt.size() > 1))
{
this->clientname = zerlegt[1];
@@ -114,12 +125,16 @@ bool ClassFlowMQTT::doFlow(string zwtime)
{
std::string result;
std::string resulterror = "";
+ std::string resultrate = "";
+ std::string resulttimestamp = "";
string zw = "";
if (flowpostprocessing)
{
result = flowpostprocessing->getReadoutParam(false, true);
resulterror = flowpostprocessing->getReadoutError();
+ resultrate = flowpostprocessing->getReadoutRate();
+ resulttimestamp = flowpostprocessing->getReadoutTimeStamp();
}
else
{
@@ -142,6 +157,14 @@ bool ClassFlowMQTT::doFlow(string zwtime)
MQTTPublish(topicError, resulterror);
}
+ if (topicRate.length() > 0) {
+ MQTTPublish(topicRate, resultrate);
+ }
+
+ if (topicRate.length() > 0) {
+ MQTTPublish(topicTimeStamp, resulttimestamp);
+ }
+
OldValue = result;
return true;
diff --git a/code/components/jomjol_flowcontroll/ClassFlowMQTT.h b/code/components/jomjol_flowcontroll/ClassFlowMQTT.h
index 2ac29135..99035659 100644
--- a/code/components/jomjol_flowcontroll/ClassFlowMQTT.h
+++ b/code/components/jomjol_flowcontroll/ClassFlowMQTT.h
@@ -9,7 +9,7 @@ class ClassFlowMQTT :
public ClassFlow
{
protected:
- std::string uri, topic, topicError, clientname;
+ std::string uri, topic, topicError, clientname, topicRate, topicTimeStamp;
std::string OldValue;
ClassFlowPostProcessing* flowpostprocessing;
std::string user, password;
diff --git a/code/components/jomjol_flowcontroll/ClassFlowPostProcessing.cpp b/code/components/jomjol_flowcontroll/ClassFlowPostProcessing.cpp
index acbf565f..18afcc11 100644
--- a/code/components/jomjol_flowcontroll/ClassFlowPostProcessing.cpp
+++ b/code/components/jomjol_flowcontroll/ClassFlowPostProcessing.cpp
@@ -74,10 +74,9 @@ bool ClassFlowPostProcessing::LoadPreValue(void)
tStart = mktime(&whenStart);
- time_t now;
- time(&now);
- localtime(&now);
- double difference = difftime(now, tStart);
+ time(&lastvalue);
+ localtime(&lastvalue);
+ double difference = difftime(lastvalue, tStart);
difference /= 60;
if (difference > PreValueAgeStartup)
return false;
@@ -123,12 +122,16 @@ void ClassFlowPostProcessing::SavePreValue(float value, string zwtime)
timeinfo = localtime(&rawtime);
strftime(buffer, 80, "%Y-%m-%d_%H-%M-%S", timeinfo);
- zwtime = std::string(buffer);
+ timeStamp = std::string(buffer);
+ }
+ else
+ {
+ timeStamp = zwtime;
}
PreValue = value;
- fputs(zwtime.c_str(), pFile);
+ fputs(timeStamp.c_str(), pFile);
fputs("\n", pFile);
fputs(to_string(value).c_str(), pFile);
fputs("\n", pFile);
@@ -139,6 +142,7 @@ void ClassFlowPostProcessing::SavePreValue(float value, string zwtime)
ClassFlowPostProcessing::ClassFlowPostProcessing(std::vector* lfc)
{
+ FlowRateAct = 0;
PreValueUse = false;
PreValueAgeStartup = 30;
AllowNegativeRates = false;
@@ -150,6 +154,7 @@ ClassFlowPostProcessing::ClassFlowPostProcessing(std::vector* lfc)
checkDigitIncreaseConsistency = false;
DecimalShift = 0;
ErrorMessageText = "";
+ timeStamp = "";
FilePreValue = FormatFileName("/sdcard/config/prevalue.ini");
ListFlowControll = lfc;
}
@@ -343,12 +348,15 @@ bool ClassFlowPostProcessing::doFlow(string zwtime)
PreValueOkay = true;
PreValue = Value;
-
+ time(&lastvalue);
+ localtime(&lastvalue);
+
SavePreValue(Value, zwtime);
}
return true;
}
+
zw = ErsetzteN(ReturnRawValue);
Value = std::stof(zw);
@@ -359,6 +367,14 @@ bool ClassFlowPostProcessing::doFlow(string zwtime)
zwvalue = RundeOutput(Value, AnzahlAnalog - DecimalShift);
+ time_t currenttime;
+ time(¤ttime);
+ localtime(¤ttime);
+ double difference = difftime(currenttime, lastvalue); // in Sekunden
+ difference /= 60; // in Minuten
+
+ FlowRateAct = (Value - PreValue) / difference;
+
if ((!AllowNegativeRates) && (Value < PreValue))
{
ErrorMessageText = ErrorMessageText + "Negative Rate - Returned old value - read value: " + zwvalue + " - raw value: " + ReturnRawValue + " - checked value: " + std::to_string(Value) + " ";
@@ -506,6 +522,16 @@ float ClassFlowPostProcessing::checkDigitConsistency(float input, int _decilamsh
return input;
}
+string ClassFlowPostProcessing::getReadoutRate()
+{
+ return std::to_string(FlowRateAct);
+}
+
+string ClassFlowPostProcessing::getReadoutTimeStamp()
+{
+ return timeStamp;
+}
+
string ClassFlowPostProcessing::getReadoutError()
{
diff --git a/code/components/jomjol_flowcontroll/ClassFlowPostProcessing.h b/code/components/jomjol_flowcontroll/ClassFlowPostProcessing.h
index 435c6d48..3c8df529 100644
--- a/code/components/jomjol_flowcontroll/ClassFlowPostProcessing.h
+++ b/code/components/jomjol_flowcontroll/ClassFlowPostProcessing.h
@@ -17,6 +17,9 @@ protected:
bool PreValueOkay;
bool checkDigitIncreaseConsistency;
int DecimalShift;
+ time_t lastvalue;
+ float FlowRateAct; // m3 / min
+
string FilePreValue;
float PreValue; // letzter Wert, der gut ausgelesen wurde
@@ -25,6 +28,7 @@ protected:
string ReturnValue; // korrigierter Rückgabewert, ggf. mit Fehlermeldung
string ReturnValueNoError; // korrigierter Rückgabewert ohne Fehlermeldung
string ErrorMessageText; // Fehlermeldung bei Consistency Check
+ string timeStamp;
bool LoadPreValue(void);
string ShiftDecimal(string in, int _decShift);
@@ -40,6 +44,8 @@ public:
string getReadout();
string getReadoutParam(bool _rawValue, bool _noerror);
string getReadoutError();
+ string getReadoutRate();
+ string getReadoutTimeStamp();
void SavePreValue(float value, string time = "");
string GetPreValue();
diff --git a/code/main/version.cpp b/code/main/version.cpp
index a9baceb0..68c969ab 100644
--- a/code/main/version.cpp
+++ b/code/main/version.cpp
@@ -1,4 +1,4 @@
-const char* GIT_REV="bc6a014";
+const char* GIT_REV="016f408";
const char* GIT_TAG="";
const char* GIT_BRANCH="rolling";
-const char* BUILD_TIME="2021-05-06 20:21";
\ No newline at end of file
+const char* BUILD_TIME="2021-05-06 21:42";
\ No newline at end of file
diff --git a/code/version.cpp b/code/version.cpp
index a9baceb0..68c969ab 100644
--- a/code/version.cpp
+++ b/code/version.cpp
@@ -1,4 +1,4 @@
-const char* GIT_REV="bc6a014";
+const char* GIT_REV="016f408";
const char* GIT_TAG="";
const char* GIT_BRANCH="rolling";
-const char* BUILD_TIME="2021-05-06 20:21";
\ No newline at end of file
+const char* BUILD_TIME="2021-05-06 21:42";
\ No newline at end of file
diff --git a/firmware/bootloader.bin b/firmware/bootloader.bin
index 636e3b94e9698a404cd3cfd68dfc12a4d46f44ee..069a8b89ad03324649134cde211addb1fe91f651 100644
GIT binary patch
delta 60
zcmdmRlyL(P$qTa^TA7$w8CgtbWRcixCmiUn_@>pd?p8wCw-rm+EHb^@V;mz3B>w-<
Py(_RytkuY4qU|pLl;anF
delta 60
zcmdmRlyL(P$qTa^SQ!~x8JbLHWRcixCmiUn`1peJ+)Pn}{{6EL*lF$G|K3aOi^{Lq
Q6MQ=@TW9_Xo}MZT0HcK%qW}N^
diff --git a/firmware/firmware.bin b/firmware/firmware.bin
index 87efda93cb8e6aa334290ac87978f3174eede8ca..30c53a898959d4cfeb4434741d75719419f10f99 100644
GIT binary patch
delta 497961
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