def delete_serial_records(p1_processing=None, serial_db=None, flog=None):

    try:

        timestampstr = util.mkLocalTimeString()

        sql_del_str = "delete from " + const.DB_SERIAL_TAB + " where timestamp < '" + \
        str(datetime.datetime.strptime( timestampstr, "%Y-%m-%d %H:%M:%S") -\
        datetime.timedelta( days=p1_processing['max_days_db_data_retention']) )+ \
        "' and record_verwerkt=1"

        flog.debug(inspect.stack()[0][3] + ": serial e-buffer delete: sql=" +
                   sql_del_str)

        serial_db.del_rec(sql_del_str)

        sql_del_str = "delete from " + const.DB_SERIAL_TAB + " where timestamp < '" + \
        str(datetime.datetime.strptime( timestampstr, "%Y-%m-%d %H:%M:%S") -\
        datetime.timedelta( days=p1_processing['max_days_db_data_retention'] + 1) ) + "'"

        flog.debug(inspect.stack()[0][3] + ": serial e-buffer delete: sql=" +
                   sql_del_str)
        serial_db.del_rec(sql_del_str)

    except Exception as e:
        flog.error(inspect.stack()[0][3] + ": delete gefaald. Melding=" +
                   str(e.args[0]))
Exemple #2
0
def writeWpaSupplicantConfig(essid, psk):

    #print lines 
    try:
        os.system('/usr/bin/sudo rm '+ WPA_SUPPLICANT_CONFIG_FILE )
        # set file rights temporary to write file
        setWpaSupplicantConfigFileRights()
       

        fp = open(WPA_SUPPLICANT_CONFIG_FILE, 'w')
        fp.write('###############################\n')
        fp.write('# Gegenereerd door P1 monitor.#\n')
        fp.write('# op '+util.mkLocalTimeString()+'      #\n')
        fp.write('###############################\n')
        fp.write('country=NL\n')
        fp.write('ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev\n')
        fp.write('update_config=1\n')
        fp.write('network={\n')
        fp.write('    scan_ssid=1\n')
        fp.write('    ssid="' + str(essid) + '"\n')
        fp.write('    psk="'  + psk.decode('utf-8') + '"\n')
        fp.write('}\n')
        fp.close()

        #restartWpaSupplicant()

    except Exception as e:
        flog.critical(inspect.stack()[0][3]+": wifi config file schrijf fout, gestopt("+WPA_SUPPLICANT_CONFIG_FILE+") melding:"+str(e.args))
        sys.exit(1)    
def waitForPuls():
    global gpioWaterPuls

    #if pulsSimulator( probility = 0.005 ) == True: # //TODO uitzetten voor productie
    if gpioWaterPuls.gpioWaitRead() == True:
        flog.debug(
            inspect.stack()[0][3] +
            ": Start van verwerken van Watermeter pulsen, verwerking is actief."
        )

        rt_status_db.timestamp(90, flog)  # set timestamp of puls detected
        timestamp = mkLocalTimeString()

        #flog.debug( inspect.stack()[0][3]+": water puls gedetecteerd." )
        _id, puls_value_per_liter, _label = config_db.strget(98, flog)

        # process minute records
        minuteProcessing(timestamp, puls_value_per_liter)

        # add the other time periods
        replaceRecordForAPeriod(timestamp, sqldb.INDEX_HOUR)
        replaceRecordForAPeriod(timestamp, sqldb.INDEX_DAY)
        replaceRecordForAPeriod(timestamp, sqldb.INDEX_MONTH)
        replaceRecordForAPeriod(timestamp, sqldb.INDEX_YEAR)

    else:
        try:
            # warning, the puls must be off to update the gpio pin.
            gpioWaterPuls.check_pin_from_db()
        except:
            pass
Exemple #4
0
def generate_header_string():
    str = \
'    ###############################\n\
    # Gegenereerd door P1-monitor.#\n\
    # op '          + util.mkLocalTimeString() + '      #\n'+\
'    ###############################\n'
    return str
