Plugin ModBus - Ecriture Multi registre

Bonjour

Je test le nouveau plugin ModBus, développé par jeedom, qui vient tout juste de sortir.
Ce plugin est donc en Beta car tout recent

Pas de problème pour la lecture avec la fonction 3, pour les Holding registers

Je rencontre un problème pour l’écriture (fonction 16) des multiple registers

Si nous utilisons la commande Action/message créées (Écriture MultiRegistre) directement par le plugin, cela fonctionne correctement. Cela me laisse pensée que j’ai compris le mode de fonctionnement

Lorsque je crée une nouvelle commande identique, cela ne fonctionne pas.

D’ailleurs sur le dashboard, nous pouvons voir que la prise en compte n’est pas identique

image

Jeedom 4.2.11

[2022-02-12 15:15:17]DEBUG : True
[2022-02-12 15:15:17]DEBUG : {'nameCmd': 'PC Temp Amb Freecooling Val', 'cmdId': '3377', 'format': 'longformat', 'functioncode': 'fc03', 'nbregister': '1', 'startregister': '21', 'wordorder': 'littleword', 'byteorder': 'bigbyte', 'isnegatif': '0', 'offset': '0'}
[2022-02-12 15:15:17]DEBUG : Current transaction state - IDLE
[2022-02-12 15:15:17]DEBUG : Running transaction 1
[2022-02-12 15:15:17]DEBUG : SEND: 0x1 0x3 0x0 0x15 0x0 0x1 0x95 0xce
[2022-02-12 15:15:17]DEBUG : New Transaction state 'SENDING'
[2022-02-12 15:15:17]DEBUG : Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
[2022-02-12 15:15:17]DEBUG : Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
[2022-02-12 15:15:17]DEBUG : RECV: 0x1 0x3 0x2 0x0 0xdc 0xb9 0xdd
[2022-02-12 15:15:17]DEBUG : Getting Frame - 0x3 0x2 0x0 0xdc
[2022-02-12 15:15:17]DEBUG : Factory Response[ReadHoldingRegistersResponse: 3]
[2022-02-12 15:15:17]DEBUG : Frame advanced, resetting header!!
[2022-02-12 15:15:17]DEBUG : Adding transaction 1
[2022-02-12 15:15:17]DEBUG : Getting transaction 1
[2022-02-12 15:15:17]DEBUG : Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
[2022-02-12 15:15:17]DEBUG : [220]
[2022-02-12 15:15:22]DEBUG : Send to jeedom :  {'data': {'288': {'PC Temp Amb Freecooling Val': [{'StartRegister': 21, 'CmdId': '3377', 'value': 220}]}}, 'FUNC': 'readF'}
[2022-02-12 15:15:22]DEBUG : Starting new HTTP connection (1): 127.0.0.1:80
[2022-02-12 15:15:22]DEBUG : Result:{"data":{"288":{"PC Temp Amb Freecooling Val":[{"StartRegister":21,"CmdId":"3377","value":220}]}},"FUNC":"readF"}
[2022-02-12 15:15:22]DEBUG : DATACORRESPOND : {"288":{"PC Temp Amb Freecooling Val":[{"StartRegister":21,"CmdId":"3377","value":220}]}}
[2022-02-12 15:15:22]DEBUG : CMDTOEVENT >>>>>>> PC Temp Amb Freecooling Val
[2022-02-12 15:15:22]DEBUG : VALUETOEVENT >>>>>>> 220
[2022-02-12 15:15:22]DEBUG : DECODER : {"data":{"288":{"PC Temp Amb Freecooling Val":[{"StartRegister":21,"CmdId":"3377","value":220}]}},"FUNC":"readF"}
[2022-02-12 15:15:22]DEBUG : http://127.0.0.1:80 "POST /plugins/modbus/core/php/jeeModbus.php?apikey=iRsYsgY8IhvY06yYxr0UfMEyWBegW5JmeFiwXaBqeE1dRHHMNqOTrhr0Cmu7mP2j HTTP/1.1" 200 0
[2022-02-12 15:15:23]DEBUG : {'data': {'288': {}}, 'FUNC': 'readF'}
[2022-02-12 15:15:23]DEBUG : True
[2022-02-12 15:15:23]DEBUG : {'nameCmd': 'PC Temp Amb Freecooling Val', 'cmdId': '3377', 'format': 'longformat', 'functioncode': 'fc03', 'nbregister': '1', 'startregister': '21', 'wordorder': 'littleword', 'byteorder': 'bigbyte', 'isnegatif': '0', 'offset': '0'}
[2022-02-12 15:15:23]DEBUG : Current transaction state - IDLE
[2022-02-12 15:15:23]DEBUG : Running transaction 1
[2022-02-12 15:15:23]DEBUG : SEND: 0x1 0x3 0x0 0x15 0x0 0x1 0x95 0xce
[2022-02-12 15:15:23]DEBUG : New Transaction state 'SENDING'
[2022-02-12 15:15:23]DEBUG : Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
[2022-02-12 15:15:23]DEBUG : Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
[2022-02-12 15:15:23]DEBUG : RECV: 0x1 0x3 0x2 0x0 0xdc 0xb9 0xdd
[2022-02-12 15:15:23]DEBUG : Getting Frame - 0x3 0x2 0x0 0xdc
[2022-02-12 15:15:23]DEBUG : Factory Response[ReadHoldingRegistersResponse: 3]
[2022-02-12 15:15:23]DEBUG : Frame advanced, resetting header!!
[2022-02-12 15:15:23]DEBUG : Adding transaction 1
[2022-02-12 15:15:23]DEBUG : Getting transaction 1
[2022-02-12 15:15:23]DEBUG : Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
[2022-02-12 15:15:23]DEBUG : [220]
[2022-02-12 15:15:28]DEBUG : Send to jeedom :  {'data': {'288': {'PC Temp Amb Freecooling Val': [{'StartRegister': 21, 'CmdId': '3377', 'value': 220}]}}, 'FUNC': 'readF'}
[2022-02-12 15:15:28]DEBUG : Starting new HTTP connection (1): 127.0.0.1:80
[2022-02-12 15:15:28]DEBUG : Result:{"data":{"288":{"PC Temp Amb Freecooling Val":[{"StartRegister":21,"CmdId":"3377","value":220}]}},"FUNC":"readF"}
[2022-02-12 15:15:28]DEBUG : DATACORRESPOND : {"288":{"PC Temp Amb Freecooling Val":[{"StartRegister":21,"CmdId":"3377","value":220}]}}
[2022-02-12 15:15:28]DEBUG : CMDTOEVENT >>>>>>> PC Temp Amb Freecooling Val
[2022-02-12 15:15:28]DEBUG : VALUETOEVENT >>>>>>> 220
[2022-02-12 15:15:28]DEBUG : DECODER : {"data":{"288":{"PC Temp Amb Freecooling Val":[{"StartRegister":21,"CmdId":"3377","value":220}]}},"FUNC":"readF"}
[2022-02-12 15:15:28]DEBUG : http://127.0.0.1:80 "POST /plugins/modbus/core/php/jeeModbus.php?apikey=iRsYsgY8IhvY06yYxr0UfMEyWBegW5JmeFiwXaBqeE1dRHHMNqOTrhr0Cmu7mP2j HTTP/1.1" 200 0
[2022-02-12 15:15:28]DEBUG : {'data': {'288': {}}, 'FUNC': 'readF'}
[2022-02-12 15:15:28]DEBUG : True
[2022-02-12 15:15:28]DEBUG : {'nameCmd': 'PC Temp Amb Freecooling Val', 'cmdId': '3377', 'format': 'longformat', 'functioncode': 'fc03', 'nbregister': '1', 'startregister': '21', 'wordorder': 'littleword', 'byteorder': 'bigbyte', 'isnegatif': '0', 'offset': '0'}
[2022-02-12 15:15:28]DEBUG : Current transaction state - IDLE
[2022-02-12 15:15:28]DEBUG : Running transaction 1
[2022-02-12 15:15:28]DEBUG : SEND: 0x1 0x3 0x0 0x15 0x0 0x1 0x95 0xce
[2022-02-12 15:15:28]DEBUG : New Transaction state 'SENDING'
[2022-02-12 15:15:28]DEBUG : Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
[2022-02-12 15:15:28]DEBUG : Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
[2022-02-12 15:15:28]DEBUG : RECV: 0x1 0x3 0x2 0x0 0xdc 0xb9 0xdd
[2022-02-12 15:15:28]DEBUG : Getting Frame - 0x3 0x2 0x0 0xdc
[2022-02-12 15:15:28]DEBUG : Factory Response[ReadHoldingRegistersResponse: 3]
[2022-02-12 15:15:28]DEBUG : Frame advanced, resetting header!!
[2022-02-12 15:15:28]DEBUG : Adding transaction 1
[2022-02-12 15:15:28]DEBUG : Getting transaction 1
[2022-02-12 15:15:28]DEBUG : Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
[2022-02-12 15:15:28]DEBUG : [220]
[2022-02-12 15:15:31]DEBUG : WRITETEST : {"apikey":"iRsYsgY8IhvY06yYxr0UfMEyWBegW5JmeFiwXaBqeE1dRHHMNqOTrhr0Cmu7mP2j","typeDevice":"rtu","action":"writeAction","unitID":1,"options":{"nameCmd":"Ecriture Multi Registre","cmdId":"3491","format":0,"functioncode":"fc16","nbregister":0,"startregister":"21","wordorder":"littleword","byteorder":"bigbyte","isnegatif":"0","offset":"0","valuesrequest":[{"valeur":"250","nbregister":"1"}]},"deviceInfo":{"typeDevice":"rtu","portserial":"\/dev\/ttyUSB0","baudrate":57600,"unitID":1,"parity":"N","stopbits":1,"bytesize":8,"id":"288"}}
[2022-02-12 15:15:31]DEBUG : Client connected to [127.0.0.1:36082]
[2022-02-12 15:15:31]DEBUG : Client disconnected from [127.0.0.1:36082]
[2022-02-12 15:15:33]DEBUG : Send to jeedom :  {'data': {'288': {'PC Temp Amb Freecooling Val': [{'StartRegister': 21, 'CmdId': '3377', 'value': 220}]}}, 'FUNC': 'readF'}
[2022-02-12 15:15:33]DEBUG : Starting new HTTP connection (1): 127.0.0.1:80
[2022-02-12 15:15:33]DEBUG : Result:{"data":{"288":{"PC Temp Amb Freecooling Val":[{"StartRegister":21,"CmdId":"3377","value":220}]}},"FUNC":"readF"}
[2022-02-12 15:15:33]DEBUG : DATACORRESPOND : {"288":{"PC Temp Amb Freecooling Val":[{"StartRegister":21,"CmdId":"3377","value":220}]}}
[2022-02-12 15:15:33]DEBUG : CMDTOEVENT >>>>>>> PC Temp Amb Freecooling Val
[2022-02-12 15:15:33]DEBUG : VALUETOEVENT >>>>>>> 220
[2022-02-12 15:15:34]DEBUG : DECODER : {"data":{"288":{"PC Temp Amb Freecooling Val":[{"StartRegister":21,"CmdId":"3377","value":220}]}},"FUNC":"readF"}
[2022-02-12 15:15:34]DEBUG : http://127.0.0.1:80 "POST /plugins/modbus/core/php/jeeModbus.php?apikey=iRsYsgY8IhvY06yYxr0UfMEyWBegW5JmeFiwXaBqeE1dRHHMNqOTrhr0Cmu7mP2j HTTP/1.1" 200 0
[2022-02-12 15:15:34]DEBUG : Message received in socket JEEDOM_SOCKET_MESSAGE
[2022-02-12 15:15:34]DEBUG : {'nameCmd': 'Ecriture Multi Registre', 'cmdId': '3491', 'format': 0, 'functioncode': 'fc16', 'nbregister': 0, 'startregister': '21', 'wordorder': 'littleword', 'byteorder': 'bigbyte', 'isnegatif': '0', 'offset': '0', 'valuesrequest': [{'valeur': '250', 'nbregister': '1'}]}
[2022-02-12 15:15:34]DEBUG : {'valeur': '250', 'nbregister': '1'}
[2022-02-12 15:15:34]DEBUG : 250
[2022-02-12 15:15:34]DEBUG : TESTTTTT
[2022-02-12 15:15:34]DEBUG : 250
[2022-02-12 15:15:34]DEBUG : [250]
[2022-02-12 15:15:34]DEBUG : Current transaction state - IDLE
[2022-02-12 15:15:34]DEBUG : Running transaction 1
[2022-02-12 15:15:34]DEBUG : SEND: 0x1 0x10 0x0 0x15 0x0 0x1 0x2 0x0 0xfa 0x24 0xd6
[2022-02-12 15:15:34]DEBUG : New Transaction state 'SENDING'
[2022-02-12 15:15:34]DEBUG : Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
[2022-02-12 15:15:34]DEBUG : Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
[2022-02-12 15:15:34]DEBUG : RECV: 0x1 0x10 0x0 0x15 0x0 0x1 0x10 0xd
[2022-02-12 15:15:34]DEBUG : Getting Frame - 0x10 0x0 0x15 0x0 0x1
[2022-02-12 15:15:34]DEBUG : Factory Response[WriteMultipleRegistersResponse: 16]
[2022-02-12 15:15:34]DEBUG : Frame advanced, resetting header!!
[2022-02-12 15:15:34]DEBUG : Adding transaction 1
[2022-02-12 15:15:34]DEBUG : Getting transaction 1
[2022-02-12 15:15:34]DEBUG : Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
[2022-02-12 15:15:34]DEBUG : MESSAGE ENVOYE ACTION WRITE
[2022-02-12 15:15:34]DEBUG : Send to jeedom :  {'FUNC': 'write', 'isOk': 'yes'}
[2022-02-12 15:15:34]DEBUG : Starting new HTTP connection (1): 127.0.0.1:80
[2022-02-12 15:15:34]DEBUG : Result:{"FUNC":"write","isOk":"yes"}
[2022-02-12 15:15:34]DEBUG : RETURNFUNCTIONWRITE{"FUNC":"write","isOk":"yes"}
[2022-02-12 15:15:34]DEBUG : http://127.0.0.1:80 "POST /plugins/modbus/core/php/jeeModbus.php?apikey=iRsYsgY8IhvY06yYxr0UfMEyWBegW5JmeFiwXaBqeE1dRHHMNqOTrhr0Cmu7mP2j HTTP/1.1" 200 0
[2022-02-12 15:15:34]DEBUG : {'data': {'288': {}}, 'FUNC': 'readF'}
[2022-02-12 15:15:34]DEBUG : True
[2022-02-12 15:15:34]DEBUG : {'nameCmd': 'PC Temp Amb Freecooling Val', 'cmdId': '3377', 'format': 'longformat', 'functioncode': 'fc03', 'nbregister': '1', 'startregister': '21', 'wordorder': 'littleword', 'byteorder': 'bigbyte', 'isnegatif': '0', 'offset': '0'}
[2022-02-12 15:15:34]DEBUG : Current transaction state - IDLE
[2022-02-12 15:15:34]DEBUG : Running transaction 1
[2022-02-12 15:15:34]DEBUG : SEND: 0x1 0x3 0x0 0x15 0x0 0x1 0x95 0xce
[2022-02-12 15:15:34]DEBUG : New Transaction state 'SENDING'
[2022-02-12 15:15:34]DEBUG : Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
[2022-02-12 15:15:34]DEBUG : Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
[2022-02-12 15:15:34]DEBUG : RECV: 0x1 0x3 0x2 0x0 0xfa 0x38 0x7
[2022-02-12 15:15:34]DEBUG : Getting Frame - 0x3 0x2 0x0 0xfa
[2022-02-12 15:15:34]DEBUG : Factory Response[ReadHoldingRegistersResponse: 3]
[2022-02-12 15:15:34]DEBUG : Frame advanced, resetting header!!
[2022-02-12 15:15:34]DEBUG : Adding transaction 1
[2022-02-12 15:15:34]DEBUG : Getting transaction 1
[2022-02-12 15:15:34]DEBUG : Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
[2022-02-12 15:15:34]DEBUG : [250]
[2022-02-12 15:15:39]DEBUG : Send to jeedom :  {'data': {'288': {'PC Temp Amb Freecooling Val': [{'StartRegister': 21, 'CmdId': '3377', 'value': 250}]}}, 'FUNC': 'readF'}
[2022-02-12 15:15:39]DEBUG : Starting new HTTP connection (1): 127.0.0.1:80
[2022-02-12 15:15:39]DEBUG : Result:{"data":{"288":{"PC Temp Amb Freecooling Val":[{"StartRegister":21,"CmdId":"3377","value":250}]}},"FUNC":"readF"}
[2022-02-12 15:15:39]DEBUG : DATACORRESPOND : {"288":{"PC Temp Amb Freecooling Val":[{"StartRegister":21,"CmdId":"3377","value":250}]}}
[2022-02-12 15:15:39]DEBUG : CMDTOEVENT >>>>>>> PC Temp Amb Freecooling Val
[2022-02-12 15:15:39]DEBUG : VALUETOEVENT >>>>>>> 250
[2022-02-12 15:15:39]DEBUG : DECODER : {"data":{"288":{"PC Temp Amb Freecooling Val":[{"StartRegister":21,"CmdId":"3377","value":250}]}},"FUNC":"readF"}
[2022-02-12 15:15:39]DEBUG : http://127.0.0.1:80 "POST /plugins/modbus/core/php/jeeModbus.php?apikey=iRsYsgY8IhvY06yYxr0UfMEyWBegW5JmeFiwXaBqeE1dRHHMNqOTrhr0Cmu7mP2j HTTP/1.1" 200 0
[2022-02-12 15:15:40]DEBUG : {'data': {'288': {}}, 'FUNC': 'readF'}
[2022-02-12 15:15:40]DEBUG : True
[2022-02-12 15:15:40]DEBUG : {'nameCmd': 'PC Temp Amb Freecooling Val', 'cmdId': '3377', 'format': 'longformat', 'functioncode': 'fc03', 'nbregister': '1', 'startregister': '21', 'wordorder': 'littleword', 'byteorder': 'bigbyte', 'isnegatif': '0', 'offset': '0'}
[2022-02-12 15:15:40]DEBUG : Current transaction state - IDLE
[2022-02-12 15:15:40]DEBUG : Running transaction 1
[2022-02-12 15:15:40]DEBUG : SEND: 0x1 0x3 0x0 0x15 0x0 0x1 0x95 0xce
[2022-02-12 15:15:40]DEBUG : New Transaction state 'SENDING'
[2022-02-12 15:15:40]DEBUG : Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
[2022-02-12 15:15:40]DEBUG : Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
[2022-02-12 15:15:40]DEBUG : RECV: 0x1 0x3 0x2 0x0 0xfa 0x38 0x7
[2022-02-12 15:15:40]DEBUG : Getting Frame - 0x3 0x2 0x0 0xfa
[2022-02-12 15:15:40]DEBUG : Factory Response[ReadHoldingRegistersResponse: 3]
[2022-02-12 15:15:40]DEBUG : Frame advanced, resetting header!!
[2022-02-12 15:15:40]DEBUG : Adding transaction 1
[2022-02-12 15:15:40]DEBUG : Getting transaction 1
[2022-02-12 15:15:40]DEBUG : Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
[2022-02-12 15:15:40]DEBUG : [250]
[2022-02-12 15:15:42]DEBUG : WRITETEST : {"apikey":"iRsYsgY8IhvY06yYxr0UfMEyWBegW5JmeFiwXaBqeE1dRHHMNqOTrhr0Cmu7mP2j","typeDevice":"rtu","action":"writeAction","unitID":1,"options":{"nameCmd":"Ecriture Multi Registre 2","cmdId":"3457","format":"longformat","functioncode":"fc16","nbregister":0,"startregister":"21","wordorder":"littleword","byteorder":"bigbyte","isnegatif":"0","offset":"0"},"deviceInfo":{"typeDevice":"rtu","portserial":"\/dev\/ttyUSB0","baudrate":57600,"unitID":1,"parity":"N","stopbits":1,"bytesize":8,"id":"288"}}
[2022-02-12 15:15:42]DEBUG : Client connected to [127.0.0.1:36090]
[2022-02-12 15:15:42]DEBUG : Client disconnected from [127.0.0.1:36090]
[2022-02-12 15:15:45]DEBUG : Send to jeedom :  {'data': {'288': {'PC Temp Amb Freecooling Val': [{'StartRegister': 21, 'CmdId': '3377', 'value': 250}]}}, 'FUNC': 'readF'}
[2022-02-12 15:15:45]DEBUG : Starting new HTTP connection (1): 127.0.0.1:80
[2022-02-12 15:15:45]DEBUG : Result:{"data":{"288":{"PC Temp Amb Freecooling Val":[{"StartRegister":21,"CmdId":"3377","value":250}]}},"FUNC":"readF"}
[2022-02-12 15:15:45]DEBUG : DATACORRESPOND : {"288":{"PC Temp Amb Freecooling Val":[{"StartRegister":21,"CmdId":"3377","value":250}]}}
[2022-02-12 15:15:45]DEBUG : CMDTOEVENT >>>>>>> PC Temp Amb Freecooling Val
[2022-02-12 15:15:45]DEBUG : VALUETOEVENT >>>>>>> 250
[2022-02-12 15:15:45]DEBUG : DECODER : {"data":{"288":{"PC Temp Amb Freecooling Val":[{"StartRegister":21,"CmdId":"3377","value":250}]}},"FUNC":"readF"}
[2022-02-12 15:15:45]DEBUG : http://127.0.0.1:80 "POST /plugins/modbus/core/php/jeeModbus.php?apikey=iRsYsgY8IhvY06yYxr0UfMEyWBegW5JmeFiwXaBqeE1dRHHMNqOTrhr0Cmu7mP2j HTTP/1.1" 200 0
[2022-02-12 15:15:46]DEBUG : Message received in socket JEEDOM_SOCKET_MESSAGE
[2022-02-12 15:15:46]DEBUG : {'nameCmd': 'Ecriture Multi Registre 2', 'cmdId': '3457', 'format': 'longformat', 'functioncode': 'fc16', 'nbregister': 0, 'startregister': '21', 'wordorder': 'littleword', 'byteorder': 'bigbyte', 'isnegatif': '0', 'offset': '0'}
[2022-02-12 15:15:46]ERROR : Send command to demon error : 'valuesrequest'
[2022-02-12 15:15:46]DEBUG : {'data': {'288': {}}, 'FUNC': 'readF'}
[2022-02-12 15:15:46]DEBUG : True
[2022-02-12 15:15:46]DEBUG : {'nameCmd': 'PC Temp Amb Freecooling Val', 'cmdId': '3377', 'format': 'longformat', 'functioncode': 'fc03', 'nbregister': '1', 'startregister': '21', 'wordorder': 'littleword', 'byteorder': 'bigbyte', 'isnegatif': '0', 'offset': '0'}
[2022-02-12 15:15:46]DEBUG : Current transaction state - IDLE
[2022-02-12 15:15:46]DEBUG : Running transaction 1
[2022-02-12 15:15:46]DEBUG : SEND: 0x1 0x3 0x0 0x15 0x0 0x1 0x95 0xce
[2022-02-12 15:15:46]DEBUG : New Transaction state 'SENDING'
[2022-02-12 15:15:46]DEBUG : Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
[2022-02-12 15:15:46]DEBUG : Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
[2022-02-12 15:15:46]DEBUG : RECV: 0x1 0x3 0x2 0x0 0xfa 0x38 0x7
[2022-02-12 15:15:46]DEBUG : Getting Frame - 0x3 0x2 0x0 0xfa
[2022-02-12 15:15:46]DEBUG : Factory Response[ReadHoldingRegistersResponse: 3]
[2022-02-12 15:15:46]DEBUG : Frame advanced, resetting header!!
[2022-02-12 15:15:46]DEBUG : Adding transaction 1
[2022-02-12 15:15:46]DEBUG : Getting transaction 1
[2022-02-12 15:15:46]DEBUG : Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
[2022-02-12 15:15:46]DEBUG : [250]
[2022-02-12 15:15:51]DEBUG : Send to jeedom :  {'data': {'288': {'PC Temp Amb Freecooling Val': [{'StartRegister': 21, 'CmdId': '3377', 'value': 250}]}}, 'FUNC': 'readF'}
[2022-02-12 15:15:51]DEBUG : Starting new HTTP connection (1): 127.0.0.1:80
[2022-02-12 15:15:51]DEBUG : Result:{"data":{"288":{"PC Temp Amb Freecooling Val":[{"StartRegister":21,"CmdId":"3377","value":250}]}},"FUNC":"readF"}
[2022-02-12 15:15:51]DEBUG : DATACORRESPOND : {"288":{"PC Temp Amb Freecooling Val":[{"StartRegister":21,"CmdId":"3377","value":250}]}}
[2022-02-12 15:15:51]DEBUG : CMDTOEVENT >>>>>>> PC Temp Amb Freecooling Val
[2022-02-12 15:15:51]DEBUG : VALUETOEVENT >>>>>>> 250
[2022-02-12 15:15:51]DEBUG : DECODER : {"data":{"288":{"PC Temp Amb Freecooling Val":[{"StartRegister":21,"CmdId":"3377","value":250}]}},"FUNC":"readF"}
[2022-02-12 15:15:51]DEBUG : http://127.0.0.1:80 "POST /plugins/modbus/core/php/jeeModbus.php?apikey=iRsYsgY8IhvY06yYxr0UfMEyWBegW5JmeFiwXaBqeE1dRHHMNqOTrhr0Cmu7mP2j HTTP/1.1" 200 0
[2022-02-12 15:15:51]DEBUG : {'data': {'288': {}}, 'FUNC': 'readF'}
[2022-02-12 15:15:51]DEBUG : True
[2022-02-12 15:15:51]DEBUG : {'nameCmd': 'PC Temp Amb Freecooling Val', 'cmdId': '3377', 'format': 'longformat', 'functioncode': 'fc03', 'nbregister': '1', 'startregister': '21', 'wordorder': 'littleword', 'byteorder': 'bigbyte', 'isnegatif': '0', 'offset': '0'}
[2022-02-12 15:15:51]DEBUG : Current transaction state - IDLE
[2022-02-12 15:15:51]DEBUG : Running transaction 1
[2022-02-12 15:15:51]DEBUG : SEND: 0x1 0x3 0x0 0x15 0x0 0x1 0x95 0xce
[2022-02-12 15:15:51]DEBUG : New Transaction state 'SENDING'
[2022-02-12 15:15:51]DEBUG : Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
[2022-02-12 15:15:51]DEBUG : Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
[2022-02-12 15:15:51]DEBUG : RECV: 0x1 0x3 0x2 0x0 0xfa 0x38 0x7
[2022-02-12 15:15:51]DEBUG : Getting Frame - 0x3 0x2 0x0 0xfa
[2022-02-12 15:15:51]DEBUG : Factory Response[ReadHoldingRegistersResponse: 3]
[2022-02-12 15:15:51]DEBUG : Frame advanced, resetting header!!
[2022-02-12 15:15:51]DEBUG : Adding transaction 1
[2022-02-12 15:15:51]DEBUG : Getting transaction 1
[2022-02-12 15:15:51]DEBUG : Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
[2022-02-12 15:15:51]DEBUG : [250]

