Beispiel #1
0
def get_pvi_type(pvi_name):
    '''
    string mapping for element in PVI_TYPE_LIST to PVIType
    '''
    db_config = get_app_json_db_config('pvi', pvi.DEFAULT_DB_CONFIG)
    for entry in db_config:
        if entry['name'] == pvi_name:
            if entry['type'] == PVI_TYPE_DELTA_PRI_H5:
                return PVIType.Delta_PRI_H5
Beispiel #2
0
def get_pvi_type(pvi_name):
    '''
    string mapping for element in PVI_TYPE_LIST to PVIType
    '''
    db_config = get_app_json_db_config('pvi', pvi.DEFAULT_DB_CONFIG)
    for entry in db_config:
        if entry['name'] == pvi_name:
            if entry['type'] == PVI_TYPE_DELTA_PRI_H5:
                return PVIType.Delta_PRI_H5
Beispiel #3
0
def get_coolmaster_instrument():
    app_config = get_app_json_db_config(__name__, DEFAULT_CONFIG_COOLMASTER)
    if os.path.exists(app_config['port']):
        instr = serial.Serial(
                              baudrate = app_config['baudrate'],
                              parity = app_config['parity'],
                              stopbits = app_config['stopbits'],
                              bytesize = app_config['bytesize'],
                              timeout = app_config['timeout'])
        instr.port = app_config['port']
    else:
        logger.warning('serial port is not exist! take it simulation mode')
    return instr
Beispiel #4
0
def aw_locations_api(location_key):
    '''
    AccuWeather Location API
    return json data
    '''
    info = {}
    dbconfig = get_app_json_db_config('accuweather', accuweather.DEFAULT_DB_CONFIG)
    t_apikey = dbconfig['apikey']
    t_url = AccuWeather_Location_API.format(locationkey=location_key,
                                            apikey=t_apikey)
    try:
        logger.debug(t_url)
        with urllib.request.urlopen(t_url) as http_resp:
            info = json.loads(http_resp.read().decode('utf-8'))
            logger.debug(str(info))
    except:
        logger.error('aw_locations_api error', exc_info=True)
    return info
Beispiel #5
0
def aw_search_location_by_geo(latitude,longitude):
    '''
    AccuWeather search location by GeoPosition API
    return json data
    '''
    info = {}
    dbconfig = get_app_json_db_config('accuweather', accuweather.DEFAULT_DB_CONFIG)
    t_apikey = dbconfig['apikey']
    t_url = AccuWeather_Location_Geo_Search_API.format(latitude=latitude,
                                                       longitude=longitude,
                                                       apikey=t_apikey)
    try:
        logger.debug(t_url)
        with urllib.request.urlopen(t_url) as http_resp:
            info = json.loads(http_resp.read().decode('utf-8'))
            logger.debug(str(info))
    except:
        logger.error('aw_search_location_by_geo error', exc_info=True)
    return info
Beispiel #6
0
def aw_locations_api(location_key):
    '''
    AccuWeather Location API
    return json data
    '''
    info = {}
    dbconfig = get_app_json_db_config('accuweather',
                                      accuweather.DEFAULT_DB_CONFIG)
    t_apikey = dbconfig['apikey']
    t_url = AccuWeather_Location_API.format(locationkey=location_key,
                                            apikey=t_apikey)
    try:
        logger.debug(t_url)
        with urllib.request.urlopen(t_url) as http_resp:
            info = json.loads(http_resp.read().decode('utf-8'))
            logger.debug(str(info))
    except:
        logger.error('aw_locations_api error', exc_info=True)
    return info
Beispiel #7
0
def aw_search_location_by_geo(latitude, longitude):
    '''
    AccuWeather search location by GeoPosition API
    return json data
    '''
    info = {}
    dbconfig = get_app_json_db_config('accuweather',
                                      accuweather.DEFAULT_DB_CONFIG)
    t_apikey = dbconfig['apikey']
    t_url = AccuWeather_Location_Geo_Search_API.format(latitude=latitude,
                                                       longitude=longitude,
                                                       apikey=t_apikey)
    try:
        logger.debug(t_url)
        with urllib.request.urlopen(t_url) as http_resp:
            info = json.loads(http_resp.read().decode('utf-8'))
            logger.debug(str(info))
    except:
        logger.error('aw_search_location_by_geo error', exc_info=True)
    return info
