-
-
Notifications
You must be signed in to change notification settings - Fork 626
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not all values are returned by getDefinedValueIDs #1184
Comments
I do see values for the individual endpoints. Not every endpoint has the same functionality. Which values are expected that aren't present here? |
Those that comes immediatly after the node ready:
You right, seems this only happens with Multilevel sensors values so Could it be a cache problem or what else? Why them are not presend in defined values when node is ready? |
Since it is a value updated event, not a value added event, they should already be there. Are they not returned with |
Nope, them are not returned or you would see them also in value added. That's the strange thing |
Can you ask for the cache files please, so I can try to reproduce this in a test? |
Just for reference https://github.com/zwave-js/zwavejs2mqtt/blob/master/lib/ZwaveClient.js#L284 Here is where I add all values when I receive the node ready event, and I would expect to have all the valueIds at that point. |
According to the cached information, Node 3 doesn't support Multilevel Sensor CC, therefore |
@AlCalzone restart or refresh node? |
Refresh node, that resets the information we know about the node, including the supported CCs. |
@AlCalzone Seems only node 2 and 7 are reporting 0x31 as supported CC. So we should add a compact flag for this? @roflmao Could you add the hex identifier of this device? You can find it in control panle when you select a node near the device id |
Device ID: 411-515-3 (0x019b-0x0203-0x0003) |
Seems like OZW specifically adds the CC and its values through the config files. Wonder if the device will respond to requests though. |
Based on my little experience in issues here I say that it may work :) It's like the stopLevelChange that was reported as unsupported and then just by sending it without checks works 🤷♂️ |
That was different. Sending it with Supervision was unsupported. The command itself is supported or the zwave-js method would throw immediately. |
@roflmao could you try the |
I still get the same in the logs and now the device isnt identified:
|
Hmm, seems it doesn't find the device config file now. I'll investigate. |
@AlCalzone same goes for master |
Hmm, I can't reproduce the behavior in tests where the file is loaded correctly. Only the changes were not applied because I forgot a line, but that shouldn't cause the lookup to fail. Are you sure that the dependencies are included correctly? |
EDIT: forgot node_modules doesnt show versions. node_modules: Or test with docker image: roflmao/zwavejs2mqtt:compat-add-cc (running node-zwave-js from branch and zwavejs2mqtt from master) |
Maybe this helps (npm ls --json output) |
The libraries seem ok, although I'm not sure how the symlinks in the zwave-js workspace are displayed there. Since it works on my machine (and I can't test whats going on without your device), I guess you'll need to add some logging: // lines 113-114:
- if (!(await fs_extra_1.pathExists(filePath)))
- return;
+ if (!(await fs_extra_1.pathExists(filePath))) {
+ Logger_1.default.config.print(`${filePath} does not exist`, "error");
+ return;
+ }
// before line 111
+ if (!indexEntry) Logger_1.default.config.print(`did not find device config for ${manufacturerId}, ${productType}, ${productId}, ${firmwareVersion}`, "error"); |
Ok, just located an error with the latest Dockerfile.contrib dependency-wise. Here it is with correct zwave-js branch |
@roflmao Could you also give a check to z2m master now? I have submitted a fix that may fix some discovery issues |
@roflmao Could you also tell me something? :) Better ? Worse? same? new errors? |
@robertsLando Haha, sorry! Its the same it looks to me. First unable to climate, then climate discovered. |
Ok I see the error is still there but it's a device compatibility error as that CC isn't reported as supported. Once fixed you should not see that error on console :) |
That's what the mentioned branch should fix. I'll take a look at the logs later to see if I can recognize a problem. |
@roflmao it looks a bit better:
but the additional CCs still don't show up in the network cache. Is your test based on the latest commit of the branch? |
So, I tested locally and modified a config file to add a non-supported CC to the list. Here's my MultiSensor 6 cache file after the interview:
so it does seem to work. |
Ok my sha tracking has been very much needed so i hacked together something:
Confirming:
Logs: |
Hmmm. I still don't see changes to the network cache file. I guess there's no way that you can step through |
Sure, just tell me how :) |
The docker part makes it harder - maybe @robertsLando has some insight? |
@AlCalzone Im up for anything, debug statements, remote shell etc. |
Not sure if this is related, I also have an Aeotec Multisensor 6, just started testing with it today. |
They are defined in the config file, so my guess is that reading them from the device failed. However I can't say for sure without logs. |
@roflmao did you have some success with the debugger yet? |
@AlCalzone Sorry but ive been busy with dead nodes in my network so need to get it up and running first. Also im not so familiar with vscode but ill try when i get the time |
After some digging into this problem I discovered that when the
node ready
event is triggered if I callzwaveNode.getDefinedValueIDs()
that doesn't return all valueids, expecially seems that for this specific device it is missing the valueIds for endpoints > 0:Ref: zwave-js/zwave-js-ui#38 (comment)
The text was updated successfully, but these errors were encountered: