summaryrefslogtreecommitdiff
path: root/src/inverter_mqtt_util.py
blob: 791bf80b5883ddc5dc684d0c454b0875c2697051 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/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()