node-flipdot
![npm version](https://img.shields.io/npm/v/flipdot.svg)
A web based client API for the flipdot hackerspace Kassel.
npm install flipdot
Features
Current Hackers
Get current visitors:
var flipdot = require("flipdot");
flipdot.getSpaceStatus(function(err, status) {
console.dir(!!err ? err : status);
});
Power Consumption
Get current power consumption in Watts:
var flipdot = require("flipdot");
flipdot.getPowerConsumption(function(err, data) {
console.dir(!!err ? err : data);
});
Outputs (for example):
{
timestamp: Tue Jan 27 2015 22:00:00 GMT+0100 (W. Europe Standard Time),
consumption: 9001
}
Orange Light
Note: This functionality is only available when the client is in the network of flipdot Kassel.
flipdot.setOrangeLightStatus(flipdot.LightStatus.on, function(err) {
if(err) return console.error(err);
console.log("The orange light should now be on.");
});
Radiator Control
Note: This functionality is only available when the client is in the network of flipdot Kassel.
flipdot.getCurrentTemperature(function(err, temp) {
if(err) return console.error(err);
console.log("It is currently %d %s", temp.value, temp.unit);
});
flipdot.getTargetTemperature(function(err, temp) {
if(err) return console.error(err);
console.log("The radiator is set to %d %s", temp.value, temp.unit);
});
flipdot.setTargetTemperature(20, function(err) {
if(err) return console.error(err);
console.log("The radiator is now set to %d °C", 20);
});
TODO
- Open door using SSH private key
Q Sample
var flipdot = require("flipdot");
var Q = require("q");
var getPowerConsumption = Q.denodeify(flipdot.getPowerConsumption);
var getSpaceStatus = Q.denodeify(flipdot.getSpaceStatus);
Q.all([
getPowerConsumption(),
getSpaceStatus()
]).done(function(results) {
console.log("power consumption:")
console.dir(results[0]);
console.log("space status:")
console.dir(results[1]);
});
TypeScript usage
npm install flipdot
import * as flipdot from "flipdot";