def write_phase_history_values_to_db(phase_db_rec=None,
                                     configdb=None,
                                     phasedb=None,
                                     flog=None):

    phase_db_rec['timestamp'] = util.mkLocalTimeString()

    # only add data when fase info is set to on.
    if configdb.strget(119, flog)[1] == "1":
        try:

            sqlstr = "insert or replace into " + const.DB_FASE_REALTIME_TAB + " (TIMESTAMP, VERBR_L1_KW,VERBR_L2_KW,VERBR_L3_KW,GELVR_L1_KW,GELVR_L2_KW,GELVR_L3_KW,L1_V,L2_V,L3_V,L1_A,L2_A,L3_A) VALUES ('" + \
                str( phase_db_rec['timestamp'] )         + "'," + \
                str( phase_db_rec['consumption_L1_kW'] ) + "," + \
                str( phase_db_rec['consumption_L2_kW'] ) + "," + \
                str( phase_db_rec['consumption_L3_kW'] ) + "," + \
                str( phase_db_rec['production_L1_kW'] )  + "," + \
                str( phase_db_rec['production_L2_kW'] )  + "," + \
                str( phase_db_rec['production_L3_kW'] )  + "," + \
                str( phase_db_rec['L1_V'] )              + ", " + \
                str( phase_db_rec['L2_V'] )              + ", " + \
                str( phase_db_rec['L3_V'] )              + ", " + \
                str( phase_db_rec['L1_A'] )              + ", " + \
                str( phase_db_rec['L2_A'] )              + ", " + \
                str( phase_db_rec['L3_A'] )              + ")"

            sqlstr = " ".join(sqlstr.split())
            flog.debug(inspect.stack()[0][3] + ": SQL =" + str(sqlstr))
            phasedb.insert_rec(sqlstr)

        except Exception as e:
            flog.error(inspect.stack()[0][3] + ": Insert gefaald. Melding=" +
                       str(e.args[0]))
Exemple #6
0
def cleanDb():
    timestr=mkLocalTimeString() 
    # minuten records verwijderen
    sql_del_str = "delete from "+const.DB_HISTORIE_MIN_TAB+" where timestamp <  '"+\
    str(datetime.strptime(timestr,"%Y-%m-%d %H:%M:%S") - timedelta(days=31))+"'"
    try:
        flog.debug(inspect.stack()[0][3]+": sql="+sql_del_str)
        e_db_history_min.del_rec(sql_del_str)     
    except Exception as e:
        flog.error(inspect.stack()[0][3]+": verwijderen min. recs,delete gefaald. Melding="+str(e.args[0]))

    # uur records verwijderen
    sql_del_str = "delete from "+const.DB_HISTORIE_UUR_TAB+" where timestamp <  '"+\
    str(datetime.strptime(timestr,"%Y-%m-%d %H:%M:%S") - timedelta(days=1096))+"'"
    try:
        flog.debug(inspect.stack()[0][3]+": sql="+sql_del_str)
        e_db_history_uur.del_rec(sql_del_str)     
    except Exception as e:
        flog.error(inspect.stack()[0][3]+": verwijderen uur recs,delete gefaald. Melding="+str(e.args[0]))

    # dagen records verwijderen
    sql_del_str = "delete from "+const.DB_HISTORIE_DAG_TAB+" where timestamp <  '"+\
    str(datetime.strptime(timestr,"%Y-%m-%d %H:%M:%S") - timedelta(days=1096))+"'"
    try:
        flog.debug(inspect.stack()[0][3]+": sql="+sql_del_str)
        e_db_history_dag.del_rec(sql_del_str)     
    except Exception as e:
        flog.error(inspect.stack()[0][3]+": verwijderen dag recs,delete gefaald. Melding="+str(e.args[0]))
