Skip to content
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

[bug] Greenwave Powernode 6 measurements always reported on instance 1 #2792

Closed
3 of 7 tasks
katiuskt opened this issue Jun 6, 2021 · 6 comments · Fixed by #2885
Closed
3 of 7 tasks

[bug] Greenwave Powernode 6 measurements always reported on instance 1 #2792

katiuskt opened this issue Jun 6, 2021 · 6 comments · Fixed by #2885
Labels
device compatibility Work that needs to be done to support non-compliant or legacy devices
Projects

Comments

@katiuskt
Copy link
Contributor

katiuskt commented Jun 6, 2021

Version

Checklist:

  • I am not using HomeAssistant. Or: a developer has told me to come here.
  • I have checked the troubleshooting section and my problem is not described there.
  • I have read the changelog problem was not mentioned there.

Build/Run method

  • Docker
  • PKG
  • Snap package
  • Manually built (git clone - yarn install - yarn run build )

zwavejs2mqtt version: 4.5.1
zwave-js version: 7.7.1

Describe the bug

Two Greenwave Powernode 6 devices. Correctly detected by ZWaveJS2MQTT. Nodes 2 & 12.
Attached information:
zwavejs2mqtt-store.zip

Each socket is expected to update their "Electric Consumed [W]" information into their own instances (NODE-50-X-66049, with X = 1 to 6).

Unfortunately the electric consumed information is updated regularly but instead to be assigned to the proper socket, the information is assigned to X=1

For instance, in my node 12 I have only one device connected at X=3 right now but information of power consumption is updated on 12-50-1-66049, not in 12-50-3-66049
imagen
If I click on "Refresh" button, the 12-50-3-value-66049 is updated and 12-50-1-value-66049 goes to 0 for a few seconds. Until new measurement is received which instead to updated the expected 12-50-3-value-66049 updates the 12-50-1-value-66049.

In my other device (node 2) it happens the same but it could be less obvious because I have devices in a lot of more sockets. But in logs you can see only socket 1 is updated periodically but, based on the power consumptions it is obvious to me some times the reports if for one socket or another.

It seems quite similar to me to the issue reported over OpenZWave stack: OpenZWave/open-zwave#1700 but I don't get the technical discussion on it of how it was solved on that ZWave stack. I'm not sure if it could be helpful for ZWaveJS stack.

kWh information (NODE-50-X-value-65537 Ekectric Consumed kWh) is only updated by polling mechanism so I guess I can do the same to get "W" information updated regularly but, as I said, Electric Consumed (W) information is being sent by device periodically and ZWaveJS is aware of that. The issue is ZWaveJS is assigning the values always to socket 1.

To Reproduce

Steps to reproduce the behavior:

  1. Go to 'Control Panel'
  2. Click on Greenwave PowerStrip 6 Node
  3. Scroll down to 'Meter'
  4. You'll see only NODE-50-1-value-66049 Electric Consumed W is updated regularly although that socket (1) isn't populated

Expected behavior

Each NODE-50-X-value-66049 Electric Consumed W should be updated with the information if its own socket X. X=1 should inform about the electric consumed (W) by socket 1, X=2 should report power consumption of socket 2 and so on.

Additional context

As mentioned above, it seems to me like this issue raised on other ZWave stack: OpenZWave/open-zwave#1700

@AlCalzone
Copy link
Member

Please share a driver log (loglevel debug) which contains a power report from the device.

@AlCalzone AlCalzone transferred this issue from zwave-js/zwave-js-ui Jun 6, 2021
@zwave-js-bot zwave-js-bot added this to Needs triage in Triage Jun 6, 2021
@katiuskt
Copy link
Contributor Author

katiuskt commented Jun 6, 2021

Hi @AlCalzone,
Please find it attached (it was inside the .zip file attached in the opening statement but I've reenabled logging and I've attached an updated one):
zwavejs2mqtt.log

Line 1821: 2021-06-06 22:39:47.329 INFO ZWAVE: Node 12: value updated: 50-1-value-66049 10 => 11.1
Line 1822: 2021-06-06 22:39:56.328 INFO ZWAVE: Node 12: value updated: 50-1-value-66049 11.1 => 9.7
Line 1844: 2021-06-06 22:40:41.332 INFO ZWAVE: Node 12: value updated: 50-1-value-66049 9.7 => 15.9
Line 1845: 2021-06-06 22:40:50.332 INFO ZWAVE: Node 12: value updated: 50-1-value-66049 15.9 => 9.9
Line 1856: 2021-06-06 22:41:17.330 INFO ZWAVE: Node 12: value updated: 50-1-value-66049 9.9 => 11
Line 1857: 2021-06-06 22:41:26.332 INFO ZWAVE: Node 12: value updated: 50-1-value-66049 11 => 9.5
Line 1864: 2021-06-06 22:41:53.333 INFO ZWAVE: Node 12: value updated: 50-1-value-66049 9.5 => 10.7
Line 1876: 2021-06-06 22:42:02.333 INFO ZWAVE: Node 12: value updated: 50-1-value-66049 10.7 => 9.4
Line 1878: 2021-06-06 22:42:11.332 INFO ZWAVE: Node 12: value updated: 50-1-value-66049 9.4 => 11.2
Line 1883: 2021-06-06 22:42:29.333 INFO ZWAVE: Node 12: value updated: 50-1-value-66049 11.2 => 9.8
Line 1889: 2021-06-06 22:45:29.335 INFO ZWAVE: Node 12: value updated: 50-1-value-66049 9.8 => 10.8
Line 1890: 2021-06-06 22:45:38.334 INFO ZWAVE: Node 12: value updated: 50-1-value-66049 10.8 => 9

Please also find the node JSON and debug_info exported from GUI for node 12 (one of my two greenwave powernode 6 devices)
node_12.zip
node_12_debug_info.txt

@AlCalzone
Copy link
Member

@katiuskt
Copy link
Contributor Author

katiuskt commented Jun 7, 2021

Oh, my mistake, sorry!

I get you now. Please find it attached: zwavejs_2021-06-07.log

2021-06-07T07:33:29.705Z CNTRLR [Node 012] [~] [Meter] value[66049]: 9.4 => 10.5 [Endpoint 1]
2021-06-07T07:33:29.705Z SERIAL » [ACK] (0x06)
2021-06-07T07:33:29.706Z DRIVER « [Node 012] [REQ] [ApplicationCommand]
└─[MultiChannelCCCommandEncapsulation]
│ source: 1
│ destination: 3
└─[MeterCCReport]
type: Electric
scale: W
rate type: Consumed
value: 10.5
time delta: 9 seconds
prev. value: 9.5

In case it could be helpful, same log as above plus node 2 (the other greenwave powernode I have, with several devices connected to its sockets): zwavejs_2021-06-07_Nodes12and2.log

@AlCalzone
Copy link
Member

AlCalzone commented Jun 7, 2021

│ source: 1
│ destination: 3

Oh, so the device tells us the report comes from endpoint 1, when in reality it comes from endpoint 3 which it uses as the destination.

We need to implement a compat flag to interpret these incorrect reports differently.

@AlCalzone AlCalzone added the device compatibility Work that needs to be done to support non-compliant or legacy devices label Jun 7, 2021
@katiuskt
Copy link
Contributor Author

katiuskt commented Jun 7, 2021

Thank you very much for your quick answer! It will be really helpful if it could be managed as you said.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
device compatibility Work that needs to be done to support non-compliant or legacy devices
Projects
No open projects
Triage
Closed
Development

Successfully merging a pull request may close this issue.

3 participants