pimatic-johnny-five
Version:
Pimatic Plugin for Johnny Five, a Robotics and IoT programming framework.
312 lines • 10.3 kB
text/coffeescript
module.exports = {
title: "pimatic-johnny-five device config schemas"
JohnnyFivePwmOutput: {
title: "Johnny Five PWM Output"
description: "Johnny Five PWM Output"
type: "object"
properties:
boardId:
description: "Id of the board to be used"
type: "string"
pin:
description: "The pin address"
type: "string"
}
JohnnyFiveSwitch: {
title: "Johnny Five Switch"
description: "Johnny Five Switch"
type: "object"
properties:
boardId:
description: "Id of the board to be used"
type: "string"
pin:
description: "The pin address"
type: "string"
}
JohnnyFiveContactSensor: {
title: "Johnny Five Contact Sensor"
description: "Johnny Five Contact Sensor for a digital input"
type: "object"
extensions: ["xConfirm", "xLink", "xClosedLabel", "xOpenedLabel"]
properties:
boardId:
description: "Id of the board to be used"
type: "string"
pin:
description: "The pin address"
type: "string"
invert:
description: "If true, invert the contact states, i.e. 'on' state on LOW. "
type: "boolean"
default: false
}
JohnnyFivePresenceSensor: {
title: "Johnny Five Presence Sensor"
description: "Johnny Five Presence Sensor for a digital input"
type: "object"
extensions: ["xLink", "xPresentLabel", "xAbsentLabel"]
properties:
boardId:
description: "Id of the board to be used"
type: "string"
pin:
description: "The pin address"
type: "string"
invert:
description: "If true, invert the presence states, i.e. 'present' state on LOW. "
type: "boolean"
default: false
}
JohnnyFiveButton: {
title: "Johnny Five Button"
description: "Johnny Five Digital Input"
type: "object"
extensions: ["xLink", "xClosedLabel", "xOpenedLabel"]
properties:
boardId:
description: "Id of the board to be used"
type: "string"
pin:
description: "The pin address"
type: "string"
pullUp:
description: "If true, activate the internal pull-up. As a result, a high signal will be read if push-button is open"
type: "boolean"
default: false
invert:
description: "If true, invert the button state."
type: "boolean"
default: false
holdTime:
description: "Time in milliseconds that the button must be held until triggering an event"
type: "number"
default: 500
controller:
description: "Controller interface type if an EVshield is used. Supports EVS_EV3 and EVS_NXT shields"
type: "string"
default: ""
}
JohnnyFiveRelay: {
title: "Johnny Five Relay"
description: "Johnny Five Relay"
type: "object"
properties:
boardId:
description: "Id of the board to be used"
type: "string"
pin:
description: "The pin address"
type: "string"
type:
description: "Whether the relay is wired to be 'normally open' (NO), or 'normally closed' if pin output is LOW"
enum: ["NO", "NC"]
default: "NO"
}
JohnnyFiveTemperature: {
title: "Johnny Five Temperature"
description: "Johnny Five Temperature"
type: "object"
extensions: ["xLink", "xAttributeOptions"]
properties:
boardId:
description: "Id of the board to be used"
type: "string"
controller:
description: "Controller interface type to be used, one of TINKERKIT, LM35, TMP36, DS18B20, MPU6050, GROVE, BMP180, MPL115A2, MPL3115A2, HTU21D, SI7020"
type: "string"
default: "TINKERKIT"
pin:
description: "The pin address. Required if controller is ANALOG, optional otherwise"
type: "string"
default: ""
address:
description: """
The I2C address. If controller is an I2C device and address is not provided the device-specfic
default address applies.
"""
type: "string"
default: ""
interval:
description: "The time interval in seconds at which the sensor will be read"
type: "number"
default: 10
units:
description: "Defines whether \"metric\", \"imperial\", or \"standard\" units shall be used"
format: "enum"
enum: ["metric", "imperial", "standard"]
default: "metric"
offset:
description: "A positive or negative offset value to adjust a deviation of the temperature sensor"
type: "number"
default: 0
}
JohnnyFiveTemperatureHumidity: {
title: "Johnny Five Temperature & Humidity"
description: "Johnny Five Temperature & Humidity"
type: "object"
extensions: ["xLink", "xAttributeOptions"]
properties:
boardId:
description: "Id of the board to be used"
type: "string"
controller:
description: "Controller interface type to be used, one of ANALOG, LM35, TMP36, DS18B20, MPU6050, GROVE, BMP180, MPL115A2, MPL3115A2, HTU21D"
type: "string"
default: "ANALOG"
pin:
description: "The pin address. Required if controller is ANALOG, optional otherwise"
type: "string"
default: ""
address:
description: """
The I2C address. If controller is an I2C device and address is not provided the device-specfic
default address applies.
"""
type: "string"
default: ""
interval:
description: "The time interval in seconds at which the sensor will be read"
type: "number"
default: 10
units:
description: "Defines whether \"metric\", \"imperial\", or \"standard\" units shall be used"
format: "enum"
enum: ["metric", "imperial", "standard"]
default: "metric"
temperatureOffset:
description: "A positive or negative offset value to adjust a deviation of the temperature sensor"
type: "number"
default: 0
humidityOffset:
description: "A positive or negative offset value to adjust a deviation of the humidity sensor"
type: "number"
default: 0
}
JohnnyFiveTemperaturePressure: {
title: "Johnny Five Temperature & Pressure"
description: "Johnny Five Temperature & Pressure"
type: "object"
extensions: ["xLink", "xAttributeOptions"]
properties:
boardId:
description: "Id of the board to be used"
type: "string"
controller:
description: "Controller interface type to be used, one of MS5611"
type: "string"
default: "MS5611"
pin:
description: "The pin address. Required if controller is ANALOG, optional otherwise"
type: "string"
default: ""
address:
description: """
The I2C address. If controller is an I2C device and address is not provided the device-specfic
default address applies.
"""
type: "string"
default: ""
interval:
description: "The time interval in seconds at which the sensor will be read"
type: "number"
default: 10
units:
description: "Defines whether \"metric\", \"imperial\", or \"standard\" units shall be used"
format: "enum"
enum: ["metric", "imperial", "standard"]
default: "metric"
temperatureOffset:
description: "A positive or negative offset value to adjust a deviation of the temperature sensor"
type: "number"
default: 0
pressureOffset:
description: "A positive or negative offset value to adjust a deviation of the humidity sensor"
type: "number"
default: 0
elevation:
description: "The elevation of the current location in meters"
type: "number"
default: 0
}
JohnnyFiveRgbLed: {
title: "Johnny Five RGB LED"
description: "Johnny Five RGB LED"
type: "object"
properties:
boardId:
description: "Id of the board to be used"
type: "string"
controller:
description: "Controller interface type. One of DEFAULT, PCA9685, BLINKM"
type: "string"
default: "DEFAULT"
pins:
description: "The pins assigned to the RGB LED"
type: "object"
properties:
red:
description: "The pin for red"
type: "string"
green:
description: "The green for green"
type: "string"
blue:
description: "The pin for blue"
type: "string"
isAnode:
description: "If set to true the LED is a common anode LED. Defaults to false, indicating a common cathode LED"
type: "boolean"
default: "false"
}
JohnnyFiveOledDisplay: {
title: "JohnnyFive LED"
description: "JohnnyFive LED"
type: "object"
properties:
boardId:
description: "Id of the board to be used"
type: "string"
address:
description: "The I2C address. If omitted SPI mode is assumed"
type: "string"
default: ""
slavePin:
description: "The slave select pin used in SPI mode"
type: "string"
default: "12"
}
JohnnyFiveLcdDisplay: {
title: "JohnnyFive LED"
description: "JohnnyFive LED"
type: "object"
properties:
boardId:
description: "Id of the board to be used"
type: "string"
controller:
description: "The I2C controller. If omitted the parallel interface will be used."
type: "string"
default: ""
address:
description: "The I2C address. If omitted the default address will be used in I2C mode"
type: "string"
default: ""
pins:
description: "The comma separated list of pins used for the parallel interface."
type: "string"
default: ""
backlight:
description: "The pin driving the backlight for the parallel interface."
type: "string"
default: ""
rows:
description: "The number of rows on the device"
type: "number"
default: 2
cols:
description: "The number of columns on the device"
type: "number"
default: 16
}
}