summaryrefslogtreecommitdiff
path: root/bin/sound_sensor_node.py
blob: 39c3905fcc446fc77899d4515d6308bf435685f8 (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
26
27
28
29
30
31
32
33
34
#!/usr/bin/env python3
import logging
import os
import sys
import __py_include

from homekit.config import config
from homekit.util import Addr
from homekit.soundsensor import SoundSensorNode

logger = logging.getLogger(__name__)


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

    config.load_app('sound_sensor_node')

    kwargs = {}
    if 'delay' in config['node']:
        kwargs['delay'] = config['node']['delay']

    if 'server_addr' in config['node']:
        server_addr = Addr.fromstring(config['node']['server_addr'])
    else:
        server_addr = None

    node = SoundSensorNode(name=config['node']['name'],
                           pinname=config['node']['pin'],
                           threshold=config['node']['threshold'] if 'threshold' in config['node'] else 1,
                           server_addr=server_addr,
                           **kwargs)
    node.run()