summaryrefslogtreecommitdiff
path: root/src/inverter_mqtt_util.py
blob: 9db25dc4a189a8ce14523e584856588fb094b8f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env python3
from argparse import ArgumentParser
from home.config import 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()

    mqtt = MqttWrapper(clean_session=arg.mode[0] != 'receiver')
    node = MqttNode(node_id='inverter')
    module_kwargs = {}
    if arg.mode[0] == 'sender':
        module_kwargs['status_poll_freq'] = int(config['mqtt']['inverter']['poll_freq'])
        module_kwargs['generation_poll_freq'] = int(config['mqtt']['inverter']['generation_poll_freq'])
    node.load_module('inverter', **module_kwargs)
    mqtt.add_node(node)

    mqtt.connect_and_loop()