def max_kWh_day_value(data_set=None, dbstatus=None, dbserial=None, flog=None ):
    
    #flog.setLevel( logger.logging.DEBUG )

    timestr=util.mkLocalTimeString()
    daytime_start_str = timestr[0:10]+" 00:00:00"
    daytime_end_str   = timestr[0:10]+" 23:59:59"

    try:
        sqlstr = "select verbr_kwh_181,verbr_kwh_182,gelvr_kwh_281,gelvr_kwh_282 \
        from " + const.DB_SERIAL_TAB+" where timestamp = \
        (select min(timestamp) from "+const.DB_SERIAL_TAB + \
        " where timestamp >= '" + daytime_start_str + "'and timestamp <= '" + daytime_end_str + "')"
        sqlstr = " ".join(sqlstr.split())
        flog.debug(inspect.stack()[0][3]+": sql="+sqlstr) 
        
        start_van_dag_waarde = dbserial.select_rec( sqlstr )
        flog.debug(inspect.stack()[0][3]+": record="+str(start_van_dag_waarde))
        
        dbstatus.strset( util.alwaysPlus(float( data_set['verbrk_kwh_181'] )- float(start_van_dag_waarde[0][0])),8,flog  )
        dbstatus.strset( util.alwaysPlus(float( data_set['verbrk_kwh_182'] )- float(start_van_dag_waarde[0][1])),9,flog  )
        dbstatus.strset( util.alwaysPlus(float( data_set['gelvr_kwh_281']  ) - float(start_van_dag_waarde[0][2])),10,flog )
        dbstatus.strset( util.alwaysPlus(float( data_set['gelvr_kwh_282']  ) - float(start_van_dag_waarde[0][3])),11,flog )

    except Exception as e:
        flog.error( inspect.stack()[0][3]+": serial e-buffer kwH waarden vorige dag gefaald. Melding="+str(e.args[0]) )
Exemple #8
0
def writeManifestFile():
    flog.debug(inspect.stack()[0][3]+": Manifest file " + const.FILE_EXPORT_MANIFEST + " maken.")
    try:    
        manifestdata = {
            'timestamp': util.mkLocalTimeString(),
            'record_count': statusdata['record_count']
        }
        fo = open(const.FILE_EXPORT_MANIFEST, "w")
        fo.write(json.dumps(manifestdata))
        fo.close() 
        util.setFile2user(const.FILE_EXPORT_MANIFEST,'p1mon')  
    except Exception as e:
        flog.error(inspect.stack()[0][3]+": manifest bestand kon niet worden weggeschreven -> "+str(e))
def backup_data_to_disk_by_timestamp( statusdb=None, flog=None, minute_mod=15 ):

    try:
        if int(util.mkLocalTimeString()[14:16])%minute_mod != 0:
            return # do noting, we are not in the mod range normaly 0,15,30,45 minutes

        file_sec_delta = util.file_delta_timestamp( const.FILE_DB_E_FILENAME ,const.DIR_FILEDISK )
        
        if file_sec_delta > 60  or file_sec_delta == -1:
            os.system("/p1mon/scripts/P1DbCopy.py --serialcopy2disk --forcecopy")
            statusdb.timestamp( 41,flog )

    except Exception as e:
        flog.error(inspect.stack()[0][3]+": data back-up fout: "+str(e))
Exemple #10
0
def deleteRecords():

    timestamp = mkLocalTimeString()

    try:
        sql_del_str = "delete from " + const.DB_POWERPRODUCTION_TAB  + \
        " where TIMEPERIOD_ID = " + \
        str( sqldb.INDEX_MINUTE ) + \
        " and POWER_SOURCE_ID = " + \
        str( S0_POWERSOURCE ) + \
        " and timestamp < '" + str( datetime.strptime( timestamp, "%Y-%m-%d %H:%M:%S") - timedelta(days=31)) + "'"
        flog.debug(inspect.stack()[0][3] + ": wissen van minuten. sql=" +
                   sql_del_str)
        power_production_db.excute(sql_del_str)
    except Exception as e:
        flog.warning(inspect.stack()[0][3] +
                     ": wissen van oude minuten records gefaald: " + str(e))

    try:
        sql_del_str = "delete from " + const.DB_POWERPRODUCTION_TAB  + \
        " where TIMEPERIOD_ID = " + \
        str( sqldb.INDEX_HOUR ) + \
        " and POWER_SOURCE_ID = " + \
        str( S0_POWERSOURCE ) + \
        " and timestamp < '" + str( datetime.strptime( timestamp, "%Y-%m-%d %H:%M:%S") - timedelta(days=1096)) + "'"
        flog.debug(inspect.stack()[0][3] + ": wissen van uren. sql=" +
                   sql_del_str)
        power_production_db.excute(sql_del_str)
    except Exception as e:
        flog.warning(inspect.stack()[0][3] +
                     ": wissen van oude minuten records gefaald: " + str(e))

    try:
        sql_del_str = "delete from " + const.DB_POWERPRODUCTION_TAB  + \
        " where TIMEPERIOD_ID = " + \
        str( sqldb.INDEX_DAY ) + \
        " and POWER_SOURCE_ID = " + \
        str( S0_POWERSOURCE ) + \
        " and timestamp < '" + str( datetime.strptime( timestamp, "%Y-%m-%d %H:%M:%S") - timedelta(days=1096)) + "'"
        flog.debug(inspect.stack()[0][3] + ": wissen van dagen. sql=" +
                   sql_del_str)
        power_production_db.excute(sql_del_str)
    except Exception as e:
        flog.warning(inspect.stack()[0][3] +
                     ": wissen van oude minuten records gefaald: " + str(e))
