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)