Beispiel #8
0
 def __init__(self):
     self.pvi = get_app_json_db_config('pvi', '{}')
     self.accuweather = get_app_json_db_config('accuweather', '{}')
Beispiel #9
0
#formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
#handler.setFormatter(formatter)
#logger.addHandler(handler)


def get_serial_device_list():
    dev_path_list = []
    SERIAL_DEV_PATH = '/dev/serial/by-id'
    if os.path.exists(SERIAL_DEV_PATH):
        for serial_dev in os.listdir(SERIAL_DEV_PATH):
            #logger.debug('serial device: %s' % serial_dev)
            dev_path_list.append(SERIAL_DEV_PATH + '/' + serial_dev)
    return dev_path_list


t_pvs_config = get_app_json_db_config('pvi', pvi.DEFAULT_DB_CONFIG)[0]
t_serial_port = t_pvs_config['serial']['port']
t_serial_port = '/dev/serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller-if00-port0'
t_serial_port = '/dev/serial/by-id/usb-FTDI_FT231X_USB_UART_DN00OMO5-if00-port0'
t_serial_list = get_serial_device_list()
if len(t_serial_list) > 0:
    t_serial_port = t_serial_list[0]
    logger.info('auto config serial port: %s' % t_serial_port)
t_modbus_id = t_pvs_config['modbus_id']
t_pvs_name = t_pvs_config['name']
t_pvs_type = t_pvs_config['type']
logger.info('pvs[0] meta: {pvs_meta}'.format(pvs_meta=str(t_pvs_config)))

import minimalmodbus, os
if os.path.exists(t_serial_port):
    #if True:
Beispiel #10
0
proj_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

time.sleep(random.randrange(1, 10))

#print('pvappengine project root: %s' % proj_root)
sys.path.append(proj_root)

os.environ['DJANGO_SETTINGS_MODULE'] = 'pvappengine.settings'
django.setup()

from dbconfig.views import get_app_json_db_config
import accuweather
import pvi

from accuweather.models import CurrConditions
accu_dbconfig = get_app_json_db_config('accuweather',
                                       accuweather.DEFAULT_DB_CONFIG)
CurrConditions.save_current_location_condition(accu_dbconfig['locationkey'],
                                               accu_dbconfig['apikey'])
print('CurrConditions.save_current_location_condition executed')

from pvappengine.pvcloud_task import HTTPReportToPVCloud_v1_2, pvcloud_dbconfig_v1
pvcloud_report = HTTPReportToPVCloud_v1_2()
pvcloud_report()
time.sleep(random.randrange(1, 5))

pvcloud_dbconfig_v1()
print('pvcloud_report executed')

from pvi.views import save_all_pvi_input_register_value
save_all_pvi_input_register_value(
    get_app_json_db_config('pvi', pvi.DEFAULT_DB_CONFIG))
#logger.setLevel(logging.DEBUG)
#handler = logging.FileHandler('/home/pi/h5_cron_task.log')
#formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
#handler.setFormatter(formatter)
#logger.addHandler(handler)

def get_serial_device_list():
    dev_path_list = []
    SERIAL_DEV_PATH = '/dev/serial/by-id'
    if os.path.exists(SERIAL_DEV_PATH):
        for serial_dev in os.listdir(SERIAL_DEV_PATH):
            #logger.debug('serial device: %s' % serial_dev)
            dev_path_list.append(SERIAL_DEV_PATH + '/' + serial_dev)
    return dev_path_list

t_pvs_config = get_app_json_db_config('pvi',pvi.DEFAULT_DB_CONFIG)[0]
t_serial_port = t_pvs_config['serial']['port']
t_serial_port = '/dev/serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller-if00-port0'
t_serial_port = '/dev/serial/by-id/usb-FTDI_FT231X_USB_UART_DN00OMO5-if00-port0'
t_serial_list = get_serial_device_list()
if len(t_serial_list) > 0:
    t_serial_port = t_serial_list[0]
    logger.info('auto config serial port: %s' % t_serial_port)
t_modbus_id = t_pvs_config['modbus_id']
t_pvs_name = t_pvs_config['name']
t_pvs_type = t_pvs_config['type']
logger.info('pvs[0] meta: {pvs_meta}'.format(pvs_meta=str(t_pvs_config)))

