Zwave2Mqtt icon indicating copy to clipboard operation
Zwave2Mqtt copied to clipboard

verify changes doesn't do anything [bug]

Open ve6rah opened this issue 5 years ago • 17 comments

Version 3.2.2

Build/Run method

  • [ ] Docker
  • [ ] PKG
  • [ ] Manually built (git clone - npm install - npm run build )

Zwave2Mqtt version: 3.2.2 Openzwave Version: 1.6.974

Describe the bug I have a dimmer module which takes time to transition from one state to another, but the value updates before the transition finishes. In HomeAssistant's zwave configuration this was easily solved by setting "refresh_value: true" with "delay: 3". In zwave2mqtt I've been told that setting "verify changes" in the device table of the gateway is the equivalent, however that toggle does nothing at all.

Expected behavior verify changes should verify that the changes have been properly applied to the node by refreshing the node after a short delay.

ve6rah avatar Jun 01 '20 23:06 ve6rah

Could you show me how you configured that? You have to add the value to the gateway values table and enable the toggle

robertsLando avatar Jun 03 '20 06:06 robertsLando

This is the configuration in the value table: Screenshot 2020-06-03 at 15 47 11 Screenshot 2020-06-03 at 15 49 08

When the light is off and I send a level of 255 through MQTT the light starts it's fade in, and I get an immediate response of the level it has faded to so far (usually about 5 or so, but the number varies), If the light is fully on, and I send a level of 0 through MQTT again it is almost instantaneous, and shows the value at that time, not the end value of the fade.

ve6rah avatar Jun 03 '20 21:06 ve6rah

What I would really like is a setting like HA has where you basically tell it "after sending any command to this device, wait ___ seconds, and then request an updated value" This would make dealing with devices with slow or fading actions much more usable.

ve6rah avatar Jun 03 '20 21:06 ve6rah

this is a feature i'm also interested in. i'm going to test the Verify Changes and see what it does.

chilicheech avatar Sep 08 '20 15:09 chilicheech

What I would really like is a setting like HA has where you basically tell it "after sending any command to this device, wait ___ seconds, and then request an updated value" This would make dealing with devices with slow or fading actions much more usable.

We could add a Request updates flag to do this. What do you think? @chilicheech @ve6rah

robertsLando avatar Sep 14 '20 13:09 robertsLando

@robertsLando that sounds good. We should also be able to specify a delay for said request (ideal is the minimum time possible, but that varies per device, so making it user configurable would help).

On a side note, what is verify changes supposed to do if not this? I've seen no effect to this toggle.

ve6rah avatar Sep 14 '20 14:09 ve6rah

AFAIK that flag should verify if a value change is a real value change, for example if the switch is on and I receive another value change with on value That is not emitted

robertsLando avatar Sep 14 '20 14:09 robertsLando

Folks, since I needed this feature I tested the Verify Changes seeing and it does exactly that. From what I understand, when you set the dinner value, this setting makes it so zwave keeps querying the value until it stops changing. So this effectively solves what we're trying to do. @ve6rah can you try it out? It works well for me.

chilicheech avatar Sep 14 '20 15:09 chilicheech

@chilicheech the whole reason I started this bug is because it specifically did not do that for me.

ve6rah avatar Sep 14 '20 15:09 ve6rah

@ve6rah I see you're running Zwave2Mqtt version: 3.2.2, Openzwave Version: 1.6.974.. can you upgrade to the latest version and test again? Zwave2Mqtt version: 4.0.3, Openzwave Version: 1.6.1240

Another thing to note is I also have polling enabled for my dimmers. So, it may be that Verify Changes only works when polling is enabled.

chilicheech avatar Sep 14 '20 15:09 chilicheech

Found some documentation on this: http://www.openzwave.com/dev/classOpenZWave_1_1Manager.html#ac26cc3c1b37cf068ac9eee23ef343c30

Per the docs it looks like it only polls 1 time after the value changes. If that's the case the we may want to implement something that will poll after a certain delay like home assistant does.

chilicheech avatar Sep 14 '20 16:09 chilicheech

@chilicheech That is consistent with my experience. It polls once very shortly after the change, but as the dimmer is still in transition at that time, it gets that transitional value, and not the final value.

I believe the correct solution is as @robertsLando suggests.

As for updating, according to HASSOS, I am on the most recent version, so I'm not entirely certain how to upgrade further.

ve6rah avatar Sep 14 '20 16:09 ve6rah

@ve6rah regarding upgrading, I meant upgrade ZWave2MQTT, not Hassio. Did you install Z2M as an Add On in Hassio? If so, then you're stuck at the version of the add on in there. It looks like they upgraded to 4.0.2 recently: https://github.com/hassio-addons/addon-zwave2mqtt

And yeah, I'm ok with building the new feature.

chilicheech avatar Sep 14 '20 16:09 chilicheech

@chilicheech Yes, it's an addon to HassOS, the addon states it is at it's most recent version already. It appears that the add-on has recently updated to 4.0.2, however they haven't published a new release yet with that new version. I don't see any way on HassOS to update to an unreleased version of the addon, so I think I'm stuck for now.

ve6rah avatar Sep 14 '20 17:09 ve6rah

This issue is stale because it has been open 90 days with no activity. Remove the stale label or comment or this will be closed in 5 days. To ignore this issue entirely you can add the no-stale label

github-actions[bot] avatar Dec 14 '20 00:12 github-actions[bot]

I don't think anything had changed on this issue. Still seeing problems.

ve6rah avatar Dec 14 '20 00:12 ve6rah

@ve6rah Could you give a try to: https://github.com/zwave-js/zwavejs2mqtt#why-zwavejs

robertsLando avatar Dec 14 '20 08:12 robertsLando