{
  "calvinsys": {
     "capabilities": {
         "sys.timer.once": {
             "module": "sys.timer.Timer",
             "attributes": {}
         },
         "sys.timer.repeating": {
             "module": "sys.timer.Timer",
             "attributes": {"repeats": true}
         },
         "io.light": {
           "module": "ui.Actuator",
           "attributes": {"ui_def": {"image":"KY-016", "control":{"sensor":false, "type":"boolean", "default":false}}}
         },
         "io.switch": {
           "module": "ui.Sensor",
           "attributes": {"ui_def": {"image":"KY-004", "control":{"sensor":true, "type":"boolean", "default":false}}}
         },
         "io.button": {
           "module": "ui.Sensor",
           "attributes": {"ui_def": {"image":"KY-004", "control":{"sensor":true, "type":"boolean", "default":0, "behaviour":"momentary"}}}
         },
         "io.tiltswitch": {
           "module": "ui.Sensor",
           "attributes": {"ui_def": {"image":"KY-020", "control":{"sensor":true, "type":"boolean", "default":false}}}
         },
         "io.lightbreaker": {
           "module": "ui.Sensor",
           "attributes": {"ui_def": {"image":"KY-010", "control":{"sensor":true, "type":"boolean", "default":false}}}
         },
         "io.buzzer": {
             "module": "ui.Actuator",
             "attributes": {"ui_def": {"image":"KY-006", "control":{"sensor":false, "type":"int", "default":false, "behaviour":"audio"}}}
         },
         "io.pwm": {
             "module": "ui.Actuator",
             "attributes": {"ui_def": {"image":"KY-Generic", "control":{"sensor":false, "type":"float", "default":0}}}
         },
         "io.temperature": {
           "module": "ui.TriggeredSensor",
           "attributes": {"ui_def": {"image":"KY-001", "control":{"sensor":true, "type":"float", "min":-20.0, "max":120.0, "default":20.0}}}
         },
         "io.humidity": {
           "module": "ui.TriggeredSensor",
           "attributes": {"ui_def": {"image":"KY-015", "control":{"sensor":true, "type":"float", "min":0.0, "max":100.0, "default":60.0}}}
         },
         "io.distance": {
           "module": "ui.TriggeredSensor",
           "attributes": {"ui_def": {"image":"Distance", "control":{"sensor":true, "type":"float", "min":0.0, "max":4.0, "default":2.0}}}
         },
         "io.stdout": {
           "module": "ui.StandardOut",
           "attributes": {"ui_def": {"control":{"type":"console"}}}
         }
      }
   }
}

