-
Notifications
You must be signed in to change notification settings - Fork 11
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
tank config parameters can’t be set in some situations #1899
Comments
Can this issue be clarified a bit: when you say "tank config parameters can't be set" do you mean that you never get the option to set them (i.e. PageTankSetup.qml doesn't show the "Averaging Time" (/FilterLength) value, OR do you mean that you get the option to set them but when you change the value it doesn't "stick"? Regardless, some weird stuff is going on. I'll need to talk to @blammit to understand this better, I think.
and this is just coming from a VeQItemTableModel so I would normally assume those paths must be enumerated from dbus.
i.e. none of the null valued paths (except for Serial) are present. I also double checked by introspecting with dbus-send directly:
i.e. no FilterLength node exists in the introspection data. Similarly, calling GetItems didn't return any FilterLength value:
So my question is: how is that debug page getting the FilterLength node / list entry value to show?
It went away after I rebooted the cerbogx, so maybe this was leftover from a previous demo mode selection, and somehow the VeQItemTableModel didn't refresh its values properly? |
Hi @chriadam :
The issue is that it doesn't stick. Its super easy to reproduce, you'll see it immediately (but make sure to do it on an actual device rather than wasm in a browser). The popup that allows changing the value opens, then press + or - to change it, press save, and you'll see that nothing happens. I've seen that happen on the averaging time setting, as well as high and low alarm thresholds. Possibly the same can happen on other fields as well. |
Reproduced by Daniel, by enabling a tank input on a Cerbo or Ekrano. So to reproduce you need to not only (a) do it on a physical device but also make sure to (b) use a real tank input. As opposed to using the demo mode |
@mpvader I don't think the problem is in gui-v2. I see the same problem in gui-v1. I can't change the 'averaging time' to a new value in gui-v1 either (v3.60~25). I debugged this down to the level of seeing the There is a callback function |
Hi that is strange. Especially because it works fine when using gui-v2 over mqtt/wasm. I’ll get someone from the venus os team to look into this. |
@mpvader FYI I can't reproduce this in gui-v1 v3.54, but I can reproduce the issue in gui-v1 For gui-v2, i can reproduce with both v3.54 and I'll keep digging |
The canbus tank sensors don't have the filter length and alarm functions. Those entries ought to be hidden in the gui. |
as discussed elsewhere, thats not the issue. I've reproduced the issue myself, Mans will contact me if he can't. |
Video showing the issue in gui-v1 v3.60~25: |
Only when using a dbus backend connection, and no decimals are being used Fixes #1899
Only when using a dbus backend connection, and with 0 decimals Fixes #1899
The problem is that the gui now sends a value of type double which is rejected somewhere. A change similar to the one above for gui-v2 makes the problem go away:
Perhaps someone more familiar with the ins and outs of those components can suggest the best way to fix this. |
When writing values to dbus, if the underlying dbus type is 'integer', convert the new value to 'integer' before sending the message to dbus. Fixes #1899
When writing values to dbus, if the underlying dbus type is 'integer', convert the new value to 'integer' before sending the message to dbus. Fixes #1899
When writing values to dbus, if the underlying dbus type is 'integer', convert the new value to 'integer' before sending the message to dbus. Fixes #1899
When writing values to dbus, if the underlying dbus type is 'integer', convert the new value to 'integer' before sending the message to dbus. Fixes #1899
When writing values to dbus, if the underlying dbus type is 'integer', convert the new value to 'integer' before sending the message to dbus. Fixes #1899
When writing values to dbus, if the underlying dbus type is 'integer', convert the new value to 'integer' before sending the message to dbus. Fixes #1899
Otherwise, builds fail on windows. Part of #1899
Otherwise, builds fail on windows. Part of #1899
Otherwise, builds fail on windows. Part of #1899
When writing values to dbus, if the underlying dbus type is 'integer', convert the new value to 'integer' before sending the message to dbus. Fixes #1899
Otherwise, builds fail on windows. Part of #1899
Affects low and high alarm levels and averaging time, and perhaps more fields.
Tank capacity seems to be not affected.
Its a bit weird where it does and does not reproduce:
(Updated on 2025-2-13)
The text was updated successfully, but these errors were encountered: