New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

homenode-node

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

homenode-node - npm Package Compare versions

Comparing version 0.0.5 to 0.0.6

32

example.js

@@ -9,18 +9,26 @@ var homenode = require('./homenode.js')(

homenode.addDevice({
id : '4322',
var temp1Device = homenode.addDevice({
id : 'temp1',
typ : 'sensor',
name : 'TempSensor',
description : 'Temperator sensor outside',
state : 35.6
state : 35.6,
events : [
{ name : "TempChange",
description : "The temparature reading changed"
}
]
});
homenode.removeDevice('4322');
homenode.addDevice({
id : '4323',
var temp2Device =homenode.addDevice({
id : 'temp2',
typ : 'sensor',
name : 'TempSensor',
description : 'Temperator sensor inside',
state : 21.6
state : 21.1,
events : [
{ name : "TempChange",
description : "The temparature reading of the inside sensor changed"
}
]
});

@@ -57,1 +65,9 @@

});
// Simulate temparture change
setInterval(function() {
temp1Device.state+=0.1;
temp2Device.state+=0.05;
temp1Device.fireEvent('TempChanged',temp1Device.state);
temp2Device.fireEvent('TempChanged',temp2Device.state);
},6000);

@@ -37,4 +37,18 @@ var express = require('express');

devices.push(device);
master.notifyDeviceChange();
device.fireEvent = function(eventName,payload) {
master.notify(
{
type : 'event',
device : device.id,
event : eventName,
payload : payload
}
);
}
master.notify( {
type: 'newdevice',
device : device.id
});
log('New device "'+device.name+'" registered.');
return device;
}

@@ -156,7 +170,4 @@

addDevice : addDevice,
removeDevice : removeDevice,
addApi : function(def) {
api.use(app,def);
}
removeDevice : removeDevice
}
}

@@ -6,2 +6,2 @@ module.exports = logger;

}
}
}

@@ -6,3 +6,3 @@ /**

var log = require('./log.js')('master');
var urlHelper = require('url');
var masterNodes = [];

@@ -54,2 +54,3 @@

res.on('end', function() {
log("Master data "+data);
var masterInfo = JSON.parse(data);

@@ -110,19 +111,60 @@ masternode.registered = new Date();

function obj(input) {
for( var p in input ) {
if( ! (typeof input[p] === 'function' ) ) {
console.log( p+':'+input[p]);
}
}
}
/**
* Notify a device change
* Send a notify
*/
module.exports.notifyDeviceChange = function() {
module.exports.notify = function(data) {
var payload = {
type : data.type,
nodeid : local.id,
device : data.device,
event : data.event,
payload : data.payload,
}
var postData = JSON.stringify(payload);
masterNodes.forEach( function(masternode) {
if(masternode.registered) {
var fullurl = url(masternode, '/keeper/notify?type=device');
log("Device change url : "+fullurl)
http.get(fullurl, function(res) {
log("Device change notify done");
res.resume();
})
.on('error', function(e) {
log("Device change notify error "+e);
var notifyUrl = url(masternode, '/keeper/notify');
log("Notify url : "+notifyUrl);
var connectionData = urlHelper.parse(notifyUrl,true);
obj(connectionData);
var options = {
hostname: connectionData.hostname,
port: connectionData.port,
path: connectionData.path,
method: 'POST',
headers: { 'Content-Type': 'application/json', 'Content-Length': postData.length }
};
var req = http.request(options, function(res) {
log('STATUS: ' + res.statusCode);
log('HEADERS: ' + JSON.stringify(res.headers));
res.setEncoding('utf8');
var data = '';
res.on('data', function (chunk) {
log('PARTIAL BODY: ' + chunk);
data += chunk;
});
res.on('end', function() {
log('COMPLETE BODY: ' + data);
});
req.on('error', function(e) {
log('problem with request: ' + e.message);
});
});
// write data to request body
req.write(postData);
log('Postdata:'+postData);
req.end();
}
});
}
{
"name": "homenode-node",
"version": "0.0.5",
"version": "0.0.6",
"description": "Homenode node library",

@@ -5,0 +5,0 @@ "main": "homenode.js",

@@ -0,0 +0,0 @@ Homenode node

@@ -22,3 +22,3 @@ var log = require('./log.js')('ssdp');

client.search('urn:homenode:device:Master:1');
log("Searching ...");
log("Searching for master ...");
}

@@ -36,11 +36,1 @@ setInterval(search, 10000);

}
// Or maybe if you want to scour for everything after 5 seconds
//setTimeout(function() {
// client.search('ssdp:all')
//}, 5000)
// And after 10 seconds, you want to stop
//setTimeout(function () {
// client.stop()
//}, 10000)

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc