feat(fun/idual): Introduce real CLI that can send all commands

Adds an idualctl CLI that can be used to control the lights.
This commit is contained in:
Vincent Ambo 2020-04-26 15:50:21 +01:00
parent a34f7ef119
commit 8681ac787e
3 changed files with 50 additions and 25 deletions

39
fun/idual/idualctl Normal file
View file

@ -0,0 +1,39 @@
#!/usr/bin/env python
import idual
import sys
def help():
print('Available commands:')
for cmd in idual.commands:
print('- ' + cmd)
sys.exit(0)
def handle(ctrl, cmd):
if cmd == 'help':
help()
elif cmd == 'wakey':
ctrl.wakey()
sys.exit(0)
elif cmd == 'on':
print('Turning on the lights')
ctrl.send_cmd(cmd)
elif cmd == 'off':
print('Turning off the lights')
ctrl.send_cmd(cmd)
elif cmd in idual.commands:
print('Sending ' + cmd + '-command')
ctrl.send_cmd(cmd)
else:
print('unknown command \'' + cmd + '\'')
sys.exit(1)
if __name__ == "__main__":
if len(sys.argv) == 1:
help()
print('Initialising light controller')
ctrl = idual.LightController()
for cmd in sys.argv[1:]:
handle(ctrl, cmd)