Command Line Interface

If you have problem with Robotice you can use cli for debugging.

Welcome !

python robotice-cli.py
usage: robotice-cli.py [-h] [-c CONF] [-w WORKERCONF] [-l NODEINFO]
                       [-i INSPECT] [-s]

     ______       _                _
    (_____ \     | |           _  (_)
     _____) )___ | |__   ___ _| |_ _  ____ _____
    |  __  // _ \|  _ \ / _ (_   _) |/ ___) ___ |
    | |  \ \ |_| | |_) ) |_| || |_| ( (___| ____|
    |_|   |_\___/|____/ \___/  \__)_|\____)_____)


optional arguments:
  -h, --help            show this help message and exit
  -c CONF, --conf CONF  default: /srv/robotice/conf
  -w WORKERCONF, --workerconf WORKERCONF
                        default: /srv/robotice
  -l NODEINFO, --nodeinfo NODEINFO
                        -l ubuntu1
  -i INSPECT, --inspect INSPECT
                        print worker configuration -i reasoner
  -s, --status          print robotice status

Worker config

python robotice-cli.py -i reasoner
{
  "system_name": "box",
  "cpu_arch": "x86_64",
  "name": "rabbitmq1.box.robotice.cz",
  "database": {
    "engine": "redis",
    "host": "localhost",
    "port": 6379
  },
  "broker": "amqp://robotice:robotice@localhost:5672//robotice",
  "metering": {
    "host": "localhost",
    "sample_rate": 1,
    "port": 8125
  },
  "environment": "dev",
  "os_family": "Debian",
  "debug": true,
  "dsn": "http://##:##@host/number"
}

Robotice status

python robotice-cli.py -s
Monitor      ........   :-)
Planner      ........   :-)
Reasoner     ........   :-)
Reactor      ........   :-)


Sensors      ........   2
Actuators    ........   9
Systems      ........   3
Plans        ........   1

Robotice node info

python robotice-cli.py --nodeinfo ubuntu1 | ubuntu1.box.robotice.cz
{'start': datetime.datetime(2014, 2, 1, 0, 0), 'sensors': [{'device': 'dummy1', 'metric': 'random1', 'plan': 'water_humidity1'}, {'device': 'hygro_case1_ao', 'metric': 'humidity', 'plan': 'water_humidity2'}], 'name': 'ubuntu1', 'plan': 'hklab_box1', 'actuators': [{'device': 'dummy1', 'metric': 'random', 'plan': 'water1'}, {'device': 'relay3', 'plan': 'light1'}, {'device': 'relay2', 'plan': 'temp1'}]}
{'actuators': [{'device': 'relay', 'type': 'relay', 'name': 'relay1', 'port': 'P9_20'}], 'host': 'ubuntu1', 'sensors': [{'device': 'dummy', 'type': 'dummy', 'name': 'dummy2', 'port': 'bcm18'}, {'device': 'dummy', 'type': 'dummy', 'name': 'dummy1', 'port': 'bcm18'}]}
{'actuators': [{'cycles': [{'start': 6400, 'end': 80000, 'value': 1}], 'name': 'light1'}, {'cycles': [{'start': 6400, 'end': 80000, 'value': 0}], 'name': 'water1'}, {'cycles': [{'start': 0, 'end': 59, 'value': 1}, {'start': 60, 'end': 599, 'value': 0}, {'start': 600, 'end': 699, 'value': 1}, {'start': 700, 'end': 1399, 'value': 0}, {'start': 1400, 'end': 1499, 'value': 0}, {'start': 1500, 'end': 1739, 'value': 0}, {'start': 1740, 'end': 1800, 'value': 1}], 'name': 'water2'}], 'sensors': [{'cycles': [{'start': 0, 'end': 599, 'value_high': 25, 'value_low': 0}, {'start': 600, 'end': 1199, 'value_high': 50, 'value_low': 30}, {'start': 1200, 'end': 1800, 'value_high': 55, 'value_low': 35}], 'name': 'temp1'}, {'cycles': [{'start': 0, 'end': 1800, 'value_high': 2000, 'value_low': 50}], 'name': 'hygro2'}, {'cycles': [{'start': 0, 'end': 1800, 'value_high': 0, 'value_low': 1}], 'name': 'hygro1'}, {'cycles': [{'start': 0, 'end': 899, 'value_high': 30, 'value_low': 20}, {'start': 900, 'end': 1800, 'value_high': 65, 'value_low': 35}], 'name': 'air_humidity1'}, {'cycles': [{'start': 0, 'end': 899, 'value_high': 30, 'value_low': 20}, {'start': 900, 'end': 1800, 'value_high': 65, 'value_low': 35}], 'name': 'terra_humidity1'}, {'cycles': [{'start': 0, 'end': 899, 'value': 1}, {'start': 900, 'end': 1800, 'value': 0}], 'name': 'light2'}, {'cycles': [{'start': 0, 'end': 59, 'value': 1}, {'start': 60, 'end': 599, 'value': 0}, {'start': 600, 'end': 699, 'value': 1}, {'start': 700, 'end': 1399, 'value': 0}, {'start': 1400, 'end': 1499, 'value': 0}, {'start': 1500, 'end': 1739, 'value': 0}, {'start': 1740, 'end': 1800, 'value': 1}], 'name': 'water1'}], 'description': 'simple test box', 'name': 'hklab_box1', 'cycle': 1800}