New feature *Signal Strength* or connection status

Feature description
Zigbee models by default return a value corresponding to the connection quality with the server or central point. I imagine it’s the same with Z-wave and other protocols.

I propose to add in Gladys a feature « Link Quality » as already proposed by Zigbee2mqtt for example:

In addition to what I proposed about detecting low batteries or sensor malfunctions, we could then alert when a sensor receives a very weak signal.

I agree :slight_smile:

However, I don’t find « link quality » very clear. « Signal strength » is better and we understand it directly.

On the other hand, we would need a clear and simple scale to understand. On our phones, we have bars from 1 to 5, I find that quite clear. In your example (I don’t know if it’s real data), « 120 lqi » means nothing to anyone ^^

I would vote for a « signal strength » from 1 to 5 like a network bar/Wi-Fi bar :slight_smile:

Great idea, it’s much clearer that way!

Attention RSSI and LQI are two different pieces of information

https://microchipsupport.force.com/s/article/RSSI-vs-LQI-What-is-the-difference

One does not replace the other

I’ve started the implementation
https://github.com/GladysAssistant/Gladys/pull/1299

On the front end, I haven’t done anything yet. The idea of a network bar to represent the signal is a good one, except that we don’t have anything available in the icon pack (it’s qualitative but there isn’t much, and moreover, the repo is no longer maintained).

@pierre-gilles, what motivated the choice of feather icon at the time rather than material design icon for example, which has a large community and is really complete?
In the idea for the feature

I don’t really see how to do it without creating an svg etc…

What motivated the choice of feather icon was that tabler uses Feather Icon, so in terms of design it matches well. The other argument was its minimalism (the light weight of the dependency).

Material design icon, it’s a debate, several things to see:

  • Gladys is not a material design project, so we need to see if this set of icons makes sense even outside of a non-material UI
  • What is the weight of the dependency? Not too heavy? Since Gladys is a PWA, the bundle is downloaded in full with each update, so this needs to be taken into account.
  • Which icons in material are exactly of interest to us that we don’t have in feather? A complete migration (as it is necessary to convert the existing, we use feather in the scenes currently and the name of the icon is saved in the DB), if it’s just for 1-2 icons it might be overkill :slight_smile:

After that, I’m not closed to changing if it makes sense :slight_smile:

For this specific case, why not find a good SVG on the internet? If the one from material pleases you, why not just get it?

Take an svg and add the resource, the risk is that the style might clash a bit with feather. I’ll try to do it in the feather style instead.

Using Mdi as a replacement for feather is another debate.

How can I know the size of the mdi bundle? (which will inevitably be heavier (23,000 icons))

@pierre-gilles Feather is « abandoned », there’s a community fork that respects design guidelines

https://github.com/lucide-icons/lucide

Isn’t it worth switching?

By the way, I can’t figure out where the Feather Icon is loaded in the front end. Is it the tabler package that manages it?

Absolutely! Are we testing a PR?

To fix some issues this summer, I had to fork tabler (in the version we use), I put it here:

https://github.com/GladysAssistant/theme-optimized

This allowed me to fix some tabler bugs and optimize by removing unnecessary fonts.

I build and push to NPM when I make changes to the lib @gladysassistant/theme-optimized

You can do your tests by setting up your git repo (by forking) :slight_smile:

ok I’ll take a look

There are even things for @AlexTrovato :smirk:

Unfortunately, no webfont available at the moment.

image

It’s not aligned with the text so it’s annoying (tested with the preact package)


Apart from that, the good news is that it provides a template so I was able to create an svg for the feature in gladys


In the meantime, we can go with that

If the rendering is clean in Gladys, that’s fine with me!

The debate is ongoing

https://github.com/lucide-icons/lucide/issues/283

@pierre-gilles I suggest adding the unit feature for now, the box will come later in another PR. This will allow Alex to move forward with his automatic feature detection.

@VonOx no worries, that’s fine for me! :slight_smile:

Just a question, is this « signal-strength » category specific to Zigbee2mqtt or could it be used by other services?

What is the value format? From 0 to 5?

I prefer that we formalize this well beforehand so that it is generic, it’s something that could be useful in many integrations.

To my knowledge only for Zigbee

Value from 0 to 255, by the way I will use the same name « Link Quality »

I can also add RSSI (Received Signal Strength Indication) which is rather generic

And couldn’t we make it generic?

What is the user’s benefit of having precision to 1/255th?

I don’t know, open question.

So far, we have always tried to define a format in Gladys that is the same for all integrations (example: the colors of the bulbs), and conversion functions in each service.

This allows us to have generic components and not have to develop 5 different UIs.

If we had stored the color format of each manufacturer without doing conversions, it would have been hell ^^

Hello, I’m quickly joining the conversation to clarify that we also have this on Netatmo (the day it comes out) I’ll check on @damalgos’ PR what values I had set.

To see indeed.

Signal strength is generic for wireless protocols, LQI is specific to Zigbee.

So, to get back to the user, the idea is just to display a bar system on the UI like a « phone network » bar, right?

We could define a feature:

  • Category: signal-strength
  • Type: integer
  • Possible values: [0, 1, 2, 3, 4, 5]

What do you think @VonOx and @AlexTrovato? :slight_smile: