jperkin / node-openzwave

node.js interface to libopenzwave
Other
110 stars 55 forks source link

updated OpenZWave to v1.3.1008 + setConfigParam #45

Closed gvdhoven closed 4 years ago

nguyer commented 9 years ago

Hi there! I'm trying to get this project working using the latest version of OpenZWave also. I tried building your fork on Mac OS 10.10 and it fails to compile OpenZWave. Have you tried it on a Mac?

gvdhoven commented 9 years ago

No i haven't actually; but have you tried my latest commits (e.g. not the pull request) I haven't had time to build it, but i will try to (re)build it tonight.

On 4-2-2015 17:15, Nicko Guyer wrote:

Hi there! I'm trying to get this project working using the latest version of OpenZWave also. I tried building your fork on Mac OS 10.10 and it fails to compile OpenZWave. Have you tried it on a Mac?

— Reply to this email directly or view it on GitHub https://github.com/jperkin/node-openzwave/pull/45#issuecomment-72883905.

nguyer commented 9 years ago

Yeah, I was building your master branch in your fork of this project. Here's what happens:

../src/openzwave.cc:1005:20: error: out-of-line definition of 'RequestConfigParam' does not match any declaration in '<anonymous>::OZW'; did you mean 'GetConfigParam'? Handle<Value> OZW::RequestConfigParam(const Arguments& args) ^~~~~~~~~~~~~~~~~~ GetConfigParam ../src/openzwave.cc:60:23: note: 'GetConfigParam' declared here static Handle<Value> GetConfigParam(const Arguments& args); ^ ../src/openzwave.cc:1139:1: error: extraneous closing brace ('}') } ^ 9 warnings and 2 errors generated.

nguyer commented 9 years ago

So, I tried changing the .cc file as suggested. I changed RequestConfigParam to GetConfigParam on line 1005, and I removed line 1139. It compiles without error, however, when I my app now I get the following:

module.js:356
  Module._extensions[extension](this, filename);
                               ^
Error: dlopen(/Users/nguyer/Code/zwave/node_modules/openzwave/build/Release/openzwave.node, 1): Symbol not found: _ozw_vers_major
  Referenced from: /Users/nguyer/Code/zwave/node_modules/openzwave/build/Release/openzwave.node
  Expected in: dynamic lookup

    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/Users/nguyer/Code/zwave/node_modules/openzwave/lib/openzwave.js:17:13)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
gvdhoven commented 9 years ago

Can you try again by fetching my latest?

On 4-2-2015 18:48, Nicko Guyer wrote:

So, I tried changing the .cc file as suggested. I changed |RequestConfigParam| to |GetConfigParam| on line 1005, and I removed line 1139. It compiles without error, however, when I my app now I get the following:

|module.js:356 Module._extensions[extension](this, filename); ^ Error: dlopen(/Users/nguyer/Code/zwave/node_modules/openzwave/build/Release/openzwave.node, 1): Symbol not found: _ozw_vers_major Referenced from: /Users/nguyer/Code/zwave/node_modules/openzwave/build/Release/openzwave.node Expected in: dynamic lookup

 at Module.load (module.js:356:32)
 at Function.Module._load (module.js:312:12)
 at Module.require (module.js:364:17)
 at require (module.js:380:17)
 at Object.<anonymous> (/Users/nguyer/Code/zwave/node_modules/openzwave/lib/openzwave.js:17:13)
 at Module._compile (module.js:456:26)
 at Object.Module._extensions..js (module.js:474:10)
 at Module.load (module.js:356:32)
 at Function.Module._load (module.js:312:12)
 at Module.require (module.js:364:17)

— Reply to this email directly or view it on GitHub https://github.com/jperkin/node-openzwave/pull/45#issuecomment-72902579.

nguyer commented 9 years ago

Compilation errors are fixed now. Thanks! I'm still getting Symbol not found: _ozw_vers_major when I run my app though.

gvdhoven commented 9 years ago

Ok my version builds now, and my app starts. Don't know if it works for you but please let me know.

nguyer commented 9 years ago

Awesome. My app starts now too! However, all of my devices are showing up as "generic". None of the manufacturer or product IDs are showing up, and a lot of command classes are missing. It also seems to do its initial network scan really fast when it starts up now. What could I be missing?

gvdhoven commented 9 years ago

No idea, my (only) device works, however one time i see more command classes then the next time i start the script... I am also investigating it.

On 4-2-2015 20:57, Nicko Guyer wrote:

Awesome. My app starts now too! However, all of my devices are showing up as "generic". None of the manufacturer or product IDs are showing up, and a lot of command classes are missing. It also seems to do its initial network scan really fast when it starts up now. What could I be missing?

— Reply to this email directly or view it on GitHub https://github.com/jperkin/node-openzwave/pull/45#issuecomment-72926629.

nguyer commented 9 years ago

This is getting pretty deep into the guts of OpenZWave for me, but my log file seems to indicate that it's not picking up the response from the nodes when the controller requests their info (even though it receives something).

2015-02-06 19:04:40.394 Info, Node004, Sending (Query) message (Callback ID=0x00, Expected Reply=0x49) - Request Node Info (Node=4): 0x01, 0x04, 0x00, 0x60, 0x04, 0x9f
2015-02-06 19:04:40.396 Detail, Node004,   Received: 0x01, 0x04, 0x01, 0x60, 0x00, 0x9a
2015-02-06 19:04:40.396 Detail, 
2015-02-06 19:04:40.396 Info, Node004, FUNC_ID_ZW_REQUEST_NODE_INFO Request failed.
2015-02-06 19:04:40.396 Detail, 
2015-02-06 19:04:40.396 Info, Node004, Sending (Query) message (Attempt 2, Callback ID=0x00, Expected Reply=0x49) - Request Node Info (Node=4): 0x01, 0x04, 0x00, 0x60, 0x04, 0x9f
2015-02-06 19:04:40.398 Detail, Node004,   Received: 0x01, 0x04, 0x01, 0x60, 0x00, 0x9a
2015-02-06 19:04:40.398 Detail, 
2015-02-06 19:04:40.398 Info, Node004, FUNC_ID_ZW_REQUEST_NODE_INFO Request failed.
2015-02-06 19:04:40.398 Detail, 
2015-02-06 19:04:40.398 Info, Node004, Sending (Query) message (Attempt 3, Callback ID=0x00, Expected Reply=0x49) - Request Node Info (Node=4): 0x01, 0x04, 0x00, 0x60, 0x04, 0x9f
2015-02-06 19:04:40.400 Detail, Node004,   Received: 0x01, 0x04, 0x01, 0x60, 0x00, 0x9a
2015-02-06 19:04:40.400 Detail, 
2015-02-06 19:04:40.400 Info, Node004, FUNC_ID_ZW_REQUEST_NODE_INFO Request failed.
2015-02-06 19:04:40.400 Error, Node004, ERROR: Dropping command, expected response not received after 3 attempt(s)
2015-02-06 19:04:40.400 Detail, Node004, Removing current message
2015-02-06 19:04:40.400 Detail, Node004, Query Stage Complete (NodeInfo)
nguyer commented 9 years ago

I updated the OpenZWave to 1.3.1013 and it appears to be working now! I'll do a little more testing, but it appears to work even better than before. i.e. I can actually change the mode on my thermostats now :)

nguyer commented 9 years ago

As a follow up, it appears that the scan is still somewhat broken. If I perform a scan with the current master branch (not of your pull request) and tell it to save the config, then I switch to the latest version of OpenZWave on your fork, everything is happy. So what changed related to scanning between those two versions?