Pas de MàJ de "Réseau wifi (SSID)" si wifi absent

Jeedom Core : 4.2.14
Version JC : [beta] 1.2.0

Equipements :
  admin : v1.2.0 sur android
  JPI : v1.2.0 sur android (polling)
  Tel-MG : v1.2.0 sur android (polling)
  Tel-NR : v1.2.0 sur android (polling)

Bonsoir,

Suite à qq problème je viens de m’apercevoir que la valeur de la cmd « Réseau wifi (SSID) » n’est pas mise à jour lorsque le tel n’a plus de wifi, la valeur reste sur le dernier SSID utilisé

Les cmd « Etat Wifi » et « Adresse IP », elles, sont bien mise à jour

Je ne constate pas ce pb de mon coté.
même conf que toi, lorsque je coupe le WIFI, les commandes « adresse IP » et le « SSID WIFI » se vident et « état WIFI » passe à 0.

A vérifier, si en mode debug, pour la méthode SET_DEVICE_INFOS tu as bien ceci lorsque tu désactives le WIFI:

"ipAddress":""
"wifiEnabled":false
"ssid":""

Le service est bien activé ?

Service OK, mais je n’ai pas été assez précis, ce n’est pas la valeur a proprement dite de la commande qui n’est pas actualisé mais l’historique qui n’est pas mis à jour avec cette valeur.
Par exemple ici wifi coupe entre 11:56 et 12:57 et aucune ligne à 0 ou vide ne signale l’absence d’IP
image

Il est donc impossible de savoir quel était l’IP à 12:18 par exemple sauf à supposer qu’elle n’a pas changée, ce qui est faut puisque il n’y en avais plus :slight_smile:

Pour comparer avec un état binaire (l’etat Wifi), on aura toujours une valeur 0 ou 1, true ou false, CHAQUE changement d’état est mémorisé.

La pour l’IP et le SSID, ce sont les valeurs LUES qui sont mémorisées, l’absence de valeur (pas de wifi ou d’ip) ne laisse aucune trace

Ok je vois c’est un petit truc à modifier dans le plugin je pense.
L’info d’absence d’ip est normalement bien envoyé par l’appli mais n’est pas pris en considération côté plugin

Adresse IP et SSID, même combat apparemment, mais le principal est que tu vois d’où viens le problème.

Comment c est pris en compte chez @ngrataloup !?

Je n’historisais pas ces commandes, je fais un test et vous tiens au courant

EDIT : Je confirme que seules les valeurs « renseignées » sont historisées. les valeurs vides n’apparaissent pas :

(j’ai coupé le WIFI entre les 2 horaires et les commandes ont bien été mise à jour sans @IP et sans SSID)

Lié au core, pas a JC !?

1 « J'aime »

Je viens de tester,
La suppression de la valeur dans ‹ value › (donc valeur vide) est apparemment autorisé dans la table history de la bdd
image

Ceci étant, sur toutes la table history je n’en ai pas trouvé d’autre …

Je confirme, comme l’a dit @tomitomas que c’est un bug core

pour reproduire …
creation d’un virtuel info de type autre
creation d’un scenario qui change la valeur du virtuel
test 1 → vide → test 2

A l’affichage de la commande, la valeur change bien de test 1 → vide → test 2

par contre, dans la table history, nous avons

La valeur de 21:33:02 qui devrait etre vide est absente de la table history

(j’ai changer les tags du thread)

Pas certain qu on puisse parler de bug
La valeur vide n est pas une valeur en soit donc pas anormal quelle ne soit pas historisee

1 « J'aime »

Dans ce cas la valeur nulle aurait du être interdite dans la def de la table, pas dans le code :frowning:

En attendant que @Loic nous en dise plus pourquoi ne pas simplement mettre un espace dans le cas d’une valeur vide ou absente ??

Parce que ça posera pb à tout ceux qui, comme moi, on des tests du style ssid == «  » :wink:
Attendons la réponse des devs

Tu peux peut-être dans l’attente essayer une opération ternaire dans le champ formule de calcul :

( #value# == "")? "  ":#value#

(Pas testé)

et pourquoi mettre en place une rustine qui risque de durer ??
trouvons juste une vraie réponse au probleme initial, et on verra quoi faire ensuite
en l’occurrence cette proposition ne me convient pas.