Nouvelle feature *Signal Strength* ou état de la connexion

Feature description
Les modèles Zigbee renvoient par défaut une valeur correspondant à la qualité de la connexion avec le serveur ou point central. J’imagine que c’est la même chose avec Z-wave et d’autres protocoles.

Je propose d’ajouter dans Gladys une feature “Link Quality” comme le propose déjà Zigbee2mqtt par exemple :

En complément à ce que je proposais sur la détection des batteries faibles ou arrêts de fonctionnement des capteurs, on pourrait alors alerter lorsqu’un capteur reçoit un signal très faible.

Je suis d’accord :slight_smile:

En revanche “link quality” je trouve pas ça très clair. “Signal strength” c’est mieux et on comprend direct.

Il faudrait en revanche avoir une échelle clair et simple à comprendre. Sur nos téléphones on a des barres de 1 à 5, je trouve ça plutôt clair. Dans ton exemple (je sais pas si c’est des données réelles), le “120 lqi” ne dit rien à personnne ^^

Je voterais pour un “signal strength” de 1 à 5 façon barre réseau/barre wi-fi :slight_smile:

2 Likes

Très bonne idée, cest bien plus clair comme ça !

1 Like

Attention le RSSI et LQI sont deux informations différentes

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

L’un ne remplace pas l’autre

1 Like

J’ai commencé l’implémentation

Coté front je n’ai rien fait encore, la question de la barre réseau pour représenter le signal est une bonne idée sauf qu’on à rien à dispo dans le pack d’icône ( c’est qualitatif mais y’a pas grand chose, de plus le repos n’est plus maintenu ).

@pierre-gilles , qu’est ce qui avait motivé le choix feather icon à l’époque plutôt que material design icon par exemple qui a une grosse commu et est vraiment complet ?
Dans l’idée pour la feature
image

Là je vois pas trop comment faire sans créer un svg etc…

1 Like

Ce qui avait motivé le choix de feather icon c’était que tabler utilise Feather Icon donc en terme de design ça match bien, l’autre argument c’était son minimalisme (le poids léger de la dépendance).

Material design icon, c’est une débat, plusieurs choses à voir:

  • Gladys n’est pas un projet material design, donc à voir si ce set d’icone fait sens même en dehors d’une UI non material
  • Quel est le poids de la dépendance? Pas trop lourd ? Gladys étant une PWA, le bundle est téléchargé en entier à chaque mise à jour, donc il faut prendre ça en compte.
  • Quels sont exactement les icônes qui nous intéressent dans material et qu’on a pas dans feather? Faire une migration complète (car il faut convertir l’existant, on utilise feather dans les scènes actuellement et le nom de l’icone est sauvé en DB), si c’est juste pour 1-2 icone c’est peut-être overkill :slight_smile:

Après je suis pas fermé à changer si ça fait sens :slight_smile:

Pour ce cas précis, pourquoi ne pas trouver un bon SVG sur internet? Si celui de material te plait, pourquoi ne pas juste le récupérer ?

Prendre un svg et ajouter la ressource pourquoi pas le risque c’est que le style tranche un peu avec feather. Je vais essayer plutôt de faire dans le style feather.

Mdi en remplacement de feather c’est un autre débat.

Comment je peux savoir la taille du bundle mdi ? ( qui sera forcément plus lourd ( 23000 icônes)

1 Like

@pierre-gilles Feather est “abandonnée” , il y’a un fork communautaire qui respecte les guideline au niveau design

https://lucide.dev/

ça vaut le coup de switch non ?

Question d’ailleurs, je suis infoutu de trouver ou est loadé Feather Icon dans le front , c’est le package tabler qui gère ?

Carrément! On fait un test sur une PR ?

Pour corriger certaines issues cet été, j’ai du faire un fork de tabler (dans la version qu’on utilise), je l’ai mis ici:

ça m’a permis de corriger des petits bugs de tabler + optimizer le truc en virant des fonts inutiles.

Je build + push sur NPM quand je fais des changements sur la lib @gladysassistant/theme-optimized

Tu peux faire tes tests en mettant ton repo git (en forkant) :slight_smile:

ok je vais jeter un oeil

Y’a même des trucs pour @AlexTrovato :smirk:

2 Likes

Malheureusement pas de webfont dispo pour le moment.

image

C’est pas aligné sur le texte donc c’est chiant ( testé avec le package preact )


A part ça la bonne nouvelle c’est qu’il fournisse un template donc j’ai pu faire un svg pour la feature dans gladys
image
En attendant on peux partir sur ça

1 Like

Si le rendu est propre dans Gladys, ça me va!

Le débat est en cours

1 Like

@pierre-gilles je propose d’ajouter la feature unit uniquement pour le moment, la box arrivera plus tard sur une autre PR. Ça permetera à Alex d’avancer sur sa la détection automatique des features.

@VonOx pas de soucis ça me va! :slight_smile:

Juste une question, est-ce que cette catégorie “signal-strength” est propre au Zigbee2mqtt ou pourrait être utilisée par d’autre service?

C’est quoi le format de valeur ? De 0 à 5 ?

Je préfère qu’on formalise bien le truc avant pour que ce soit générique, c’est un truc qui pourrait être utile dans plein d’intégrations.

A ma connaissance uniquement pour le zigbee

Valeur de 0 à 255, d’ailleurs je vais utiliser le même nom “Link Quality”

Je peux aussi rajouter RSSI (Received Signal Strength Indication) qui est plutôt générique

Et on pourrait pas le rendre générique ?

Quelle est l’utilité pour l’utilisateur d’avoir une précision à 1/255ème ?

Je ne sais pas, question ouverte.

Jusqu’à là, on a toujours essayé de définir dans Gladys un format qui est le même pour toutes les intégrations (exemple: les couleurs des ampoules), et des fonctions de conversions dans chaque service.

Ca permet d’avoir des composants génériques et de pas devoir développer 5 UI différentes.

Si on avait stocké le format de couleur de chaque constructeur sans faire de conversions, ça aurait été l’enfer ^^

Hello, je m’ajoute rapidement à la conversation pour préciser qu’on a également ça sur Netatmo (le jour ou ça sortira) je vais regarder sur la PR de @damalgos qu’elles sont les valeurs que j’avais mis.

A voir effectivement.

Signal strength est générique pour les protocoles sans fils, le LQI lui est spécifique zigbee.

Du coup pour revenir à l’utilisateur, l’idée c’est juste d’afficher sur l’UI un système de barre façon “réseau téléphone”, on est d’accord ?

On pourrait définir une feature:

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

Vous en pensez quoi @VonOx et @AlexTrovato ? :slight_smile: