Skip to content

Commit 1f1ae42

Browse files
authored
Merge pull request #304 from OpenZWave/vibr77-master
Vibr77 master
2 parents 947cc05 + 30185be commit 1f1ae42

File tree

5 files changed

+165
-12
lines changed

5 files changed

+165
-12
lines changed

src/callbacks.cc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -440,9 +440,10 @@ void handleNotification(NotifInfo *notif)
440440
* application should rebuild any group information it
441441
* holds about the node.
442442
*/
443-
emitinfo[0] = Nan::New<String>("group").ToLocalChecked();
444-
emit_cb->Call(Nan::New(ctx_obj), 1, emitinfo, resource);
445-
break;
443+
emitinfo[0] = Nan::New<String>("node group").ToLocalChecked();
444+
emitinfo[1] = Nan::New<Integer>(notif->nodeid);
445+
emit_cb->Call(Nan::New(ctx_obj), 2, emitinfo, resource);
446+
break;
446447
}
447448
#if OPENZWAVE_16
448449
// ##############

src/openzwave-nodes.cc

Lines changed: 120 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,126 @@ namespace OZW {
282282
OZWManagerAssign(result, IsNodeSecurityDevice, homeid, nodeid);
283283
info.GetReturnValue().Set(Nan::New<Boolean>(result));
284284
}
285-
285+
286+
// ===================================================================
287+
NAN_METHOD(OZW::GetNodePlusTypeString)
288+
// ===================================================================
289+
{
290+
Nan::HandleScope scope;
291+
CheckMinArgs(1, "nodeid");
292+
uint8 nodeid = Nan::To<Number>(info[0]).ToLocalChecked()->Value();
293+
std::string result = OpenZWave::Manager::Get()->GetNodePlusTypeString(homeid, nodeid);
294+
info.GetReturnValue().Set(Nan::New<String>(result.c_str()).ToLocalChecked());
295+
}
296+
/*
297+
*
298+
*/// ===================================================================
299+
NAN_METHOD(OZW::GetNodeRoleString)
300+
// ===================================================================
301+
{
302+
Nan::HandleScope scope;
303+
CheckMinArgs(1, "nodeid");
304+
uint8 nodeid = Nan::To<Number>(info[0]).ToLocalChecked()->Value();
305+
std::string result = OpenZWave::Manager::Get()->GetNodeRoleString(homeid, nodeid);
306+
info.GetReturnValue().Set(Nan::New<String>(result.c_str()).ToLocalChecked());
307+
}
308+
/*
309+
*
310+
*/// ===================================================================
311+
NAN_METHOD(OZW::GetNodePlusType)
312+
// ===================================================================
313+
{
314+
Nan::HandleScope scope;
315+
CheckMinArgs(1, "nodeid");
316+
uint8 nodeid = Nan::To<Number>(info[0]).ToLocalChecked()->Value();
317+
uint8 result = OpenZWave::Manager::Get()->GetNodePlusType(homeid, nodeid);
318+
info.GetReturnValue().Set(Nan::New<Integer>(result));
319+
}
320+
/*
321+
*
322+
*/// ===================================================================
323+
NAN_METHOD(OZW::GetNodeRole)
324+
// ===================================================================
325+
{
326+
Nan::HandleScope scope;
327+
CheckMinArgs(1, "nodeid");
328+
uint8 nodeid = Nan::To<Number>(info[0]).ToLocalChecked()->Value();
329+
uint8 result = OpenZWave::Manager::Get()->GetNodeRole(homeid, nodeid);
330+
info.GetReturnValue().Set(Nan::New<Integer>(result));
331+
}
332+
/*
333+
*
334+
*/// ===================================================================
335+
NAN_METHOD(OZW::GetNodeDeviceTypeString)
336+
// ===================================================================
337+
{
338+
Nan::HandleScope scope;
339+
CheckMinArgs(1, "nodeid");
340+
uint8 nodeid = Nan::To<Number>(info[0]).ToLocalChecked()->Value();
341+
std::string result = OpenZWave::Manager::Get()->GetNodeDeviceTypeString(homeid, nodeid);
342+
info.GetReturnValue().Set(Nan::New<String>(result.c_str()).ToLocalChecked());
343+
}
344+
/*
345+
*
346+
*/// ===================================================================
347+
NAN_METHOD(OZW::GetNodeDeviceType)
348+
// ===================================================================
349+
{
350+
Nan::HandleScope scope;
351+
CheckMinArgs(1, "nodeid");
352+
uint8 nodeid = Nan::To<Number>(info[0]).ToLocalChecked()->Value();
353+
uint16 result = OpenZWave::Manager::Get()->GetNodeDeviceType(homeid, nodeid);
354+
info.GetReturnValue().Set(Nan::New<Integer>(result));
355+
}
356+
/*
357+
*
358+
*/// ===================================================================
359+
NAN_METHOD(OZW::IsNodeFailed)
360+
// ===================================================================
361+
{
362+
Nan::HandleScope scope;
363+
CheckMinArgs(1, "nodeid");
364+
uint8 nodeid = Nan::To<Number>(info[0]).ToLocalChecked()->Value();
365+
bool result = OpenZWave::Manager::Get()->IsNodeFailed(homeid, nodeid);
366+
info.GetReturnValue().Set(Nan::New<Boolean>(result));
367+
}
368+
/*
369+
*
370+
*/// ===================================================================
371+
NAN_METHOD(OZW::IsNodeAwake)
372+
// ===================================================================
373+
{
374+
Nan::HandleScope scope;
375+
CheckMinArgs(1, "nodeid");
376+
uint8 nodeid = Nan::To<Number>(info[0]).ToLocalChecked()->Value();
377+
bool result = OpenZWave::Manager::Get()->IsNodeAwake(homeid, nodeid);
378+
info.GetReturnValue().Set(Nan::New<Boolean>(result));
379+
}
380+
/*
381+
*
382+
*/// ===================================================================
383+
NAN_METHOD(OZW::IsNodeInfoReceived)
384+
// ===================================================================
385+
{
386+
Nan::HandleScope scope;
387+
CheckMinArgs(1, "nodeid");
388+
uint8 nodeid = Nan::To<Number>(info[0]).ToLocalChecked()->Value();
389+
bool result = OpenZWave::Manager::Get()->IsNodeInfoReceived(homeid, nodeid);
390+
info.GetReturnValue().Set(Nan::New<Boolean>(result));
391+
}
392+
/*
393+
*
394+
*/
395+
// ===================================================================
396+
NAN_METHOD(OZW::GetNodeQueryStage)
397+
// ===================================================================
398+
{
399+
Nan::HandleScope scope;
400+
CheckMinArgs(1, "nodeid");
401+
uint8 nodeid = Nan::To<Number>(info[0]).ToLocalChecked()->Value();
402+
std::string result = OpenZWave::Manager::Get()->GetNodeQueryStage(homeid, nodeid);
403+
info.GetReturnValue().Set(Nan::New<String>(result.c_str()).ToLocalChecked());
404+
}
286405
/*
287406
*
288407
*/

