Optimisation du nombre de requêtes

Bonjours a tous,

Je me suis lancé dans l’ Optimisation du nombre de requêtes mais je bloque légèrement.
pour la première partie tout semble bon j ‹ ai crée une lecture de plage de registre de 20 [4] elle est en OK donc je suppose que tout est en ordre.
Par contre si je veux récupéré la valeur du registre 20 qui de base est en int16 (-32768… 32768) et avoir en bit cela ne fonctionne pas.
J › ai surement loupé quelque chose ?? mais quoi

Voila une image avant Optimisation qui fonctionne tres bien :

et voici se que j 'ai fait pour optimisation des requêtes:

Mais la valeur reste toujours a 0

Merci pour vos retour !!!


Informations Jeedom

Core : 4.4.19 (master)
DNS Jeedom : oui

Plugin : MyModbus
Version : 2024-11-03 12:07:13 (beta)
Statut Démon : Démarré - (2024-11-04 13:24:01)

Bonjour

Sur la commande non optimisée donc en lecture direct tu lis un int16

Or avec la plage tu demandes un bit 0/1

Y a un souci là déjà

Oui je lit un int16 mais après qui est filtré pour avoir un Bit si la valeur est égal a 32768 cela passe a 1

Désolé mais je ne vois pas comment ça peut fonctionner.

Si le registre lu est de type int16, comme montré sur la commande standard il doit etre de meme type sur l’autre

Ok ok mais comme ca non plus ca fonctionne pas

La réponse devrait etre 1 et non 32768

image

La commande d’origine est binaire pas numérique

En gros il n’y a rien a changer a par le pop up où on choisit par plage et donner la plage !

:upside_down_face: Je ne sais pas choisir si je met Binaire je n ai pas d autre choix que Bit (0 /1) et si je met Numérique j 'ai bien int16 MAIS je n ai pas de binaire :upside_down_face:

C’ est pour cela que je sèche un peux

Bien a toi

Bonjour,

Me voilà de retour d’un week-end prolongé, désolé du retard pour la réponse.

Il est en effet possible d’extraire un bit d’un registre, ce que fait @Doud devrait fonctionner, mais il y avait une petite erreur dans la fonction d’affichage des options possibles. J’ai corrigé, c’est distribué avec la bêta de ce jour.

Une petite remarque pour Doud : il serait plus logique d’utiliser le type uint16 si on veut extraie un bit. Dans ce cas ça fonctionne mais c’est très dur de se le représenter et d’expliquer pourquoi ça fonctionne. Comme dit c’est juste une petite remarque, rien de grave.

A+
Michel

Bonjours,
Ok ca fonctionne… Comme toujours

Pour info j’ ai changer en uint16 a voir si ca change quelque chose .

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.