Remontée des piles

Bonjour, depuis les mise à jour du plugin, je constate que les niveaux de pile ne remontent plus correctement.
J’ai 3 équipements qui sont en piles faible et jeedom indique 100%.

Après recherche, la trame envoyée par le rfxcom est OK:

[2020-12-05 15:41:52][DEBUG] : Message: 10560278360000e1001c00260500004660
[2020-12-05 15:41:52][DEBUG] : Decode : 10560278360000e1001c00260500004660
[2020-12-05 15:41:52][DEBUG] : Test message: 10560278360000e1001c00260500004660
[2020-12-05 15:41:52][DEBUG] : PacketType: 0x56
[2020-12-05 15:41:52][DEBUG] : Length: 17
[2020-12-05 15:41:52][DEBUG] : Start decoding packet type 0x56
[2020-12-05 15:41:52][DEBUG] : Subtype = WIND2 is WGR800
[2020-12-05 15:41:52][DEBUG] : Data : {'seqnbr': '0x78', 'battery': 10, 'id1': '0x36', 'packettype': '0x56', 'id2': '0x00', 'subtype': '0x02', 'temperature': 1280, 'gust': 38, 'chillsign': '', 'packetlen': '0x10', 'temperaturesign': '', 'rssi': 6, 'chill': 70, 'direction': 225, 'av_speed': 28}
[2020-12-05 15:41:52][DEBUG] : Decoded info : {'direction': 225, 'gust': 3.8, 'packettype': '0x56', 'av_speed': 2.8, 'battery': 10, 'id': '3600', 'temperature': '128.0', 'chill': '7.0', 'rssi': 6, 'subtype': '0x02'}
[2020-12-05 15:41:52][DEBUG] : Device is known id : 3600
[2020-12-05 15:41:53][DEBUG] : Send to jeedom : {'devices': {'360056': {'direction': 225, 'gust': 3.8, 'packettype': '0x56', 'av_speed': 2.8, 'battery': 10, 'id': '3600', 'temperature': '128.0', 'chill': '7.0', 'rssi': 6, 'subtype': '0x02'}, '37005B': {'total': 5260417.18, 'count': 0, 'packettype': '0x5B', 'ch2': 2.9, 'ch1': 0.4, 'ch3': 0.5, 'id': '3700', 'battery': 100, 'rssi': 7, 'subtype': '0x01'}}}
[2020-12-05 15:41:53][DEBUG] : Starting new HTTP connection (1): 127.0.0.1
[2020-12-05 15:41:53][DEBUG] : {"devices":{"360056":{"direction":225,"gust":3.8,"packettype":"0x56","av_speed":2.8,"battery":10,"id":"3600","temperature":"128.0","chill":"7.0","rssi":6,"subtype":"0x02"},"37005B":{"total":5260417.18,"count":0,"packettype":"0x5B","ch2":2.9,"ch1":0.4,"ch3":0.5,"id":"3700","battery":100,"rssi":7,"subtype":"0x01"}}}

Ici on voit bien la valeur de battery à 10, mais jeedom affiche 100.
J’ai fini par trouver: dans jeeRfxcom.php, on a:

if(isset($datas['battery'])){
	$rfxcom->batteryStatus($datas['battery']*10+10);
}

J’ai enlevé le *10+10 et mes modules sont à nouveau passé en warning.

Bonjour,
Depuis mon message, 2 mises à jours rfxcom ont été proposées et mon problème est toujours présent.
Sui-je le seul?

si @Loic passe par ici, merci de regarder.
Les 3 équipements en question sont sur un protocole Oregon.

Bjr,
Le problème, c’est que ton équipement ne remonte peut-être pas le vrai niveau de Batterie.
Dans ton 1er message il est à « 0 » , il faudrait vérifier si la valeur change réellement, là elle est à « 0 » du coup devrait « boguer » en réel si valeur « 0 » .
Il y a pas mal de sonde qui ne remonte pas cette info [elle est à « 0 »] aussi bien en 0x56 que 0x52
@+Dom

Ce n’est pas réellement un niveau de batterie mais plutôt un pile OK.
La remontée est correcte (j’ai en tout 5 sondes de ce type et les autres ont un niveau de pile correcte).
Quand je regarde le décodage de la trame, il y a bien 10 dans le niveau de batterie.(sur les autres, ça donne 100).
Dans jeeRfxcom on fait 10*10+10 soit 110!, je ne comprends donc pas ce calcul.
Pour que ce calcul fonctionne, il faudrait remonter 0 pour pile faible et 9 pour pile OK. (je n’ai pas regardé sur tous les protocoles, mais pour l’Oregon, ce n’est pas le cas). Il y a donc une incohérence quelque part.

Pour information le niveau de batterie qui remonte de ces équipements se trouve sur le dernier octet la partie « low » ( le high c’est le RSSi [signal]).
Il y a transformation lors du décodage de la trame du type
‹ battery › : (int("{0:08b}".format(message[« dernier »])[4:],2)+1)*10
c’est pour cela que jamais « 0 » en retour, de plus @Loic à bien précisé dans autre message qu’il ne s’en occupé plus, pas de vrai retour des valeurs de la batterie.
Il est vrai que cela est très déroutant, dans le cas ou la batterie est effectivement remontée , vue dans analyse équipements .

OK, alors qui s’occupe de ce plugin (il y a bien quelqu’un puisqu’il y a eu une mise à jours aujourd’hui).
Ma modif tourne sans soucis depuis le 03/12/2020, je souhaite juste proposer cette amélioration à tout le monde.

Regarde sur le Plugin, c’est effectivement @Loic !
Mais il ne veux plus y toucher à ce problème de batterie, voit avec lui …

D’ailleurs dans la dernière version il a ajouté une option en dessous de ignorer batterie
Autoriser seulement les type (ex : 0x56,0x55)

C’est dans quel message qu’il en parle?

Voir une info ici

Résumé

Sachant que l’etat des piles est remonté en global sous jeedom, Loic a dit qu’il ne gérait plus par équipement De toute facon vu la véracité de cette info…

Je ne comprends pas comment on peut remonter en global si chaque équipement ne remonte pas.
Mais bon, ma modif était simple à faire.
Je comprends quand même Loic, avec cette mulitude de protocole géré en rfxcom, c’est compliqué.

Est-ce que tu pourrais vérifier ( je l’ai déjà fait de mon côté ) si le dernier octet de la trame est différent de : « 0 » ou de « 9 »
Pour moi si 0 pas pris en compte , et sinon toujours 9, donc ce n’est pas une valeur à prendre en compte, de plus j’ai fait des tests avec une alim Stab… et l’info de batterie ne change pas , si batterie trop base plus d’info remontée par la sonde.
A suivre pour toi ou d’autres …