Latest release is 1.1.2, available at npm using npm install telldus
Note: Support for Node 0.10 and 0.11 is moved to a separate brach and package, available through npm install telldus-legacy
telldus-core
library libtelldus-core-dev
telldus-core
npm install node-gyp
cd yourprojectdirectory
npm install telldus
Note that the master branch isn't always top notch. If it doesn't compile, try an older revision or install the stable release
telldus-core
and libtelldus-core-dev
telldus-core
cd node-telldus
npm install node-gyp
npm install -g
cd yourprojectdirectory
npm link telldus
Make sure telldusd is running on the same machine.
var telldus = require('telldus');
telldus.getDevices(function(err,devices) {
if ( err ) {
console.log('Error: ' + err);
} else {
// A list of all configured devices is returned
console.log(devices);
}
});
If you ever get a returnValue from a method like turnOnSync that is not equal to 0 (TELLDUS_SUCCESS) you could check what type of error that is using telldus.getErrorString.
Asynchronous method([params...,] callback(err [, value])) |
---|
turnOn(id, callback) |
turnOff(id, callback) |
dim(id, levl, callback) |
learn(id, callback) |
addDevice(callback) |
setName(id, name, callback) |
getName(id, callback) |
setProtocol(id, name, callback) ) |
getProtocol(id, callback) |
setModel(id, name, callback) ) |
getModel(id, callback) |
getDeviceType(id, callback) |
removeDevice(id, callback) |
removeEventListener(id, callback) |
getErrorString(id, callback) |
getNumberOfDevices(callback) |
stop(id, callback) |
bell(id, callback) |
getDeviceId(id, callback) |
getDeviceParameter(id, name, val, callback) |
setDeviceParameter(id, name, val, callback) |
execute(id, callback) |
up(id, callback) |
down(id, callback) |
getDevices(callback) |
getSensors(callback) |
addDeviceEventListener(callback) |
addSensorEventListener(callback) |
addRawDeviceEventListener(callback) |
Synchronous method(params) |
---|
turnOnSync(id) |
turnOffSync(id) |
dimSync(id, levl) |
learnSync(id) |
addDeviceSync(callback) |
setNameSync(id, name) |
getNameSync(id) |
setProtocolSync(id, name) ) |
getProtocolSync(id) |
setModelSync(id, name) ) |
getModelSync(id) |
getDeviceTypeSync(id) |
removeDeviceSync(id) |
removeEventListenerSync(id) |
getErrorStringSync(id) |
getNumberOfDevicesSync(callback) |
stopSync(id) |
bellSync(id) |
getDeviceIdSync(id) |
getDeviceParameterSync(id, name, val) |
setDeviceParameterSync(id, name, val) |
executeSync(id) |
upSync(id) |
downSync(id) |
getDevicesSync() |
getSensorsSync() |
Returns an array of device dictionary objects. Only configured devices are returned.
Synchronous version: javascript var devices = telldus.getDevicesSync();
Signature:
telldus.getDevices(function(err,devices) {
if ( err ) {
console.log('Error: ' + err);
} else {
// The list of devices is returned
console.log(devices);
}
});
[
{
id: 1,
name: 'name from telldus.conf',
methods: [ 'TURNON', 'TURNOFF' ],
model: 'codeswitch',
type: 'DEVICE',
status: {status: 'OFF'}
},
...
]
Synchronous version: javascript var devices = telldus.getSensorsSync();
Signature:
telldus.getSensors(function(err,sensors) {
if ( err ) {
console.log('Error: ' + err);
} else {
// The list of sensors and their values is returned
console.log(sensors);
}
});
{ model: 'temperaturehumidity',
protocol: 'mandolyn',
id: 41,
data: [
{ type: 'TEMPERATURE',
value: '17.6',
timestamp: '2015-12-14 23:33:01' },
{ type: 'HUMIDITY',
value: '26',
timestamp: '2015-12-14 23:33:01' }
]
}
Turns a configured device ON.
Synchronous version: javascript var returnValue = turnOnSync(deviceId);
Signature:
telldus.turnOn(deviceId,function(err) {
console.log('deviceId is now ON');
});
Similar to the command
tdtool --on deviceId
Turns a configured device OFF.
Synchronous version: var returnValue = turnOffSync(deviceId);
Signature:
telldus.turnOff(deviceId,function(err) {
console.log('Device' + deviceId + ' is now OFF');
});
Similar to the command
tdtool --off deviceId
Dims a configured device to a certain level.
Synchronous version: javascript var returnValue = dimSync(deviceId,level);
Signature:
telldus.dim(deviceId, level,function(err) {
console.log('Device ' + deviceId + ' is now dimmed to level ' + level);
});
Add a listener for raw device events. This is usefull for scanning for devices not yet configured
Signature:
var listener = telldus.addRawDeviceEventListener(function(controllerId, data) {
console.log('Raw device event: ' + data);
});
controllerId
: id of receiving controller, can identify the TellStick if several exists in the system.data
: A semicolon separated string with colon separated key / value pairs.'class:command;protocol:arctech;model:selflearning;house:5804222;unit:2;group:0;method:turnon;'
Add a listener for device events
Signature:
var listener = telldus.addDeviceEventListener(function(deviceId, status) {
console.log('Device ' + deviceId + ' is now ' + status.name);
});
status
: is an object of the form:
{"status": "the status"}
Add a listener for sensor events
Signature:
var listener = telldus.addSensorEventListener(function(deviceId,protocol,model,type,value,timestamp) {
console.log('New sensor event received: ',deviceId,protocol,model,type,value,timestamp);
});
Remove a previously added listener.
Synchronous version: javascript var returnValue = telldus.removeEventListenerSync(listener);
Signature:
telldus.removeEventListener(listener,function(err) {});
Get the string representation of a return value
Synchronous version: javascript var errStr = telldus.getErrorStringSync(returnValue);
Signature:
var returnValue = telldus.turnOnSync(deviceId);
if(returnValue > 0) {
telldus.getErrorString(returnValue, function (err, errStr) {
console.error('turnOn failed for device ' + deviceId + ', error: ' + errStr);
process.exit(0);
});
}
This project is licensed under the MIT license and is forked from telldus-core-js (https://github.com/evilmachina/telldus-core-js) by GitHub user evilmachina.
The sourcecode and bug tracker is hosted on GitHub, https://github.com/Hexagon/node-telldus