def insert_db_serial_record(data_set=None,
                            status=None,
                            dbstatus=None,
                            dbserial=None,
                            flog=None):

    try:
        timestr = util.mkLocalTimeString()
        #timestr_min=timestr[0:16]+":00"

        if status['gas_present_in_serial_data'] == False:
            #gas_verbr_m3_2421 = 0
            data_set['gas_verbr_m3_2421'] = 0

        sqlstr ="insert or replace into " + const.DB_SERIAL_TAB + \
        " values (\
        '"          +timestr+"',\
        '"          +"0"+"',\
        '"          +str( data_set['verbrk_kwh_181'] )+"', \
        '"          +str( data_set['verbrk_kwh_182'] )+"', \
        '"          +str( data_set['gelvr_kwh_281'] )+"', \
        '"          +str( data_set['gelvr_kwh_282'] )+"', \
        '"          +str( data_set['tarief_code'] )+"', \
        '"          +str( data_set['act_verbr_kw_170'] )+"', \
        '"          +str( data_set['act_gelvr_kw_270'] )+"',\
        '"          +str( data_set['gas_verbr_m3_2421'] )+"')"
        sqlstr = " ".join(sqlstr.split())
        flog.debug(inspect.stack()[0][3] +
                   ": (2)serial e-buffer insert: sql=" + sqlstr)

        dbserial.insert_rec(sqlstr)
        # timestamp telegram processed
        dbstatus.timestamp(16, flog)  # Timestring + Daylight saving.
        dbstatus.strset(str(util.getUtcTime()), 87, flog)  # UTC time
        status['p1_record_is_ok'] = 1
        dbstatus.strset(str(status['p1_record_is_ok']), 46,
                        flog)  # P1 data is ok recieved
        status['timestamp_last_insert'] = util.getUtcTime()

    # if util.isMod( timestr,15 ) == True:
    #     backupData()

    except Exception as e:
        flog.error(inspect.stack()[0][3] + ": Insert gefaald. Melding=" +
                   str(e.args[0]))
def delete_phase_record( p1_processing=None, phase_db=None, flog=None ):

    try:

        timestampstr = util.mkLocalTimeString()

        #if ( int( phase_db_rec['timestamp'][14:16] )%5 ) == 0: # delete every 5 minutes and not every record to limit DB load and fragmentaion.

        sql_del_str = "delete from " + const.DB_FASE_REALTIME_TAB + " where timestamp <  '"+\
                str( datetime.datetime.strptime( \
                timestampstr, "%Y-%m-%d %H:%M:%S") -\
                datetime.timedelta( days=p1_processing['max_days_db_data_retention'] )) + "'"

        flog.debug( inspect.stack()[0][3] + ": sql=" + sql_del_str )

        phase_db.del_rec(sql_del_str)

    except Exception as e:
        flog.error( inspect.stack()[0][3] + ": verwijderen fase records ,delete gefaald. Melding=" + str(e.args[0]) )
