Drivers
Properties
string: id
This property is a constant value defined by the driver itself and contains it's own driver id. This should be manually assigned in code by the developer or token-negotiator. This, in no case, should ever change.
string: name
This property is a partially constant value that contains the friendly name for this driver. It should simply state what this driver is for.
string: developer
This property contains the developer's name.
string: description
The description for this driver
string: type
The type of driver that this is.
Possible types:
Single: This driver (device) only reports on one single controller or capability
Multi: This driver (device) has multiple controllers and actions
string: location
This property is an add-on property assigned by HomeCore, the driver can, however should not in any case assign to this property.
Object: capabilities
An object of capabilities for this driver (device)
// Sample capabilties object
{
power: 0, // 0 = a binary on/off state
speed: 1, // 1 = a set of integers
temp: 2, // 2 = a possible range of integers
time: 3, // 3 = arbitrary string
plots: 4 // 4 = custom data type (requires a HomeCore datatype to be defined)
}
Array[Controller]: controllers
An array of all the controllers for this device
// Sample controller object
{
name: "Power",
type: "binary/powerOnOrOff", // powerOnOrOff is custom name, can be anything
id: "power",
location: this.location, // 'this' is the driver's location
states: [true, false] // Binary only has two states
}
// 0, Binary
states: [true, false]
// 1, Set
states: [1,2,3]
// 2, Range
states: [-20,300]
// 3, String
states: [""]
states: ["sampleStringState1", "sampleStringState2"]
states: ["{\"name\": \"Sample JSON State #1\"}"]
// 4, Custom
states: [
{
// State #1
},
{
// State #2
}
]
// Sample controllers array
[
{
name: "Power",
type: "binary/powerOnOrOff",
id: "power",
location: this.location,
states: [true, false]
},
{
name: "Fan Speed",
type: "set/speeds",
id: "speed",
location: this.location,
states: [1, 2, 3]
}
]
function: onPublish
This property is a constant value defined by the driver itself and contains it's own driver id. This should be manually assigned in code by the developer or token-negotiator. This, in no case, should ever change.
function: init
This property is a constant value defined by the driver itself and contains it's own driver id. This should be manually assigned in code by the developer or token-negotiator. This, in no case, should ever change.
function: getState
This property is a constant value defined by the driver itself and contains it's own driver id. This should be manually assigned in code by the developer or token-negotiator. This, in no case, should ever change.
function: updateState
This property is a constant value defined by the driver itself and contains it's own driver id. This should be manually assigned in code by the developer or token-negotiator. This, in no case, should ever change.
function: setInternalState
This property is a constant value defined by the driver itself and contains it's own driver id. This should be manually assigned in code by the developer or token-negotiator. This, in no case, should ever change.
function: disconnect
This property is a constant value defined by the driver itself and contains it's own driver id. This should be manually assigned in code by the developer or token-negotiator. This, in no case, should ever change.
Last updated