Gestione parametro EWMA
This commit is contained in:
@@ -68,6 +68,8 @@ if redSrv0.get('SETTINGS:SMOOTHING:FUNCTION') is None:
|
||||
redSrv0.set('SETTINGS:SMOOTHING:FUNCTION', 0)
|
||||
if redSrv0.get('SETTINGS:SMOOTHING:FACTOR') is None:
|
||||
redSrv0.set('SETTINGS:SMOOTHING:FACTOR', 10)
|
||||
if redSrv0.get('SETTINGS:SMOOTHING:EFACT') is None:
|
||||
redSrv0.set('SETTINGS:SMOOTHING:EFACT', 3)
|
||||
if redSrv0.get('SETTINGS:PASSWORD:CURRENT') is None:
|
||||
redSrv0.set('SETTINGS:PASSWORD:CURRENT',"-")
|
||||
if redSrv0.get('SETTINGS:FOLDER:CURRENT') is None:
|
||||
@@ -183,6 +185,11 @@ def calculateValue():
|
||||
k1 = getRedisVal('RTDATA:VALUE:K1CONST')
|
||||
k2 = getRedisVal('RTDATA:VALUE:K2CONST')
|
||||
offset = getRedisVal('RTDATA:VALUE:OFFSET')
|
||||
eFact = getRedisVal('RTDATA:SMOOTHING:EFACT')
|
||||
# check val min di 1 x denom EWMA...
|
||||
if(eFact < 1):
|
||||
eFact = 1
|
||||
|
||||
den = abs(float(v1)-float(v2))
|
||||
if(den < 0.05):
|
||||
den = 0.05
|
||||
@@ -199,7 +206,6 @@ def calculateValue():
|
||||
# se variazione < 50% smooth, altrimenti usa il valore nuovo
|
||||
if((abs(XVal - oldValRaw) / oldValRaw) < 0.5):
|
||||
# effettuo smoothing valore
|
||||
eFact = 3
|
||||
strValInRaw = (XVal/eFact) + (oldValRaw * (eFact-1) / eFact)
|
||||
redSrv0.set('RTDATA:VALUE:SMRAW',round(strValInRaw,decimalsCount))
|
||||
|
||||
@@ -221,7 +227,6 @@ def calculateValue():
|
||||
# se variazione < 50% smooth, altrimenti usa il valore nuovo
|
||||
if((abs(newValue - oldVal) / oldVal) < 0.5):
|
||||
# effettuo smoothing valore
|
||||
eFact = 3
|
||||
strValIn = (newValue/eFact) + (oldVal * (eFact-1) / eFact)
|
||||
redSrv0.set('RTDATA:VALUE:SMOOTHED',round(strValIn,decimalsCount))
|
||||
|
||||
|
||||
@@ -129,6 +129,7 @@ def api_channels_all():
|
||||
'RealDateStatus' : getRedisVal('SETTINGS:TIME:REAL'),
|
||||
'SelPowerChannel' : getRedisVal('SETTINGS:POWER:CH'),
|
||||
'SmoothFact' : getRedisVal('SETTINGS:SMOOTHING:FACTOR'),
|
||||
'EFact' : getRedisVal('SETTINGS:SMOOTHING:EFACT'),
|
||||
'LogFreq' : getRedisVal('SETTINGS:LOG:FREQ'),
|
||||
'SelProcessing' : getRedisVal('SETTINGS:SMOOTHING:FUNCTION'),
|
||||
'ResultValue' : getRedisVal('RTDATA:VALUE:SMOOTHED'),
|
||||
@@ -165,6 +166,7 @@ def api_channels_current():
|
||||
'Offset' : getRedisVal('RTDATA:VALUE:OFFSET'),
|
||||
'CalcUMeasure' : getRedisVal('RTDATA:VALUE:UMEASURE'),
|
||||
'SmoothFact' : getRedisVal('SETTINGS:SMOOTHING:FACTOR'),
|
||||
'EFact' : getRedisVal('SETTINGS:SMOOTHING:EFACT'),
|
||||
'ChanThresh' : getRedisVal('SETTINGS:POWER:THRESH'),
|
||||
'timeSrv' : getRedisVal('RTDATA:TIME:SRV'),
|
||||
'LogFreq' : getRedisVal('SETTINGS:LOG:FREQ'),
|
||||
@@ -417,6 +419,14 @@ def setSmoothFact():
|
||||
# rimando in settings
|
||||
return redirect("/settings")
|
||||
|
||||
@flaskApp.route("/api/v1/eFact", methods=['POST'])
|
||||
def setSmoothFact():
|
||||
eFactor = request.form['EFact']
|
||||
redSrv0.set('SETTINGS:SMOOTHING:EFACT', eFactor)
|
||||
redSrv0.save()
|
||||
# rimando in settings
|
||||
return redirect("/settings")
|
||||
|
||||
@flaskApp.route("/api/v1/frequency", methods=['POST'])
|
||||
def setWriteFrequency():
|
||||
#funzione set frequenza scrive su redis LOG:FREQ prendendolo dall'input in pagina html con nome LogFreq
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
$("#UniMisura").val(result.UniMisura);
|
||||
$("#ChanThresh").val(result.ChanThresh);
|
||||
$("#SmoothFact").val(result.SmoothFact);
|
||||
$("#EFact").val(result.EFact);
|
||||
$("#CalcUMeasure").val(result.CalcUMeasure);
|
||||
$("#MinUptime").val(result.MinUptime);
|
||||
// inizio nascondendo div2 e div3
|
||||
@@ -417,7 +418,7 @@
|
||||
</div>
|
||||
<select class="form-control" id="SelProcessing" onchange="setProcessing(this)">
|
||||
<option value="0">Nessuno</option>
|
||||
<option value="1">EWMA</option>
|
||||
<option value="1">Media</option>
|
||||
<option value="2">RMS</option>
|
||||
</select>
|
||||
</div>
|
||||
@@ -429,7 +430,18 @@
|
||||
</div>
|
||||
<input type="number" min="1" max="40" class="form-control" id="SmoothFact" name="SmoothFact"></input>
|
||||
<div class="input-group-append">
|
||||
<input type="submit" value="SET" class="btn btn-success "></input>
|
||||
<input type="submit" value="SET" class="btn btn-success"></input>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<form class="col-12" method="POST" action="/api/v1/eFact">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">Valore per EWMA: </span>
|
||||
</div>
|
||||
<input type="number" min="1" max="200" step="1" class="form-control" id="EFact" name="EFact"></input>
|
||||
<div class="input-group-append">
|
||||
<input type="submit" value="SET" class="btn btn-success"></input>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
Reference in New Issue
Block a user