def update_skypic_metrics(n_intervals, id, value): print("skycampic_n_intervals=", n_intervals) myIndex = id['index'] # build pictures SkyCamList = skycam_page.getSkyCamList() output = skycam_page.buildPics(SkyCamList) #print("picoutput=", output) return [output]
def update_sky_metrics(n_intervals, id, value): print("skycam_n_intervals=", n_intervals) myIndex = id['index'] # build figures SkyCamList = skycam_page.getSkyCamList() output = skycam_page.build_solar_graphs(SkyCamList) #print("output=", output) return [output]
def getWSSkyCamStatus(myIndex): mySkyCamList = skycam_page.getSkyCamList() #print("mySkyCamList=", mySkyCamList) #print("myIndex=", myIndex) try: myCam = mySkyCamList[myIndex - 31] except: myCam = "NA" try: #print("trying database") con = mdb.connect('localhost', 'root', config.MySQL_Password, 'WeatherSenseWireless') cur = con.cursor() now = datetime.datetime.now() timeDelta = datetime.timedelta(minutes=10) before = now - timeDelta before = before.strftime('%Y-%m-%d %H:%M:%S') query = "SELECT picturesize FROM SkyCamPictures WHERE (timestamp > '%s' AND cameraID = '%s') ORDER BY timestamp DESC LIMIT 1" % ( before, myCam) #print("query=", query) cur.execute(query) con.commit() records = cur.fetchall() if (len(records) == 0): return "gray" except mdb.Error as e: traceback.print_exc() print("Error %d: %s" % (e.args[0], e.args[1])) con.rollback() #sys.exit(1) finally: cur.close() con.close() if (float(records[0][0]) > 0): return GREEN else: return "red"
def returnOutdoorIndicator(): totalLayout = [] myLabelLayout = [] myIndicatorLayout = [] myLabelLayout.append( html. H6("WeatherSense Sensor Status (Green=Good, Red=Low, Gray=Off Air)"), ) myColor = getWR2Status() myIndicatorLayout.append( daq.Indicator(id={ 'type': 'SPdynamic', 'index': 0 }, color=myColor, label="WeatherRack2", value=True, style={'margin': '10px'})) myColor = getWSAQIStatus() myIndicatorLayout.append( daq.Indicator(id={ 'type': 'SPdynamic', 'index': 10 }, color=myColor, label="WS Air Quality", value=True, style={'margin': '10px'})) myColor = getWSLightningStatus() myIndicatorLayout.append( daq.Indicator(id={ 'type': 'SPdynamic', 'index': 11 }, color=myColor, label="WS Lightning", value=True, style={'margin': '10px'})) myColor = getWSAfterShockStatus() myIndicatorLayout.append( daq.Indicator(id={ 'type': 'SPdynamic', 'index': 12 }, color=myColor, label="WS AfterShock", value=True, style={'margin': '10px'})) myColor = getWSRadSenseStatus() myIndicatorLayout.append( daq.Indicator(id={ 'type': 'SPdynamic', 'index': 13 }, color=myColor, label="WS Radiation", value=True, style={'margin': '10px'})) myColor = getWSSolarMAXStatus() myIndicatorLayout.append( daq.Indicator(id={ 'type': 'SPdynamic', 'index': 14 }, color=myColor, label="WS SolarMAX2", value=True, style={'margin': '10px'})) mySkyCamList = skycam_page.getSkyCamList() count = 1 for cam in mySkyCamList: myColor = getWSSkyCamStatus(count + 30) myIndicatorLayout.append( daq.Indicator(id={ 'type': 'SPdynamic', 'index': 30 + count }, color=myColor, label="SkyCam " + cam, value=True, style={'margin': '10px'})) count = count + 1 totalLayout.append(dbc.Row(myLabelLayout)) totalLayout.append(dbc.Row(myIndicatorLayout)) return totalLayout