Пример #1
0
def crux(*args):
    logger.info('AutoStateSet: If Current State has been ' + args[1] +
                ' for more than ' + args[2] + ' seconds then set state to: ' +
                args[3])

    processArguments()
    if (len(sys.argv) > 4):
        if (args[4].lower() == 'false'):
            persistent = isPersistent()
            if persistent:
                logger.info(
                    "AutoStateSet will not set state since persistent is enabled."
                )
                return 0

    alarmState = getCurrentAlarmState()
    if (alarmState == args[1]):
        lastStateChangeTimeDelta = getLastStateChangeTimeDelta()
        secondsInCurrentState = lastStateChangeTimeDelta.total_seconds()
        if (secondsInCurrentState > int(args[2])):
            logger.info('AutoStateSet: Current State has been ' + alarmState +
                        ' for ' + str(secondsInCurrentState) +
                        ' seconds. Auto setting state to: ' + args[3])
            setAlarmState(args[3])
        else:
            logger.info(
                "AutoStateSet will not set state since current state has been "
                + alarmState + ' for only ' + str(secondsInCurrentState) +
                ' seconds')
    else:
        logger.info("AutoStateSet will not set state since current state is " +
                    alarmState)
    return 0
Пример #2
0
def crux(*args):
    logger.info('AutoStateSet: If Current State has been ' + args[1] + ' for more than ' + args[2] + ' seconds then set state to: ' + args[3])

    processArguments()
    if (len(sys.argv) > 4):
        if (args[4].lower() == 'false'):
            persistent = isPersistent()
            if persistent:
                logger.info("AutoStateSet will not set state since persistent is enabled.")
                return 0

    alarmState = getCurrentAlarmState()
    if (alarmState == args[1]):
        lastStateChangeTimeDelta = getLastStateChangeTimeDelta()
        secondsInCurrentState = lastStateChangeTimeDelta.total_seconds()
        if (secondsInCurrentState > int(args[2])):
            logger.info('AutoStateSet: Current State has been ' + alarmState + ' for ' + str(secondsInCurrentState) + ' seconds. Auto setting state to: ' + args[3])
            setAlarmState(args[3])
        else:
            logger.info("AutoStateSet will not set state since current state has been " + alarmState + ' for only ' + str(secondsInCurrentState) + ' seconds')
    else:
        logger.info("AutoStateSet will not set state since current state is " + alarmState)
    return 0
Пример #3
0
import cgi, cgitb

cgitb.enable()
exitdelay = ""
desiredstate = ""
already = ""
arguments = cgi.FieldStorage()
if "exitdelay" in arguments:
    exitdelay = arguments["exitdelay"].value
if "desiredstate" in arguments:
    desiredstate = arguments["desiredstate"].value
if "already" in arguments:
    already = arguments["already"].value

currentAlarmState = getCurrentAlarmState()
print 'Content-Type: text/html'
print # HTTP says you have to have a blank line between headers and content
print '<html>'
print '  <head>'
print '    <title>Current state is ' + currentAlarmState + '</title>'
print '  </head>' 
print '  <body>'
print '  <h1> Current state is ' + currentAlarmState + '</h1>'
if desiredstate != currentAlarmState:
    if exitdelay and desiredstate:
        print '  <h6> Setting state to ' + desiredstate + ' after exit delay of ' + exitdelay + ' seconds</h6>'
print '  <h6> State has been ' + getCurrentAlarmState() + ' for ' + convert_timedelta_str(getLastStateChangeTimeDelta()) + ' since ' + str(getLastStateChangeTime()) + '</h6>'
print '      <button onClick="window.location=\'' + getBaseUrl() + '/raspwave/controlpanel.py\'" style="font: bold 60px Arial">Back to Control Panel</button><br><br>'
print '  </body>'
print '</html>'
Пример #4
0
desiredstate = ""
already = ""
arguments = cgi.FieldStorage()
if "exitdelay" in arguments:
    exitdelay = arguments["exitdelay"].value
if "desiredstate" in arguments:
    desiredstate = arguments["desiredstate"].value
if "already" in arguments:
    already = arguments["already"].value

currentAlarmState = getCurrentAlarmState()
print 'Content-Type: text/html'
print  # HTTP says you have to have a blank line between headers and content
print '<html>'
print '  <head>'
print '    <title>Current state is ' + currentAlarmState + '</title>'
print '  </head>'
print '  <body>'
print '  <h1> Current state is ' + currentAlarmState + '</h1>'
if desiredstate != currentAlarmState:
    if exitdelay and desiredstate:
        print '  <h6> Setting state to ' + desiredstate + ' after exit delay of ' + exitdelay + ' seconds</h6>'
print '  <h6> State has been ' + getCurrentAlarmState(
) + ' for ' + convert_timedelta_str(
    getLastStateChangeTimeDelta()) + ' since ' + str(
        getLastStateChangeTime()) + '</h6>'
print '      <button onClick="window.location=\'' + getBaseUrl(
) + '/raspwave/controlpanel.py\'" style="font: bold 60px Arial">Back to Control Panel</button><br><br>'
print '  </body>'
print '</html>'