Valeurs incohérentes à la création d'une information pour l'inversion de mots

Bonjour,

Je prépare le passage de ma PROD sur la nouvelle version de MyModbus (je suis resté sur le code de l’ancien dev).

C’est pour la lecture d’un compteur Easton SDM120CT. Il faut inverser les mots pour avoir les bonnes valeurs.

Le comportement est surprenant.

En résumé :

  • Lors de la création de l’équipement ou d’une info → les valeurs ne sont pas bonnes : Anormal
  • En changeant le paramètre « Inverser les mots » → les valeurs ne sont toujours pas bonnes : Normal vu qu’il faut inverser les mots
  • En retournant sur les paramètres du départ → les valeurs sont bonnes : Normal vu qu’il faut inverser les mots

Avec les logs ça donne :

[2025-08-31 12:47:15] DEBUG  mymodbus::sendToDaemon * params = array (
'CMD' => 'newDaemonConfig',
'config' =>
array (
0 =>
array (
'id' => 112,
'name' => 'Compteur New',
'eqProtocol' => 'tcp',
'eqRefreshMode' => 'polling',
'eqPolling' => '5',
'eqTimeout' => '5',
'eqWriteCmdCheckTimeout' => '0.01',
'eqRetries' => '3',
'eqFirstDelay' => '0',
'eqErrorDelay' => '1',
'eqAddr' => '10.0.1.40',
'eqPort' => '502',
'eqRegTest' => '0',
'cmds' =>
array (
0 =>
array (
'id' => 3172,
'name' => 'Tension',
'type' => 'info',
'cmdSlave' => '1',
'cmdFctModbus' => '4',
'cmdFormat' => 'f',
'cmdAddress' => '0',
'cmdFrequency' => '2',
'cmdInvertBytes' => '0',
'cmdInvertWords' => '0',
'cmdInvertDWords' => '0',
'repeat' => '0',
),
1 =>
array (
'id' => 3173,
'name' => 'Puissance Active',
'type' => 'info',
'cmdSlave' => '1',
'cmdFctModbus' => '4',
'cmdFormat' => 'f',
'cmdAddress' => '12',
'cmdFrequency' => '2',
'cmdInvertBytes' => '0',
'cmdInvertWords' => '0',
'cmdInvertDWords' => '0',
'repeat' => '0',
),
),
),
),
)
[2025-08-31 12:47:15] DEBUG  mymodbusCmd::preSave * 3170 * [Salon][Compteur New][Cycle OK] *
[2025-08-31 12:47:15] DEBUG  mymodbusCmd::preSave * 3171 * [Salon][Compteur New][Polling] *
[2025-08-31 12:47:15] DEBUG  mymodbusCmd::preSave * 3169 * [Salon][Compteur New][Rafraîchir] *
[2025-08-31 12:47:15] DEBUG  mymodbusCmd::preSave * 3168 * [Salon][Compteur New][Temps de rafraîchissement] *
[2025-08-31 12:47:15] DEBUG  mymodbusCmd::preSave * 3172 * [Salon][Compteur New][Tension] *
[2025-08-31 12:47:15] DEBUG  mymodbusCmd::preSave * 3173 * [Salon][Compteur New][Puissance Active] *
[2025-08-31 12:47:15] DEBUG  mymodbus::supportedProtocols
[2025-08-31 12:47:15] DEBUG  mymodbus::getSharedInterfaces
[2025-08-31 12:47:15] DEBUG  mymodbus::getTtyInterfaces
[2025-08-31 12:47:17] DEBUG  jeemymodbus.php: $input *{"values":{"3172":-2.7184682113929316e+23,"3173":4.591774807899561e-41}}* type: array
[2025-08-31 12:47:17] DEBUG  jeemymodbus.php: Mise à jour cmd 'Tension' -> new value: '-2.7184682113929E+23'
[2025-08-31 12:47:17] DEBUG  jeemymodbus.php: Mise à jour cmd 'Puissance Active' -> new value: '4.5917748078996E-41'
[2025-08-31 12:47:18] DEBUG  mymodbus::deamon_info
[2025-08-31 12:47:18] DEBUG  mymodbus::getDeamonLaunchable
[2025-08-31 12:47:18] DEBUG  mymodbus::getCompleteConfiguration
[2025-08-31 12:47:18] DEBUG  mymodbus::getEqConfiguration
[2025-08-31 12:47:18] DEBUG  mymodbus::deamon_info * daemon_info = '{"log":"mymodbus","state":"ok","launchable":"ok"}'
[2025-08-31 12:47:23] DEBUG  mymodbus::deamon_info
[2025-08-31 12:47:23] DEBUG  mymodbus::getDeamonLaunchable
[2025-08-31 12:47:23] DEBUG  mymodbus::getCompleteConfiguration
[2025-08-31 12:47:23] DEBUG  mymodbus::getEqConfiguration
[2025-08-31 12:47:23] DEBUG  mymodbus::deamon_info * daemon_info = '{"log":"mymodbus","state":"ok","launchable":"ok"}'
[2025-08-31 12:47:27] DEBUG  jeemymodbus.php: $input *{"values":{"3172":-2.7184680312489465e+23}}* type: array
[2025-08-31 12:47:27] DEBUG  jeemymodbus.php: Mise à jour cmd 'Tension' -> new value: '-2.7184680312489E+23'
[2025-08-31 12:47:28] DEBUG  mymodbus::deamon_info
[2025-08-31 12:47:28] DEBUG  mymodbus::getDeamonLaunchable
[2025-08-31 12:47:28] DEBUG  mymodbus::getCompleteConfiguration
[2025-08-31 12:47:28] DEBUG  mymodbus::getEqConfiguration
[2025-08-31 12:47:29] DEBUG  mymodbus::deamon_info * daemon_info = '{"log":"mymodbus","state":"ok","launchable":"ok"}'
[2025-08-31 12:47:37] DEBUG  jeemymodbus.php: $input *{"values":{"3172":-107617024}}* type: array
[2025-08-31 12:47:37] DEBUG  jeemymodbus.php: Mise à jour cmd 'Tension' -> new value: '-107617024'
[2025-08-31 12:47:39] DEBUG  mymodbus::deamon_info
[2025-08-31 12:47:39] DEBUG  mymodbus::getDeamonLaunchable
[2025-08-31 12:47:39] DEBUG  mymodbus::getCompleteConfiguration
[2025-08-31 12:47:39] DEBUG  mymodbus::getEqConfiguration
[2025-08-31 12:47:39] DEBUG  mymodbus::deamon_info * daemon_info = '{"log":"mymodbus","state":"ok","launchable":"ok"}'
[2025-08-31 12:47:41] DEBUG  mymodbus::preSave
[2025-08-31 12:47:41] DEBUG  mymodbus::supportedProtocols
[2025-08-31 12:47:41] DEBUG  mymodbus::getEqConfiguration
[2025-08-31 12:47:41] DEBUG  mymodbus::postSave
[2025-08-31 12:47:41] DEBUG  mymodbus::sendNewConfig
[2025-08-31 12:47:41] DEBUG  mymodbus::getCompleteConfiguration
[2025-08-31 12:47:41] DEBUG  mymodbus::getEqConfiguration
[2025-08-31 12:47:41] DEBUG  mymodbus::sendToDaemon * params = array (
'CMD' => 'newDaemonConfig',
'config' =>
array (
0 =>
array (
'id' => 112,
'name' => 'Compteur New',
'eqProtocol' => 'tcp',
'eqRefreshMode' => 'polling',
'eqPolling' => '5',
'eqTimeout' => '5',
'eqWriteCmdCheckTimeout' => '0.01',
'eqRetries' => '3',
'eqFirstDelay' => '0',
'eqErrorDelay' => '1',
'eqAddr' => '10.0.1.40',
'eqPort' => '502',
'eqRegTest' => '0',
'cmds' =>
array (
0 =>
array (
'id' => 3172,
'name' => 'Tension',
'type' => 'info',
'cmdSlave' => '1',
'cmdFctModbus' => '4',
'cmdFormat' => 'f',
'cmdAddress' => '0',
'cmdFrequency' => '2',
'cmdInvertBytes' => '0',
'cmdInvertWords' => '0',
'cmdInvertDWords' => '0',
'repeat' => '0',
),
1 =>
array (
'id' => 3173,
'name' => 'Puissance Active',
'type' => 'info',
'cmdSlave' => '1',
'cmdFctModbus' => '4',
'cmdFormat' => 'f',
'cmdAddress' => '12',
'cmdFrequency' => '2',
'cmdInvertBytes' => '0',
'cmdInvertWords' => '0',
'cmdInvertDWords' => '0',
'repeat' => '0',
),
),
),
),
)
[2025-08-31 12:47:41] DEBUG  mymodbusCmd::preSave * 3170 * [Salon][Compteur New][Cycle OK] *
[2025-08-31 12:47:41] DEBUG  mymodbusCmd::preSave * 3171 * [Salon][Compteur New][Polling] *
[2025-08-31 12:47:41] DEBUG  mymodbusCmd::preSave * 3169 * [Salon][Compteur New][Rafraîchir] *
[2025-08-31 12:47:41] DEBUG  mymodbusCmd::preSave * 3168 * [Salon][Compteur New][Temps de rafraîchissement] *
[2025-08-31 12:47:41] DEBUG  mymodbusCmd::preSave * 3172 * [Salon][Compteur New][Tension] *
[2025-08-31 12:47:41] DEBUG  mymodbusCmd::preSave * 3173 * [Salon][Compteur New][Puissance Active] *
[2025-08-31 12:47:41] DEBUG  mymodbus::supportedProtocols
[2025-08-31 12:47:41] DEBUG  mymodbus::getSharedInterfaces
[2025-08-31 12:47:41] DEBUG  mymodbus::getTtyInterfaces
[2025-08-31 12:47:42] DEBUG  jeemymodbus.php: $input *{"values":{"3172":-1.5950470891868496e-23,"3173":107618408}}* type: array
[2025-08-31 12:47:42] DEBUG  jeemymodbus.php: Mise à jour cmd 'Tension' -> new value: '-1.5950470891868E-23'
[2025-08-31 12:47:42] DEBUG  jeemymodbus.php: Mise à jour cmd 'Puissance Active' -> new value: '107618408'
[2025-08-31 12:47:45] DEBUG  mymodbus::deamon_info
[2025-08-31 12:47:45] DEBUG  mymodbus::getDeamonLaunchable
[2025-08-31 12:47:45] DEBUG  mymodbus::getCompleteConfiguration
[2025-08-31 12:47:45] DEBUG  mymodbus::getEqConfiguration
[2025-08-31 12:47:45] DEBUG  mymodbus::deamon_info * daemon_info = '{"log":"mymodbus","state":"ok","launchable":"ok"}'
[2025-08-31 12:47:50] DEBUG  mymodbus::deamon_info
[2025-08-31 12:47:50] DEBUG  mymodbus::getDeamonLaunchable
[2025-08-31 12:47:50] DEBUG  mymodbus::getCompleteConfiguration
[2025-08-31 12:47:50] DEBUG  mymodbus::getEqConfiguration
[2025-08-31 12:47:50] DEBUG  mymodbus::deamon_info * daemon_info = '{"log":"mymodbus","state":"ok","launchable":"ok"}'
[2025-08-31 12:47:52] DEBUG  jeemymodbus.php: $input *{"values":{"3172":-107617032,"3173":4.591774807899561e-41}}* type: array
[2025-08-31 12:47:52] DEBUG  jeemymodbus.php: Mise à jour cmd 'Tension' -> new value: '-107617032'
[2025-08-31 12:47:52] DEBUG  jeemymodbus.php: Mise à jour cmd 'Puissance Active' -> new value: '4.5917748078996E-41'
[2025-08-31 12:47:56] DEBUG  mymodbus::preSave
[2025-08-31 12:47:56] DEBUG  mymodbus::supportedProtocols
[2025-08-31 12:47:56] DEBUG  mymodbus::getEqConfiguration
[2025-08-31 12:47:56] DEBUG  mymodbus::postSave
[2025-08-31 12:47:56] DEBUG  mymodbus::sendNewConfig
[2025-08-31 12:47:56] DEBUG  mymodbus::getCompleteConfiguration
[2025-08-31 12:47:56] DEBUG  mymodbus::getEqConfiguration
[2025-08-31 12:47:56] DEBUG  mymodbus::sendToDaemon * params = array (
'CMD' => 'newDaemonConfig',
'config' =>
array (
0 =>
array (
'id' => 112,
'name' => 'Compteur New',
'eqProtocol' => 'tcp',
'eqRefreshMode' => 'polling',
'eqPolling' => '5',
'eqTimeout' => '5',
'eqWriteCmdCheckTimeout' => '0.01',
'eqRetries' => '3',
'eqFirstDelay' => '0',
'eqErrorDelay' => '1',
'eqAddr' => '10.0.1.40',
'eqPort' => '502',
'eqRegTest' => '0',
'cmds' =>
array (
0 =>
array (
'id' => 3172,
'name' => 'Tension',
'type' => 'info',
'cmdSlave' => '1',
'cmdFctModbus' => '4',
'cmdFormat' => 'f',
'cmdAddress' => '0',
'cmdFrequency' => '2',
'cmdInvertBytes' => '0',
'cmdInvertWords' => '1',
'cmdInvertDWords' => '0',
'repeat' => '0',
),
1 =>
array (
'id' => 3173,
'name' => 'Puissance Active',
'type' => 'info',
'cmdSlave' => '1',
'cmdFctModbus' => '4',
'cmdFormat' => 'f',
'cmdAddress' => '12',
'cmdFrequency' => '2',
'cmdInvertBytes' => '0',
'cmdInvertWords' => '1',
'cmdInvertDWords' => '0',
'repeat' => '0',
),
),
),
),
)
[2025-08-31 12:47:56] DEBUG  mymodbusCmd::preSave * 3170 * [Salon][Compteur New][Cycle OK] *
[2025-08-31 12:47:56] DEBUG  mymodbusCmd::preSave * 3171 * [Salon][Compteur New][Polling] *
[2025-08-31 12:47:56] DEBUG  mymodbusCmd::preSave * 3169 * [Salon][Compteur New][Rafraîchir] *
[2025-08-31 12:47:56] DEBUG  mymodbusCmd::preSave * 3168 * [Salon][Compteur New][Temps de rafraîchissement] *
[2025-08-31 12:47:56] DEBUG  mymodbusCmd::preSave * 3172 * [Salon][Compteur New][Tension] *
[2025-08-31 12:47:56] DEBUG  mymodbusCmd::preSave * 3173 * [Salon][Compteur New][Puissance Active] *
[2025-08-31 12:47:56] DEBUG  mymodbus::supportedProtocols
[2025-08-31 12:47:56] DEBUG  mymodbus::getSharedInterfaces
[2025-08-31 12:47:56] DEBUG  mymodbus::getTtyInterfaces
[2025-08-31 12:47:57] DEBUG  jeemymodbus.php: $input *{"values":{"3172":259,"3173":-6266.5}}* type: array
[2025-08-31 12:47:57] DEBUG  jeemymodbus.php: Mise à jour cmd 'Tension' -> new value: '259'
[2025-08-31 12:47:57] DEBUG  jeemymodbus.php: Mise à jour cmd 'Puissance Active' -> new value: '-6266.5'
[2025-08-31 12:47:59] DEBUG  mymodbus::deamon_info
[2025-08-31 12:47:59] DEBUG  mymodbus::getDeamonLaunchable
[2025-08-31 12:47:59] DEBUG  mymodbus::getCompleteConfiguration
[2025-08-31 12:47:59] DEBUG  mymodbus::getEqConfiguration
[2025-08-31 12:47:59] DEBUG  mymodbus::deamon_info * daemon_info = '{"log":"mymodbus","state":"ok","launchable":"ok"}'
[2025-08-31 12:48:04] DEBUG  mymodbus::deamon_info
[2025-08-31 12:48:04] DEBUG  mymodbus::getDeamonLaunchable
[2025-08-31 12:48:04] DEBUG  mymodbus::getCompleteConfiguration
[2025-08-31 12:48:04] DEBUG  mymodbus::getEqConfiguration
[2025-08-31 12:48:04] DEBUG  mymodbus::deamon_info * daemon_info = '{"log":"mymodbus","state":"ok","launchable":"ok"}'
[2025-08-31 12:48:06] DEBUG  jeemymodbus.php: $input *{"values":{"3172":225.89999389648438,"3173":-0}}* type: array
[2025-08-31 12:48:06] DEBUG  jeemymodbus.php: Mise à jour cmd 'Tension' -> new value: '225.89999389648'
[2025-08-31 12:48:06] DEBUG  jeemymodbus.php: Mise à jour cmd 'Puissance Active' -> new value: '-0'
[2025-08-31 12:48:10] DEBUG  mymodbus::deamon_info
[2025-08-31 12:48:10] DEBUG  mymodbus::getDeamonLaunchable
[2025-08-31 12:48:10] DEBUG  mymodbus::getCompleteConfiguration
[2025-08-31 12:48:10] DEBUG  mymodbus::getEqConfiguration
[2025-08-31 12:48:10] DEBUG  mymodbus::deamon_info * daemon_info = '{"log":"mymodbus","state":"ok","launchable":"ok"}'