def update_json_data( jsondata=None, p1data=None ):

    #convert dutch tarif code to English Dal = Low, Peak = High 
    if p1data['tarief_code'] == 'P': 
        tarief_code = 'HIGH'
    else: 
        tarief_code = "LOW" # there are only two options (D/P)

    jsondata[ apiconst.JSON_TS_LCL ]                   = str(util.mkLocalTimeString())
    jsondata[ apiconst.JSON_TS_LCL_UTC ]               = util.getUtcTime()
    jsondata[ apiconst.JSON_API_API_STTS ]             = 'production'
    jsondata[ apiconst.JSON_API_CNSMPTN_KWH_L ]        = float( p1data['verbrk_kwh_181'] )
    jsondata[ apiconst.JSON_API_CNSMPTN_KWH_H ]        = float( p1data['verbrk_kwh_182'] )
    jsondata[ apiconst.JSON_API_PRDCTN_KWH_L ]         = float( p1data['gelvr_kwh_281']  )
    jsondata[ apiconst.JSON_API_PRDCTN_KWH_H ]         = float( p1data['gelvr_kwh_282'] )
    jsondata[ apiconst.JSON_API_TRFCD ]                = str( tarief_code )
    jsondata[ apiconst.JSON_API_CNSMPTN_KW ]           = float( p1data['act_verbr_kw_170'] )
    jsondata[ apiconst.JSON_API_PRDCTN_KW ]            = float( p1data['act_gelvr_kw_270'] )
    jsondata[ apiconst.JSON_API_CNSMPTN_GAS_M3 ]       = float( p1data['gas_verbr_m3_2421'] )
    jsondata[ apiconst.JSON_API_SYSTM_ID]              = systemid.getSystemId()
Exemple #14
0
def waitForPuls():
    global gpioPowerS0Puls

    #if pulsSimulator( probility = 0.05 ) == True:
    if gpioPowerS0Puls.gpioWaitRead() == True:
        flog.debug(
            inspect.stack()[0][3] +
            ": Start van verwerken van S0 pulsen, verwerking is actief.")

        rt_status_db.timestamp(109, flog)  # set timestamp of puls detected
        timestamp = mkLocalTimeString()

        #flog.debug( inspect.stack()[0][3]+": S0 puls gedetecteerd." )
        _id, puls_value_per_kwh, _label = config_db.strget(127, flog)
        #puls_value_per_kwh = 1 #debug

        # get HIGH of LOW tariff P or D
        _id, tariff, _label, _security = rt_status_db.strget(85, flog)
        #tariff = 'P'

        #store in buffer database and proces.
        #timestamp_buffer_list.append( [timestamp, puls_value_per_kwh,tariff ])

        # process minute records
        minuteProcessing(timestamp, tariff, puls_value_per_kwh)

        # add the other time periods
        replaceRecordForAPeriod(timestamp, sqldb.INDEX_HOUR)
        replaceRecordForAPeriod(timestamp, sqldb.INDEX_DAY)
        replaceRecordForAPeriod(timestamp, sqldb.INDEX_MONTH)
        replaceRecordForAPeriod(timestamp, sqldb.INDEX_YEAR)

    else:
        try:
            # warning, the puls must be off to update the gpio pin.
            gpioPowerS0Puls.check_pin_from_db()
        except:
            pass
Exemple #15
0
 def add_single_line_to_buffer(self, line=None, timestamp=True):
     if timestamp == True:
         self.line_buffer.append(line + " " + util.mkLocalTimeString())
     else:
         self.line_buffer.append(line)
Exemple #16
0
 def add_record_to_buffer(self, record=None):
     timestamp = util.mkLocalTimeString()
     self.line_buffer.append(record['interface'] + " " + timestamp)
     self.line_buffer.append(record['ip'] + " " + timestamp)
