示例#1
0
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]
示例#2
0
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