#!/usr/bin/env python3 from argparse import ArgumentParser from home.config import config, app_config from home.mqtt import MqttWrapper, MqttNode if __name__ == '__main__': parser = ArgumentParser() parser.add_argument('mode', type=str, choices=('sender', 'receiver'), nargs=1) config.load_app('inverter_mqtt_util', parser=parser) arg = parser.parse_args() mode = arg.mode[0] mqtt = MqttWrapper(client_id=f'inverter_mqtt_{mode}', clean_session=mode != 'receiver') node = MqttNode(node_id='inverter') module_kwargs = {} if mode == 'sender': module_kwargs['status_poll_freq'] = int(app_config['poll_freq']) module_kwargs['generation_poll_freq'] = int(app_config['generation_poll_freq']) node.load_module('inverter', **module_kwargs) mqtt.add_node(node) mqtt.connect_and_loop()