src/openzwave.cc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,16 @@ namespace OZW {
136136
Nan::SetPrototypeMethod(t, "setNodeManufacturerName", OZW::SetNodeManufacturerName); // ** new
137137
Nan::SetPrototypeMethod(t, "getNodeProductName", OZW::GetNodeProductName); // ** new
138138
Nan::SetPrototypeMethod(t, "setNodeProductName", OZW::SetNodeProductName); // ** new
139+
140+
Nan::SetPrototypeMethod(t, "isNodeInfoReceived", OZW::IsNodeInfoReceived); // ** new
141+
Nan::SetPrototypeMethod(t, "isNodeAwake", OZW::IsNodeAwake); // ** new
142+
Nan::SetPrototypeMethod(t, "isNodeFailed", OZW::IsNodeFailed); // ** new
143+
Nan::SetPrototypeMethod(t, "getNodeDeviceType", OZW::GetNodeDeviceType); // ** new
144+
Nan::SetPrototypeMethod(t, "getNodeRole", OZW::GetNodeRole); // ** new
145+
Nan::SetPrototypeMethod(t, "getNodeRoleString", OZW::GetNodeRoleString); // ** new
146+
Nan::SetPrototypeMethod(t, "getNodePlusType", OZW::GetNodePlusType); // ** new
147+
Nan::SetPrototypeMethod(t, "getNodePlusTypeString", OZW::GetNodePlusTypeString); // ** new
148+
Nan::SetPrototypeMethod(t, "getNodeQueryStage", OZW::GetNodeQueryStage); // ** new
139149
// getters
140150
Nan::SetPrototypeMethod(t, "getNodeMaxBaudRate", OZW::GetNodeMaxBaudRate); // ** new
141151
Nan::SetPrototypeMethod(t, "getNodeVersion", OZW::GetNodeVersion); // ** new

src/openzwave.hpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,17 @@ namespace OZW {
135135
static NAN_METHOD(SetNodeManufacturerName);
136136
static NAN_METHOD(GetNodeProductName);
137137
static NAN_METHOD(SetNodeProductName);
138+
139+
static NAN_METHOD(IsNodeInfoReceived);
140+
static NAN_METHOD(IsNodeAwake);
141+
static NAN_METHOD(IsNodeFailed);
142+
static NAN_METHOD(GetNodeDeviceType);
143+
static NAN_METHOD(GetNodeRole);
144+
static NAN_METHOD(GetNodeRoleString);
145+
static NAN_METHOD(GetNodePlusType);
146+
static NAN_METHOD(GetNodePlusTypeString);
147+
static NAN_METHOD(GetNodeQueryStage);
148+
static NAN_METHOD(GetNodeDeviceTypeString);
138149
// plain getters
139150
static NAN_METHOD(GetNodeMaxBaudRate);
140151
static NAN_METHOD(GetNodeVersion);

src/utils.cc

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -110,15 +110,27 @@ namespace OZW {
110110
break;
111111
}
112112
case OpenZWave::ValueID::ValueType_List: {
113-
::std::string val;
114-
::std::vector < ::std::string > items;
115-
// populate array of all available items in the list
113+
int32 val;
114+
std::vector < std::string > items;
115+
std::vector < int32> itemsvalues;
116+
117+
// populate array of all available items in the list
116118
OZWManager( GetValueListItems, value, &items);
117-
AddArrayOfStringProp(valobj, values, items);
118-
// populated selected element
119-
OZWManager( GetValueListSelection, value, &val);
120-
AddStringProp(valobj, value, val.c_str())
121-
break;
119+
OZWManager( GetValueListValues, value, &itemsvalues);
120+
121+
for (int i = 0; (unsigned)i != items.size(); i++){
122+
//items[i]=std::to_string(itemsvalues[i])+"|"+items[i];
123+
124+
std::stringstream sstm;
125+
sstm << itemsvalues[i] << "|" << items[i];
126+
items[i] = sstm.str();
127+
}
128+
129+
AddArrayOfStringProp(valobj, values, items);
130+
// populated selected element
131+
OZWManager( GetValueListSelection, value, &val);
132+
AddIntegerProp(valobj, value, val);
133+
break;
122134
}
123135
case OpenZWave::ValueID::ValueType_Short: {
124136
int16 val;

0 commit comments

Comments
 (0)