added runtimestats
This commit is contained in:
@@ -5,6 +5,7 @@ import json
|
||||
import os
|
||||
import time
|
||||
from random import randint
|
||||
from datetime import datetime as dt
|
||||
# PERSISTENCE FILE
|
||||
import persistence
|
||||
PERSIST = persistence.load("extra_data.json")
|
||||
@@ -69,7 +70,7 @@ class start(threading.Thread, deviceBase):
|
||||
mqtt=mqtt, Nodes=Nodes)
|
||||
|
||||
self.daemon = True
|
||||
self.version = "16"
|
||||
self.version = "17"
|
||||
self.finished = threading.Event()
|
||||
self.force_send = False
|
||||
self.public_ip_address = ""
|
||||
@@ -81,7 +82,8 @@ class start(threading.Thread, deviceBase):
|
||||
self.rts = RTS()
|
||||
self.rts.loadDataFromFile()
|
||||
self.rts.saveDataToFile()
|
||||
|
||||
self.rts.manageTime()
|
||||
self.today = dt.now().date()
|
||||
threading.Thread.start(self)
|
||||
|
||||
# this is a required function for all drivers, its goal is to upload some piece of data
|
||||
@@ -154,6 +156,14 @@ class start(threading.Thread, deviceBase):
|
||||
#time.sleep(TAG_DATAERROR_SLEEPTIME) # sleep to allow Micro800 to handle ENET requests
|
||||
except Exception as e:
|
||||
log.info("Error: {}".format(e))
|
||||
try:
|
||||
self.rts.manageTime()
|
||||
if dt.now().date() != self.today:
|
||||
self.sendtodbDev(1, "avgFrequency30Days", self.rts.calculateAverageHertzMultiDay(),0,'advvfdipp')
|
||||
self.sendtodbDev(1, "percentRunTime30Days", self.rts.calculateRunPercentMultiDay(), 0,'advvfdipp')
|
||||
self.today = dt.now().date()
|
||||
except Exception as e:
|
||||
log.error("Error: {}".format(e))
|
||||
time.sleep(30) #sleep for 30 seconds after a full poll
|
||||
# print("advvfdipp driver still alive...")
|
||||
if self.force_send:
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"file5": "runtimeStats.py"
|
||||
},
|
||||
"deviceName": "advvfdipp",
|
||||
"releaseVersion": "16",
|
||||
"releaseVersion": "17",
|
||||
"driverFileName": "advvfdipp.py",
|
||||
"driverId": "0100"
|
||||
}
|
||||
@@ -103,7 +103,7 @@ class start(threading.Thread, deviceBase):
|
||||
mqtt=mqtt, Nodes=Nodes)
|
||||
|
||||
self.daemon = True
|
||||
self.version = "27"
|
||||
self.version = "28"
|
||||
self.finished = threading.Event()
|
||||
self.force_send = False
|
||||
self.public_ip_address = ""
|
||||
@@ -204,8 +204,16 @@ class start(threading.Thread, deviceBase):
|
||||
self.sendtodbDev(1, chan.mesh_name, chan.value, 0, 'PiFlow')
|
||||
if chan.value > 0:
|
||||
self.sendtodbDev(1, "run_status", "Running", 0, 'PiFlow')
|
||||
if not self.rts.runs[self.rts.todayString]["run_" + str(self.rts.currentRun)]["start"]:
|
||||
self.rts.startRun()
|
||||
self.rts.saveDataToFile()
|
||||
else:
|
||||
self.sendtodbDev(1,"run_status", "Stopped", 0, 'PiFlow')
|
||||
if self.rts.runs[self.rts.todayString]["run_" + str(self.rts.currentRun)]["start"] and not self.rts.runs[self.rts.todayString]["run_" + str(self.rts.currentRun)]["end"]:
|
||||
self.rts.endRun()
|
||||
self.rts.saveDataToFile()
|
||||
|
||||
self.sendtodbDev(1, "percentRunTime30Days", self.rts.calculateRunPercentMultiDay(), 0,'PiFlow')
|
||||
elif chan.mesh_name == "run_status":
|
||||
if "Operating" in val and not self.rts.runs[self.rts.todayString]["run_" + str(self.rts.currentRun)]["start"]:
|
||||
self.rts.startRun()
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"driverFileName":"PiFlow.py",
|
||||
"deviceName":"piflow",
|
||||
"driverId":"0280",
|
||||
"releaseVersion":"27",
|
||||
"releaseVersion":"28",
|
||||
"files": {
|
||||
"file1":"PiFlow.py",
|
||||
"file2":"Channel.py",
|
||||
|
||||
Reference in New Issue
Block a user