From 062af428a8b8a8a87be79fce8da1732830f53382 Mon Sep 17 00:00:00 2001 From: sen Date: Sun, 5 Oct 2014 19:45:10 -0400 Subject: [PATCH 1/2] Implemented Scene Events and Node Events, to support the Leviton scene controllers. --- src/openzwave.cc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/openzwave.cc b/src/openzwave.cc index 0939480..78246bf 100644 --- a/src/openzwave.cc +++ b/src/openzwave.cc @@ -402,6 +402,24 @@ void async_cb_handler(uv_async_t *handle, int status) args[2] = Integer::New(notif->notification); MakeCallback(context_obj, "emit", 3, args); break; + /* + * A node event (including scene deactivation) + */ + case OpenZWave::Notification::Type_NodeEvent: + args[0] = String::New("node event"); + args[1] = Integer::New(notif->nodeid); + args[2] = Integer::New(notif->event); + MakeCallback(context_obj, "emit", 3, args); + break; + /* + * A scene activation + */ + case OpenZWave::Notification::Type_SceneEvent: + args[0] = String::New("scene event"); + args[1] = Integer::New(notif->nodeid); + args[2] = Integer::New(notif->sceneid); + MakeCallback(context_obj, "emit", 3, args); + break; /* * Send unhandled events to stderr so we can monitor them if * necessary. From 7e1efa8745a761fe0eda0cc9dabdb0bc260cd285 Mon Sep 17 00:00:00 2001 From: sen Date: Sun, 5 Oct 2014 19:54:34 -0400 Subject: [PATCH 2/2] Adding support for scene events and node events to the test/example code. --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 2067cb5..3e4e13b 100644 --- a/README.md +++ b/README.md @@ -296,6 +296,14 @@ zwave.on('scan complete', function() { console.log('scan complete, hit ^C to finish.'); }); +zwave.on('node event', function(nodeid, eventid) { + console.log('node%d: node event %d', nodeid, eventid); +}); + +zwave.on('scene event', function(nodeid, sceneid) { + console.log('node%d: scene %d activated', nodeid, sceneid); +}); + zwave.connect(); process.on('SIGINT', function() {