Exemple #17
0
    def kWupdateStatusDb(self):

        # 0: current timestamps
        timestr = util.mkLocalTimeString()
        daytime_start_str = timestr[0:10] + " 00:00:00"
        daytime_end_str = timestr[0:10] + " 23:59:59"

        #daytime_start_str = "2021-01-15 00:00:00"

        # force update when the day changes
        #sql = self.__create_sql_timestamp(
        #            db_field='act_verbr_KW_170',
        #            timestart=daytime_start_str,
        #           timestop=daytime_end_str,
        #            value=self.kw_max_min['max_verbr_KW_170'] )

        #rec_time = self.dbserial.select_rec( sql  )

        #print ( rec_time[0][0][0:10], timestr[0:10] )
        #if str(rec_time[0][0][0:10]) != timestr[0:10]: # an other day is upon us.
        #    self.flog.info( inspect.stack()[0][3] + ": Dag wissel gevonden vorige datum was " +   )
        #    self._reset_data_set()
        if len(str(self.kw_max_min['max_verbr_KW_170_timestamp'])
               ) > 9:  # check that the time is set
            if str(self.kw_max_min['max_verbr_KW_170_timestamp']
                   [0:10]) != timestr[0:10]:  # an other day is upon us.
                self.flog.info(
                    inspect.stack()[0][3] +
                    ": Dag wissel gevonden vorige datum was " +
                    self.kw_max_min['max_verbr_KW_170_timestamp'][0:10])
                self._reset_data_set()

        #print( self.kw_max_min )

        try:
            sql_str = " select max(act_verbr_KW_170), min(act_verbr_KW_170), max(act_gelvr_KW_270), min(act_gelvr_KW_270) \
            from "                   + const.DB_SERIAL_TAB + " where timestamp >='" \
            + daytime_start_str + "' and timestamp <='" + daytime_end_str + "'"
            sql_str = " ".join(sql_str.split())

            self.flog.debug(inspect.stack()[0][3] + ": SQL kw waarden=" +
                            sql_str)

            rec_kw_waarden = self.dbserial.select_rec(sql_str)

            if rec_kw_waarden[0][0] > self.kw_max_min['max_verbr_KW_170']:
                self.kw_max_min['max_verbr_KW_170'] = rec_kw_waarden[0][0]
                self.kw_max_min['max_verbr_KW_170_change'] = True

            if rec_kw_waarden[0][1] < self.kw_max_min['min_verbr_KW_170']:
                self.kw_max_min['min_verbr_KW_170'] = rec_kw_waarden[0][1]
                self.kw_max_min['min_verbr_KW_170_change'] = True

            if rec_kw_waarden[0][2] > self.kw_max_min['max_gelvr_KW_270']:
                self.kw_max_min['max_gelvr_KW_270'] = rec_kw_waarden[0][2]
                self.kw_max_min['max_gelvr_KW_270_change'] = True

            if rec_kw_waarden[0][3] < self.kw_max_min['min_gelvr_KW_270']:
                self.kw_max_min['min_gelvr_KW_270'] = rec_kw_waarden[0][3]
                self.kw_max_min['min_gelvr_KW_270_change'] = True

        except Exception as e:
            self.flog.error(inspect.stack()[0][3] + ": waarde query = " +
                            str(e.args[0]))
            return

        # update timestamps and values when needed.
        try:

            if self.kw_max_min['max_verbr_KW_170_change'] == True:
                sql = self.__create_sql_timestamp(
                    db_field='act_verbr_KW_170',
                    timestart=daytime_start_str,
                    timestop=daytime_end_str,
                    value=self.kw_max_min['max_verbr_KW_170'])
                #print ( sql )
                rec_time = self.dbserial.select_rec(sql)

                # update the status database
                self.dbstatus.strset(str(self.kw_max_min['max_verbr_KW_170']),
                                     1, self.flog)
                self.dbstatus.strset(rec_time[0][0], 2, self.flog)
                self.kw_max_min['max_verbr_KW_170_change'] = False
                self.kw_max_min['max_verbr_KW_170_timestamp'] = str(
                    rec_time[0][0])
                self.flog.info(
                    inspect.stack()[0][3] +
                    ": max_verbr_KW_170 aangepast naar " +
                    str(self.kw_max_min['max_verbr_KW_170']) +
                    " kW. Voor tijdstip " +
                    str(self.kw_max_min['max_verbr_KW_170_timestamp']))

            if self.kw_max_min['min_verbr_KW_170_change'] == True:
                sql = self.__create_sql_timestamp(
                    db_field='act_verbr_KW_170',
                    timestart=daytime_start_str,
                    timestop=daytime_end_str,
                    value=self.kw_max_min['min_verbr_KW_170'])
                #print ( sql )
                rec_time = self.dbserial.select_rec(sql)

                # update the status database
                self.dbstatus.strset(str(self.kw_max_min['min_verbr_KW_170']),
                                     113, self.flog)
                self.dbstatus.strset(rec_time[0][0], 114, self.flog)
                self.kw_max_min['min_verbr_KW_170_change'] = False
                self.kw_max_min['min_verbr_KW_170_timestamp'] = str(
                    rec_time[0][0])
                self.flog.info(inspect.stack()[0][3] +
                               ": min_verbr_KW_170 aangepast naar " +
                               str(self.kw_max_min['min_verbr_KW_170']) +
                               " kW. Voor tijdstip " +
                               self.kw_max_min['min_verbr_KW_170_timestamp'])

            if self.kw_max_min['max_gelvr_KW_270_change'] == True:
                sql = self.__create_sql_timestamp(
                    db_field='act_gelvr_KW_270',
                    timestart=daytime_start_str,
                    timestop=daytime_end_str,
                    value=self.kw_max_min['max_gelvr_KW_270'])
                #print ( sql )
                rec_time = self.dbserial.select_rec(sql)

                # update the status database
                self.dbstatus.strset(str(self.kw_max_min['max_gelvr_KW_270']),
                                     3, self.flog)
                self.dbstatus.strset(rec_time[0][0], 4, self.flog)
                self.kw_max_min['max_gelvr_KW_270_change'] = False
                self.kw_max_min['max_gelvr_KW_270_timestamp'] = str(
                    rec_time[0][0])
                self.flog.info(
                    inspect.stack()[0][3] +
                    ": max_gelvr_KW_270 aangepast naar " +
                    str(self.kw_max_min['max_gelvr_KW_270']) +
                    " kW. Voor tijdstip " +
                    str(self.kw_max_min['max_gelvr_KW_270_timestamp']))

            if self.kw_max_min['min_gelvr_KW_270_change'] == True:
                sql = self.__create_sql_timestamp(
                    db_field='act_gelvr_KW_270',
                    timestart=daytime_start_str,
                    timestop=daytime_end_str,
                    value=self.kw_max_min['min_gelvr_KW_270'])
                #print ( sql )
                rec_time = self.dbserial.select_rec(sql)

                # update the status database
                self.dbstatus.strset(str(self.kw_max_min['min_gelvr_KW_270']),
                                     115, self.flog)
                self.dbstatus.strset(rec_time[0][0], 116, self.flog)
                self.kw_max_min['min_gelvr_KW_270_change'] = False
                self.kw_max_min['min_gelvr_KW_270_timestamp'] = str(
                    rec_time[0][0])
                self.flog.info(
                    inspect.stack()[0][3] +
                    ": min_gelvr_KW_270 aangepast.naar " +
                    str(self.kw_max_min['min_gelvr_KW_270']) +
                    " kW. Voor tijdstip " +
                    str(self.kw_max_min['min_gelvr_KW_270_timestamp']))

        except Exception as e:
            self.flog.error(inspect.stack()[0][3] + ": Melding= " +
                            str(e.args[0]))
            return
Exemple #18
0
from sqldb import configDB, rtStatusDb, powerProductionDB
from time import sleep
from util import fileExist, setFile2user, mkLocalTimeString
from gpio import gpioDigtalInput
from random import randrange
from utiltimestamp import utiltimestamp
from listOfPidByName import listOfPidByName

# programme name.
prgname = 'P1PowerProductionS0'

rt_status_db = rtStatusDb()
config_db = configDB()
power_production_db = powerProductionDB()
gpioPowerS0Puls = gpioDigtalInput()
timestamp = mkLocalTimeString()
#timestamp_buffer_list   = []
prg_is_active = True
S0_POWERSOURCE = 1
mp_queue_1 = Queue()

QUEUE_CMD_START = "START"


def Main(argv):
    global timestamp

    my_pid = os.getpid()
    flog.info("Start van programma met process id " + str(my_pid))

    DiskRestore()