import minimalmodbus, os
if os.path.exists(t_serial_port):
#if True:
Beispiel #12
0
def get_pvi_list_from_settings():
    '''
    return list of pvi name according to settings module's PVS_CONFIG
    '''
    db_config = get_app_json_db_config('pvi', pvi.DEFAULT_DB_CONFIG)
    return [entry['name'] for entry in db_config]
Beispiel #13
0
from pvappengine import PVSChartsDataTypeEnum
import pvappengine
from pvi.views import query_pvi_info
from pvi import *
import pvi
import accuweather.views as accuweather_api
from accuweather import CurrConditionType
from dbconfig.views import get_app_json_db_config
from wordpress.models import WpOptions

import logging, json
import accuweather
logger = logging.getLogger(__name__)

db_config = get_app_json_db_config('pvappengine', pvappengine.DEFAULT_DB_CONFIG)
kWh_carbon_save_unit_kg = db_config['kWh_carbon_save_unit_kg']
kWh_income_unit_ntd = db_config['kWh_income_unit_ntd']
HOURLY_TIME_FORMAT = '%Y-%m-%d %H:00:00'
DAILY_TIME_FORMAT = '%Y-%m-%d'

pvs_meta = {
            'pvs_static': {
                           'today': {
                                     'total_eng_kwh':0,
                                     'total_carbon_save':0,
                                     'total_income':0,
                                     },
                           'this_month': {
                                     'total_eng_kwh':0,
                                     'total_carbon_save':0,
Beispiel #14
0
def get_pvi_list_from_settings():
    '''
    return list of pvi name according to settings module's PVS_CONFIG
    '''
    db_config = get_app_json_db_config('pvi', pvi.DEFAULT_DB_CONFIG)
    return [entry['name'] for entry in db_config]
Beispiel #15
0
from pvappengine import PVSChartsDataTypeEnum
import pvappengine
from pvi.views import query_pvi_info
from pvi import *
import pvi
import accuweather.views as accuweather_api
from accuweather import CurrConditionType
from dbconfig.views import get_app_json_db_config
from wordpress.models import WpOptions

import logging, json
import accuweather
logger = logging.getLogger(__name__)

db_config = get_app_json_db_config('pvappengine',
                                   pvappengine.DEFAULT_DB_CONFIG)
kWh_carbon_save_unit_kg = db_config['kWh_carbon_save_unit_kg']
kWh_income_unit_ntd = db_config['kWh_income_unit_ntd']
HOURLY_TIME_FORMAT = '%Y-%m-%d %H:00:00'
DAILY_TIME_FORMAT = '%Y-%m-%d'

pvs_meta = {
    'pvs_static': {
        'today': {
            'total_eng_kwh': 0,
            'total_carbon_save': 0,
            'total_income': 0,
        },
        'this_month': {
            'total_eng_kwh': 0,
            'total_carbon_save': 0,
Beispiel #16
0
proj_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

time.sleep(random.randrange(1,10))

#print('pvappengine project root: %s' % proj_root)
sys.path.append(proj_root)

os.environ['DJANGO_SETTINGS_MODULE'] = 'pvappengine.settings'
django.setup()

from dbconfig.views import get_app_json_db_config
import accuweather
import pvi
    
from accuweather.models import CurrConditions
accu_dbconfig = get_app_json_db_config('accuweather', accuweather.DEFAULT_DB_CONFIG)
CurrConditions.save_current_location_condition(accu_dbconfig['locationkey'],
                                               accu_dbconfig['apikey'])
print('CurrConditions.save_current_location_condition executed')

from pvappengine.pvcloud_task import HTTPReportToPVCloud_v1_2, pvcloud_dbconfig_v1
pvcloud_report = HTTPReportToPVCloud_v1_2()
pvcloud_report()
time.sleep(random.randrange(1,5))

pvcloud_dbconfig_v1()
print('pvcloud_report executed')

from pvi.views import save_all_pvi_input_register_value
save_all_pvi_input_register_value(get_app_json_db_config('pvi', pvi.DEFAULT_DB_CONFIG))
print('h5_controller.save_all_pvi_input_register_value executed')