#!/usr/bin/env python3
import logging
import os
import sys
import include_homekit

from argparse import ArgumentParser
from homekit.util import Addr
from homekit.config import config
from homekit.relay.sunxi_h3_server import RelayServer

logger = logging.getLogger(__name__)


if __name__ == '__main__':
    if os.getegid() != 0:
        sys.exit('Must be run as root.')

    parser = ArgumentParser()
    parser.add_argument('--pin', type=str, required=True,
                        help='name of GPIO pin of Allwinner H3 sunxi board')
    parser.add_argument('--listen', type=str, required=True,
                        help='address to listen to, in ip:port format')

    arg = config.load_app(no_config=True, parser=parser)
    listen = Addr.fromstring(arg.listen)

    try:
        RelayServer(pinname=arg.pin, addr=listen).run()
    except KeyboardInterrupt:
        logger.info('Exiting...')
