adjust for cluster deployment
This commit is contained in:
31
src/pv_controller/config.py
Normal file
31
src/pv_controller/config.py
Normal file
@ -0,0 +1,31 @@
|
||||
import os
|
||||
|
||||
class Config:
|
||||
OPTIONS = {
|
||||
'mqtt': [ 'login',
|
||||
'password',
|
||||
'ca',
|
||||
'cert',
|
||||
'key',
|
||||
'broker',
|
||||
'port',
|
||||
'meterPublishTopic',
|
||||
'meterPublishPeriod',
|
||||
'relaisSubscribeTopic' ],
|
||||
'modbus': [ 'gateway' ]
|
||||
}
|
||||
|
||||
def __init__(self):
|
||||
self.values = {}
|
||||
for section, keys in OPTIONS:
|
||||
self.values[section] = {}
|
||||
for key in keys:
|
||||
varname = f"{section}__{key}".upper()
|
||||
try:
|
||||
self.values[section][key] = os.environ[varname]
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
def __getitem__(self, section):
|
||||
return self.values[index]
|
||||
|
@ -2,9 +2,8 @@ from MeterPublish import MeterPublish
|
||||
from RelaisSubscribe import RelaisSubscribe
|
||||
from ModbusBase import ModbusHandler
|
||||
from loguru import logger
|
||||
from config import Config
|
||||
import logging
|
||||
import argparse
|
||||
import configparser
|
||||
import threading
|
||||
|
||||
|
||||
@ -23,15 +22,7 @@ def exceptHook(args):
|
||||
|
||||
logger.info("pv controller starting")
|
||||
|
||||
parser = argparse.ArgumentParser(description="pv controller")
|
||||
parser.add_argument('--config', '-f',
|
||||
help='Config file, default is $pwd/config.ini',
|
||||
required=False,
|
||||
default='./config.ini')
|
||||
args = parser.parse_args()
|
||||
|
||||
config = configparser.ConfigParser()
|
||||
config.read(args.config)
|
||||
config = Config()
|
||||
|
||||
modbusHandler = ModbusHandler(config)
|
||||
|
||||
|
Reference in New Issue
Block a user