Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var ZWave = require('openzwave-shared');
- var id;
- var zwave = new ZWave({
- });
- console.log("connecting to /dev/ttyACM0");
- zwave.connect('/dev/ttyACM0');
- exports.install = function() {
- F.route('/*', view_dashboard);
- F.route('/zwave/{nodeId}/{classId}/{valueId}/', get_zwave);
- F.route('/zwave/nodes/', get_nodes);
- F.localize('/templates/*.html', ['compress']);
- };
- var nodes = [];
- var homeid = null;
- zwave.on('driver ready', function(home_id) {
- homeid = home_id;
- console.log('scanning homeid=', homeid.toString(16));
- });
- zwave.on('driver failed', function() {
- console.log('failed to start driver');
- zwave.disconnect();
- process.exit();
- });
- zwave.on('node added', function(nodeid) {
- nodes[nodeid] = {
- manufacturer: '',
- manufacturerid: '',
- product: '',
- producttype: '',
- productid: '',
- type: '',
- name: '',
- loc: '',
- classes: {},
- ready: false,
- };
- });
- zwave.on('value added', function(nodeid, comclass, value) {
- if (!nodes[nodeid]['classes'][comclass])
- nodes[nodeid]['classes'][comclass] = {};
- nodes[nodeid]['classes'][comclass][value.index] = value;
- });
- zwave.on('node event', function(nodeid, data) {
- console.log('node%d event: Basic set %d', nodeid, data);
- });
- zwave.on('value changed', function(nodeid, comclass, value) {
- if (nodes[nodeid]['ready']) {
- console.log('node%d: changed: %d:%s:%s->%s', nodeid, comclass,
- value['label'],
- nodes[nodeid]['classes'][comclass][value.index]['value'],
- value['value']);
- }
- nodes[nodeid]['classes'][comclass][value.index] = value;
- });
- zwave.on('node ready', function(nodeid, nodeinfo) {
- console.log('nodeid:', nodeid , 'name:', nodeinfo.manufacturer ,nodeinfo.product );
- //console.log("ready", nodeid, JSON.stringify(nodes[nodeid]));
- // if (nodeid == 2) {
- // var self = nodes[nodeid];
- // var val = self.classes[112][44];
- // console.log(val.label, val.value);
- // }
- // if (nodeid == 4){
- //zwave.setValue(4, 39, 0, 0, false);
- // }
- id = setInterval(function() {
- // for (comclass in nodes[nodeid]['classes']) {
- //get_zwave(nodeid, comclass, value);
- // zwave.enablePoll(nodeid, comclass);
- // var values = nodes[nodeid]['classes'][comclass];
- //console.log('node%d: class %d', nodeid, comclass);
- // console.log('VALUES >');
- //console.log(nodes[nodeid]['42'].label, "=", nodes[nodeid]['42'].value);
- //}
- }, 2000); // 2000 ms = 2sekundy v praxy to budu podla mna radovo minutka (minuty) lebo teplota sa tak Ĩasto nemeni.
- });
- zwave.on('node event', function(nodeid, data) {
- console.log('node%d event: Basic set %d', nodeid, data);
- });
- function view_dashboard() {
- var self = this;
- GETSCHEMA('Repository').get(self, self.callback('index'));
- }
- zwave.on('scan complete', function() {
- console.log('====> scan complete');
- });
- zwave.on('value changed', function(nodeid, comclass, value) {
- if (nodes[nodeid]['ready']) {
- console.log('node%d: changed: %d:%s:%s->%s', nodeid, comclass,
- value['label'],
- nodes[nodeid]['classes'][comclass][value.index]['value'],
- value['value']);
- }
- nodes[nodeid]['classes'][comclass][value.index] = value;
- });
- process.on('SIGINT', function() {
- console.log('disconnecting...');
- zwave.disconnect('/dev/ttyACM0');
- process.exit();
- });
- function get_zwave(nodeId, classId, valueId){
- //console.log(JSON.stringify(nodes));
- //console.log("get_zwave", nodeId, classId, valueId, " = ", nodes[nodeId]['classes']);
- if (nodes[nodeId]['classes'][classId] === undefined) {
- this.json({"error":"class not found"});
- return;
- }
- if (nodes[nodeId]['classes'][classId][valueId] === undefined) {
- this.json({"error":"value not found"});
- return;
- }
- var val = nodes[nodeId]['classes'][classId][valueId].value;
- this.json(val)
- zwave.setValue({ node_id:4, class_id: 38, instance:1, index:0}, 0);
- }
- function get_nodes(){
- var val = 'tu by som rad dostal tie infa ';
- this.json(val);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement