Devices Positions Showing null%?

Bit of a strange issue. I have 6 devices that should (and have been) showing position status. 5 are Qubino Flush Shutter Modules (curtains) and 1 is a Fibaro Roller Shutter 3 (garage door). Suddenly they are all showing null% on their respective tiles on all of my dashboards (I have different dashboards on each device).

The devices all still open/close from the dash but the position slider will no longer work. If I open or close a curtain using the dash tile I can see the position update correctly on the Hubitat device page. I’ve tried logging out and in of Sharptools on the dashboards, rebooting the Hubitat etc to no avail. Does anyone have any ideas? Thanks

Edit: I’ve checked the logs for Sharptools in Hubitat and can see that the position changes are being successfully posted to sharptools.IO. Is this a Sharptools issue?

Hey John - thanks for posting. Would you mind sharing a screenshot of the device states as reported in Hubitat?

We rolled out a change to the Window Shade tile earlier this week to support the position attribute in Hubitat (if it exists on the device). So for Hubitat devices, the position attribute will be favored over the level attribute now if it’s available.

Hi Josh. As requested - screenshot of one of the devices after opening and the the info in the log:

Screenshot 2021-10-01 at 22.06.14

Thanks for the additional details! What device driver is being used here?

That one is using Hubitats own “Qubino Shutter Module” My garage door connected to a Fibaro Roller Shutter 3 is using a community driver “Fibaro FGR-223” and that also shows “null”

Thanks for clarifying. I’ll take a look and see if we can clean up the compatibility layer. If you’re curious on the details, feel free to read on. :smiley:

So the Window Shade capability in Hubitat requires that the position attribute and the setPosition() method are implemented (docs).

When we first implemented the Window Shade tile, the standard from SmartThings and within the Hubitat community was to use level and setLevel(), so that’s what we went with. We had some requests to implement position/setPosition() since that’s the officially documented capability set and some newer drivers were only implementing that.

We updated the Window Shade tile to prefer position only if it exists, but I think what’s happening is the capability is implicitly defining the position attribute even though these particular drivers never end up generating a state event for that attribute. So while these devices are ‘technically’ out of spec from the capability, I think we’ll probably add another check that looks to see if the position attribute exists and state has been generated for it since there’s some community legacy here.

1 Like

Thanks for the info Josh. As the icon changes state (open shade to closed shade) immediately when the tile is touched on the dash (rather than when it has actually closed), I’m reliant on seeing the percentage change from 99 to 0 as that doesn’t update until the motor stops at the end off its movement. It’s the only way I can be confident the action was successful. I briefly trialled AT when I used SmartThings and that had additional states where I could animate the icon closed, opening, open, closing so I knew in real time where it was.

I’ve just edited one of the tiles to “switch level tile”, used the same icons and switched off the glow attribute. That seems to make it work as it used to, with the exception that I now briefly get a warning triangle on the tile. Also when I want to set the position the pop up will show “Dim Lounge Curtain”. I’m not sure if setting it that way will have any other adverse effects.

Sent you a PM just a few minutes ago. I pushed a fix to beta. :smiley:

1 Like

That looks to resolve it. A quick response and fantastic support again from SharpTools. Thank you so much :grinning:

1 Like