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
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
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
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
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
def __init__(self): self.pvi = get_app_json_db_config('pvi', '{}') self.accuweather = get_app_json_db_config('accuweather', '{}')
#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:
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:
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]
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,
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,
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')