Ici je constate :
L’inversion de mots n’est pas cochée et le paramètre est à 0 d’après les logs → Problème
Je coche l’inversion de mots et le paramètre est toujours à 0 d’après les logs → Problème
Je décoche l’inversion de mot et ce paramètre passe à 1 dans les logs → Plus de problème


Informations Jeedom

Core : 4.5 (beta)
DNS Jeedom : non

Plugin : MyModbus
Version : 2025-07-12 01:01:58 (stable)
Statut Démon : Démarré - (2025-08-31 12:03:23)

Bon c’est OK en bêta, du coup je ferme le post @Michel_F :slight_smile:

2 « J'aime »

Bonjour Bison,

passage en stable demain, pour info (je viens d’aligner les branches).

edit: juste pour mon information, tu as créé un nouvel équipement ou tu as migré celui que tu avais ? Le passage vers cette version a été rugueux ou il s’est relativement bien passé ?

A+
Michel

Salut,

Ok merci je ferai la mise à jour en stable du coup.

Alors ça n’a pas roulé tout seul mais c’était peut être à cause d’une particularité chez moi.

Les dépendances ont indiqué une erreur sur apt get parce que j’ai du backport dans ma configuration. Pas contre à part ça, ça avait l’air Ok, du coup j’ai quand-même démarré le démon.

L’équipement devait être configuré (tcp, IP, port, …)

Mais après adaptation des commandes et il ne se passait rien (pas de OK, pas de temps de réponse…).

Je me suis dis que c’était sûrement normal donc j’ai crée un nouvel équipement pour tester une commande mais pas mieux.

Je suis donc revenu sur la possibilité que l’installation des dépendances posait problème. J’ai rien fait dans la conf et juste relancé les dépendances et là tout était OK (alors que je n’avais rien modifié du tout).

Suite à ça et au démarrage du démon finalement les données sont bien arrivées dans l’équipement d’origine.

Donc bon, ça n’a pas roulé tout seul mais sûrement à cause de cette spécificité.

Merci :wink:

3 « J'aime »

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