Dans le log (debug j’ai une erreur :

[2022-02-12 15:15:46]ERROR : Send command to demon error : ‹ valuesrequest ›

En regardant dans le log du debug la différence se situe sur le format

En vert, la trame qui est passée (‹ format ›: 0)
En rouge, la trame qui ne fonctionne pas (‹ format ›: ‹ longformat ›)

Sur la commande qui fonctionne le Logical ID = ecrituremultiRegisters

Sur la commande qui ne fonctionne pas le Logical Id est vide

Je ne sais pas si cela est la cause mais …

Une mise à jour ce matin du plugin mais pas de prise en compte de ce problème.

Est il possible d’avoir une information de la part de l’équipe de Jeedom ?

Bonjour snoopyfb

La commande Action MultiRegistre est prevue initialement pour cette multi Ecriture.

Cela ne fonctionnera pas avec une commande créée par vous, car cela n’est pas prevue pour.

Pourquoi ne pas se servir de celle ci ?

Bonjour

Sur certains automates, il n’y a de disponible que la fonction 16 pour écriture et fonction 3 pour lecture.
Sur les automates de régulation, nous ne sommes pas sur un mode de programmation type « langage information » mais des fonctions type graphcet ou schéma bloc.
De plus les registres Modbus en type R/W ne sont pas forcément à la suite les uns des autres. Il est donc nécessaire pour pouvoir avoir plusieurs commandes fonction 16
Il est donc nécessaire de pour écrire avec la fonction 16, sur 1 unique variable quand on a pas accès à la fonction 6 dans l’automate

De mon coté, et par chance, le nouvel automate que j’utilise accepte la fonction 6 pour écriture et 3 pour la lecture des Holding registers
J’ai donc tout basculé le programme en utilisant ces 2 fonctions (3 et 6)

En écriture, cela fonctionne bien pour les valeurs positives MAIS cela ne fonctionne pas pour les valeurs négatives (avec la fonction 6)
En lecture tout fonctionne

J’ai testé la fonction 16

Avec plus de 80 variables en écriture cela reste compliqué

Est il envisageable d’avoir le champ registre de départ comme une variable à transmette en mettre temps que le valeur ?
L’objectif serait de ne pas avoir la variable registre de départ fixe mais que nous envoyons dans le message de commande

Bonjour

Je m’occupe de cela des aujourdhui.

1 « J'aime »

Bonjour

La mise à jour de ce jour correspond surement à votre message « je m’en occupe de cela des aujourd’hui » mais cela traite quel sujet :

  1. Écriture de valeur négative en fonction 6
  2. La possibilité d’avoir, au niveau de la fonction 16 un registre de départ qui n’est pas fixe mais transmis via le message
  3. Les 2 points ci dessus

Merci

Je n’ai pas encore poussée la mise a jour
Je traite les 2 points.
Cordialement

C’est parfait. Merci beaucoup

Petit question :
Lorsque nous lisons avec la fonction 3, plusieurs registres (par exemple 5 registres à la fois), comment retrouvez vous la valeur des 5 registres indépendants?

Bonjour

Qu’en pensez vous pouvoir pousser la mise à jour ?

Bonjour

La mise a jour est poussée, elle sera disponible en debut d’apres midi

J’ai donc ajouter la possibilité de créer une commande Fc16; il faut choisir le nouveau bouton Fc16 Registres non suivis; a partir de la, dans le corps du message de cette commande, nous pouvons faire :
7!124&1|12!45.6&2
7 registre de depart, 124 valeur, sur 1 registre
12 registre de depart, 45.6 valeur, sur 2 registre
Pour la fonction Fc6, j’ai resolu pour la valeur negative; bien penser à bien choisir les min et max du slider à la création de la commande

Dans l’attente de vos retours

Je suis à l’étranger et je test ceci en fin de semaine

Merci d’avance

Bonjour

De mon coté cela ne fonctionne pas

j’ai un message d’erreur sur le log :

[2022-02-22 16:20:19]ERROR : Erreur MODBUS : name 'infoCmd' is not defined

Ci joint le log

[2022-02-22 16:20:19]DEBUG : New Transaction state 'SENDING'
[2022-02-22 16:20:19]DEBUG : Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
[2022-02-22 16:20:19]DEBUG : Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
[2022-02-22 16:20:19]DEBUG : RECV: 0x3 0x3 0x2 0x0 0x0 0xc1 0x84
[2022-02-22 16:20:19]DEBUG : Getting Frame - 0x3 0x2 0x0 0x0
[2022-02-22 16:20:19]DEBUG : Factory Response[ReadHoldingRegistersResponse: 3]
[2022-02-22 16:20:19]DEBUG : Frame advanced, resetting header!!
[2022-02-22 16:20:19]DEBUG : Adding transaction 3
[2022-02-22 16:20:19]DEBUG : Getting transaction 3
[2022-02-22 16:20:19]DEBUG : Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
[2022-02-22 16:20:19]DEBUG : TEST2
[2022-02-22 16:20:19]DEBUG : ReadHoldingRegistersResponse (1)
[2022-02-22 16:20:19]DEBUG : [0]
[2022-02-22 16:20:19]ERROR : Erreur MODBUS : name 'infoCmd' is not defined
[2022-02-22 16:20:19]DEBUG : {'nameCmd': 'Z1_Ventilateur', 'cmdId': '4188', 'format': 'longformat', 'functioncode': 'fc03', 'nbregister': '1', 'startregister': '97', 'wordorder': 'littleword', 'byteorder': 'bigbyte', 'isnegatif': '0', 'offset': 0, 'decimal': 0}
[2022-02-22 16:20:19]DEBUG : Current transaction state - TRANSACTION_COMPLETE
[2022-02-22 16:20:19]DEBUG : Running transaction 88
[2022-02-22 16:20:19]DEBUG : SEND: 0x3 0x3 0x0 0x61 0x0 0x1 0xd4 0x36
[2022-02-22 16:20:19]DEBUG : Changing state to IDLE - Last Frame End - 1645543219.732026, Current Time stamp - 1645543219.734349
[2022-02-22 16:20:19]DEBUG : Waiting for 3.5 char before next send - 1.75 ms
[2022-02-22 16:20:19]DEBUG : New Transaction state 'SENDING'
[2022-02-22 16:20:19]DEBUG : Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
[2022-02-22 16:20:19]DEBUG : Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
[2022-02-22 16:20:19]DEBUG : RECV: 0x3 0x3 0x2 0x0 0x28 0xc1 0x9a
[2022-02-22 16:20:19]DEBUG : Getting Frame - 0x3 0x2 0x0 0x28
[2022-02-22 16:20:19]DEBUG : Factory Response[ReadHoldingRegistersResponse: 3]
[2022-02-22 16:20:19]DEBUG : Frame advanced, resetting header!!
[2022-02-22 16:20:19]DEBUG : Adding transaction 3
[2022-02-22 16:20:19]DEBUG : Getting transaction 3
[2022-02-22 16:20:19]DEBUG : Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
[2022-02-22 16:20:19]DEBUG : TEST2
[2022-02-22 16:20:19]DEBUG : ReadHoldingRegistersResponse (1)
[2022-02-22 16:20:19]DEBUG : [40]
[2022-02-22 16:20:19]ERROR : Erreur MODBUS : name 'infoCmd' is not defined
[2022-02-22 16:20:19]DEBUG : {'nameCmd': 'Z2_Ventilateur', 'cmdId': '4189', 'format': 'longformat', 'functioncode': 'fc03', 'nbregister': '1', 'startregister': '98', 'wordorder': 'littleword', 'byteorder': 'bigbyte', 'isnegatif': '0', 'offset': 0, 'decimal': 0}
[2022-02-22 16:20:19]DEBUG : Current transaction state - TRANSACTION_COMPLETE
[2022-02-22 16:20:19]DEBUG : Running transaction 89
[2022-02-22 16:20:19]DEBUG : SEND: 0x3 0x3 0x0 0x62 0x0 0x1 0x24 0x36
[2022-02-22 16:20:19]DEBUG : Changing state to IDLE - Last Frame End - 1645543219.747924, Current Time stamp - 1645543219.750065
[2022-02-22 16:20:19]DEBUG : Waiting for 3.5 char before next send - 1.75 ms
[2022-02-22 16:20:19]DEBUG : New Transaction state 'SENDING'
[2022-02-22 16:20:19]DEBUG : Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'

Je précise cette erreur apparait dès lors que j’ai mis à jour le plugin Modbus sans modifier la configuration des commandes dans le plugin

Cette erreur apparait dès la créaton d’un point via le bouton « Nouvelle commande Modbus » car le LogicalID est vide.
La communication Modbus avec les automates tombe et il n’y a plus de lecture des variables Modbus

Si nous créons aucun point, il n’y a pas d’erreur

Beta poussé à l’instant avec la modif de l’erreur

Certaines variables passent en écriture et pas d’autres.
Les valeurs remontées ne sont pas cohérentes
La même variable Modbus remonte une valeur avec la version du plugin précedent, et nous avons une autre valeur avec la nouvelle version (Fonction lecture 3 Holding registers)

il y a un problème de fonctionnement sur cette version qui pour moi a un bugg

Cela n’est pas concluant sur cette modification

Suite simplement à la mise à jour du plugin, sans aucune autre intervention, les variables ci dessous change de valeur sans raison valable (valeur sans limite mini et maxi)

Passage de la valeur 1 à 256
Passage de la valeur 2 à 512
Passage de la valeur 3 à 768
Passage de la valeur 5 à 1280
Passage de la valeur 8 à 2048
Passade de la valeur 100 à 25600

Les valeurs à 0 reste à 0
J’ai une valeur à 2 qui reste à 2 (avec unités et valeur mini et maxi)

CONCLUSION
Le problème d’affichage apparait sur les commandes, en lecture fonction 3, lorsqu’il n’y a pas de seuil valeur maxi
Sur certains registres Modbus, on arrive à écrire mais pas sur d’autres

Y a t’il une mise à jour de planifiée et quand ?

Prevue pour demain