Compatibilité Module Relais Waveshare

Voici le paramétrage actuelle des commandes infos :

Ensuite J’ai mis à « OFF » les 4 premiers relais , tempo 5" , puis remis à « ON » les 4 premiers relais. Les commandes infos sont restées à ‹ 0 ›.
Voici le log de cette séquence :

[2024-02-03 10:32:09][DEBUG] : jeemymodbus.php: $result *{"eqId":"2","values":{"cycle_time":5.024961376190186}}* type: array
[2024-02-03 10:32:09][DEBUG] : jeemodbus.php: Mise à jour cmd Temps de rafraîchissement -> new value: 5.025
[2024-02-03 10:32:09][INFO] : jeemodbus.php: Mise à jour des commandes info : 'Temps de rafraîchissement'
[2024-02-03 10:32:14][DEBUG] : eqLogic mymodbus getCompleteConfiguration: [{"id":"2","name":"Module Relais","eqProtocol":"serial","eqKeepopen":"1","eqRefreshMode":"polling","eqPolling":"5","eqWriteCmdCheckTimeout":"2","eqFirstDelay":"0","eqSerialInterface":"\/dev\/serial\/by-id\/usb-1a86_USB_Single_Serial_56C2106113-if00","eqSerialMethod":"rtu","eqSerialBaudrate":"9600","eqSerialBytesize":"8","eqSerialParity":"N","eqSerialStopbits":"1","eqSerialBiMaster":"0","cmds":[{"id":"20","name":"State Relays","type":"info","cmdSlave":"1","cmdFctModbus":"1","cmdFormat":"blob","cmdAddress":"0[16]","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"23","name":"State Relay a","type":"info","cmdSlave":"0","cmdFctModbus":"fromBlob","cmdSourceBlob":"20","cmdFormat":"bit","cmdAddress":"0","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"24","name":"State Relay b","type":"info","cmdSlave":"0","cmdFctModbus":"fromBlob","cmdSourceBlob":"20","cmdFormat":"bit","cmdAddress":"1","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"47","name":"State Relay c","type":"info","cmdSlave":"0","cmdFctModbus":"fromBlob","cmdSourceBlob":"20","cmdFormat":"bit","cmdAddress":"2","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"48","name":"State Relay d","type":"info","cmdSlave":"0","cmdFctModbus":"fromBlob","cmdSourceBlob":"20","cmdFormat":"bit","cmdAddress":"3","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"49","name":"State Relay e","type":"info","cmdSlave":"0","cmdFctModbus":"fromBlob","cmdSourceBlob":"20","cmdFormat":"bit","cmdAddress":"4","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"27","name":"Relay 1 ON","type":"action","cmdSlave":"1","cmdFctModbus":"5","cmdFormat":"bit","cmdAddress":"0","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"21","name":"Relay 2 ON","type":"action","cmdSlave":"1","cmdFctModbus":"5","cmdFormat":"bit","cmdAddress":"1","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"29","name":"Relay 3 ON","type":"action","cmdSlave":"1","cmdFctModbus":"5","cmdFormat":"bit","cmdAddress":"2","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"28","name":"Relay 1 OFF","type":"action","cmdSlave":"1","cmdFctModbus":"5","cmdFormat":"bit","cmdAddress":"0","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"31","name":"Relay 4 ON","type":"action","cmdSlave":"1","cmdFctModbus":"5","cmdFormat":"bit","cmdAddress":"3","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"22","name":"Relay 2 OFF","type":"action","cmdSlave":"1","cmdFctModbus":"5","cmdFormat":"bit","cmdAddress":"1","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"30","name":"Relay 3 OFF","type":"action","cmdSlave":"1","cmdFctModbus":"5","cmdFormat":"bit","cmdAddress":"2","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"32","name":"Relay 4 OFF","type":"action","cmdSlave":"1","cmdFctModbus":"5","cmdFormat":"bit","cmdAddress":"3","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"}]}]
[2024-02-03 10:32:15][DEBUG] : jeemymodbus.php: $result *{"heartbeat_request":1706952735}* type: array
[2024-02-03 10:32:19][DEBUG] : jeemymodbus.php: $result *{"eqId":"2","values":{"20":true,"23":false,"24":false,"47":false,"48":false,"49":false}}* type: array
[2024-02-03 10:32:19][DEBUG] : jeemodbus.php: Mise à jour cmd State Relays -> new value: 1
[2024-02-03 10:32:19][DEBUG] : jeemodbus.php: Mise à jour cmd State Relay a -> new value: 
[2024-02-03 10:32:19][DEBUG] : jeemodbus.php: Mise à jour cmd State Relay b -> new value: 
[2024-02-03 10:32:19][DEBUG] : jeemodbus.php: Mise à jour cmd State Relay c -> new value: 
[2024-02-03 10:32:19][DEBUG] : jeemodbus.php: Mise à jour cmd State Relay d -> new value: 
[2024-02-03 10:32:19][DEBUG] : jeemodbus.php: Mise à jour cmd State Relay e -> new value: 
[2024-02-03 10:32:19][INFO] : jeemodbus.php: Mise à jour des commandes info : 'State Relays' 'State Relay a' 'State Relay b' 'State Relay c' 'State Relay d' 'State Relay e'
[2024-02-03 10:32:27][DEBUG] : eqLogic mymodbus getCompleteConfiguration: [{"id":"2","name":"Module Relais","eqProtocol":"serial","eqKeepopen":"1","eqRefreshMode":"polling","eqPolling":"5","eqWriteCmdCheckTimeout":"2","eqFirstDelay":"0","eqSerialInterface":"\/dev\/serial\/by-id\/usb-1a86_USB_Single_Serial_56C2106113-if00","eqSerialMethod":"rtu","eqSerialBaudrate":"9600","eqSerialBytesize":"8","eqSerialParity":"N","eqSerialStopbits":"1","eqSerialBiMaster":"0","cmds":[{"id":"20","name":"State Relays","type":"info","cmdSlave":"1","cmdFctModbus":"1","cmdFormat":"blob","cmdAddress":"0[16]","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"23","name":"State Relay a","type":"info","cmdSlave":"0","cmdFctModbus":"fromBlob","cmdSourceBlob":"20","cmdFormat":"bit","cmdAddress":"0","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"24","name":"State Relay b","type":"info","cmdSlave":"0","cmdFctModbus":"fromBlob","cmdSourceBlob":"20","cmdFormat":"bit","cmdAddress":"1","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"47","name":"State Relay c","type":"info","cmdSlave":"0","cmdFctModbus":"fromBlob","cmdSourceBlob":"20","cmdFormat":"bit","cmdAddress":"2","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"48","name":"State Relay d","type":"info","cmdSlave":"0","cmdFctModbus":"fromBlob","cmdSourceBlob":"20","cmdFormat":"bit","cmdAddress":"3","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"49","name":"State Relay e","type":"info","cmdSlave":"0","cmdFctModbus":"fromBlob","cmdSourceBlob":"20","cmdFormat":"bit","cmdAddress":"4","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"27","name":"Relay 1 ON","type":"action","cmdSlave":"1","cmdFctModbus":"5","cmdFormat":"bit","cmdAddress":"0","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"21","name":"Relay 2 ON","type":"action","cmdSlave":"1","cmdFctModbus":"5","cmdFormat":"bit","cmdAddress":"1","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"29","name":"Relay 3 ON","type":"action","cmdSlave":"1","cmdFctModbus":"5","cmdFormat":"bit","cmdAddress":"2","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"31","name":"Relay 4 ON","type":"action","cmdSlave":"1","cmdFctModbus":"5","cmdFormat":"bit","cmdAddress":"3","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"28","name":"Relay 1 OFF","type":"action","cmdSlave":"1","cmdFctModbus":"5","cmdFormat":"bit","cmdAddress":"0","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"22","name":"Relay 2 OFF","type":"action","cmdSlave":"1","cmdFctModbus":"5","cmdFormat":"bit","cmdAddress":"1","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"30","name":"Relay 3 OFF","type":"action","cmdSlave":"1","cmdFctModbus":"5","cmdFormat":"bit","cmdAddress":"2","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"},{"id":"32","name":"Relay 4 OFF","type":"action","cmdSlave":"1","cmdFctModbus":"5","cmdFormat":"bit","cmdAddress":"3","cmdFrequency":"1","cmdInvertBytes":"0","cmdInvertWords":"0","repeat":"0"}]}]
[2024-02-03 10:32:30][DEBUG] : jeemymodbus.php: $result *{"eqId":"2","values":{"20":true,"23":false,"24":false,"47":false,"48":false,"49":false}}* type: array
[2024-02-03 10:32:30][DEBUG] : jeemodbus.php: Mise à jour cmd State Relays -> new value: 1
[2024-02-03 10:32:30][DEBUG] : jeemodbus.php: Mise à jour cmd State Relay a -> new value: 
[2024-02-03 10:32:30][DEBUG] : jeemodbus.php: Mise à jour cmd State Relay b -> new value: 
[2024-02-03 10:32:30][DEBUG] : jeemodbus.php: Mise à jour cmd State Relay c -> new value: 
[2024-02-03 10:32:30][DEBUG] : jeemodbus.php: Mise à jour cmd State Relay d -> new value: 
[2024-02-03 10:32:30][DEBUG] : jeemodbus.php: Mise à jour cmd State Relay e -> new value: 
[2024-02-03 10:32:30][INFO] : jeemodbus.php: Mise à jour des commandes info : 'State Relays' 'State Relay a' 'State Relay b' 'State Relay c' 'State Relay d' 'State Relay e'
[2024-02-03 10:32:34][DEBUG] : **************** execute *****: {"user_login":"admin","user_id":"1"}
[2024-02-03 10:32:36][DEBUG] : **************** execute *****: {"user_login":"admin","user_id":"1"}
[2024-02-03 10:32:37][DEBUG] : **************** execute *****: {"user_login":"admin","user_id":"1"}
[2024-02-03 10:32:39][DEBUG] : **************** execute *****: {"user_login":"admin","user_id":"1"}
[2024-02-03 10:32:47][DEBUG] : **************** execute *****: {"user_login":"admin","user_id":"1"}
[2024-02-03 10:32:48][DEBUG] : **************** execute *****: {"user_login":"admin","user_id":"1"}
[2024-02-03 10:32:50][DEBUG] : **************** execute *****: {"user_login":"admin","user_id":"1"}
[2024-02-03 10:32:52][DEBUG] : **************** execute *****: {"user_login":"admin","user_id":"1"}
[2024-02-03 10:32:57][DEBUG] : jeemymodbus.php: $result *{"eqId":"2","values":{"cycle_time":5.475239086151123}}* type: array
[2024-02-03 10:32:57][DEBUG] : jeemodbus.php: Mise à jour cmd Temps de rafraîchissement -> new value: 5.475
[2024-02-03 10:32:57][INFO] : jeemodbus.php: Mise à jour des commandes info : 'Temps de rafraîchissement'
[2024-02-03 10:33:16][DEBUG] : jeemymodbus.php: $result *{"heartbeat_request":1706952796}* type: array
[2024-02-03 10:33:22][DEBUG] : jeemymodbus.php: $result *{"eqId":"2","values":{"cycle_time":5.022348356246948}}* type: array
[2024-02-03 10:33:22][DEBUG] : jeemodbus.php: Mise à jour cmd Temps de rafraîchissement -> new value: 5.022
[2024-02-03 10:33:22][INFO] : jeemodbus.php: Mise à jour des commandes info : 'Temps de rafraîchissement'
[2024-02-03 10:33:47][DEBUG] : jeemymodbus.php: $result *{"eqId":"2","values":{"cycle_time":5.017082405090332}}* type: array
[2024-02-03 10:33:47][DEBUG] : jeemodbus.php: Mise à jour cmd Temps de rafraîchissement -> new value: 5.017
[2024-02-03 10:33:47][INFO] : jeemodbus.php: Mise à jour des commandes info : 'Temps de rafraîchissement'

Michel,

Je t’ai envoyé message en MP.
Merci

Dans ce log, de nouveau, il n’y a pas d’activité du démon…
Il tourne ?

Les adresses sont à partir de 8 pour le relais 1: Adresse 8 à 15 pour les relais 1 à 8

A voir si les relais 9 à 16 ont l’adresse 0 à 7 ?

edit: ça ressemble à de l’inversion d’octets, mais l’option ne change rien. Je testerai ça peut-être plus tard

Bonjour,
Petite synthèse concernant le bon paramétrage des commandes de ce module Relais.

  1. Commandes Action ON/OFF


  2. Retour d’état des relais
    a) Définir la plage de registre à lire


    b) Créer les commandes d’état de chaque relais (Exemple Relais 1)

  3. /!\ Adresse Modbus état des relais. Testée sur les 16 Relais
    Relais de 1 à 8 → Adresse de 8 à 15
    Relais de 9 à 16 → Adresse de 0 à 7

Merci @Michel_F pour son expertise & disponibilté.

1 « J'aime »

Je regarderai pour corriger l’option d’inversion des octets et des mots pour les format bit. J’ai trouvé où ça manque dans le code du démon, je dois encore faire, tester et poster.