Tout d'abord j'ai essayé de remonter le bug par le systeme de ticket prévus par jeedom, mais impossible de poster le bug car je reçoit le message suivant :
J'avais utilisé le type Rapport, et la catégorie Plugin RFXcom.CURL HTTP Request Failed: Status Code : 400, URL:https://jeedom.atlassian.net/rest/api/2/issue Error Message : {"errorMessages":[],"errors":{"components":"Le nom du composant 'RFXcom' est invalide"}}
Voici le rapport que j'ai essayé d'envoyer :
J'ai une télécommande rfxcom qui peut piloter jusqu'a 4 prises. Il y a donc 4 boutons ON/OFF + 2 boutons Master qui permettent de faire un ON ou un OFF sur tous les périphériques.
La télécommande est une Flamingo SF-501R CONTROL
La détection c'est bien faite et j'ai bien 5 status vu dans jeedom bt2 à bt5 + gr2
Lorsque l'on appuie sur le bouton Master ON ou OFF, il y a 5 trames qui partent, celle du Master en premier, puis celle de chaque bouton les une a la suite des autres. voir cet exemple de log acquis lorsque j'ai appuyé sur le bouton Master OFF :
Code : Tout sélectionner
[2018-04-14 11:43:40][DEBUG] : Message: 0B 11 00 7A 02 1A 18 00 02 03 00 80
[2018-04-14 11:43:40][DEBUG] : Decode : 0B 11 00 7A 02 1A 18 00 02 03 00 80
[2018-04-14 11:43:40][DEBUG] : Test message: 0B 11 00 7A 02 1A 18 00 02 03 00 80
[2018-04-14 11:43:40][DEBUG] : PacketType: 11
[2018-04-14 11:43:40][DEBUG] : SubType: 00
[2018-04-14 11:43:40][DEBUG] : SeqNbr: 7A
[2018-04-14 11:43:40][DEBUG] : Id1: 02
[2018-04-14 11:43:40][DEBUG] : Id2: 1A
[2018-04-14 11:43:40][DEBUG] : Decode data : {'raw': '0B11007A021A180002030080', 'signal': '8', 'subtype': '00', 'command': 'Group_Off', 'dimlevel': '0', 'unitcode': '2', 'packettype': '11', 'id': '021A1800'}
[2018-04-14 11:43:40][DEBUG] : Send to jeedom : {'devices': {'021A180011': {'raw': '0B11007A021A180002030080', 'signal': '8', 'subtype': '00', 'command': 'Group_Off', 'dimlevel': '0', 'unitcode': '2', 'packettype': '11', 'id': '021A1800'}}}
[2018-04-14 11:43:40][INFO] : Starting new HTTP connection (1): 127.0.0.1
[2018-04-14 11:43:40][DEBUG] : "POST /plugins/rfxcom/core/php/jeeRfxcom.php?apikey=jRUrlKtXCNuO29JKj1pCTNKTPUYw1dQ5 HTTP/1.1" 200 0
[2018-04-14 11:43:40][DEBUG] : Message: 0B 11 00 7B 02 1A 18 00 02 00 00 80
[2018-04-14 11:43:40][DEBUG] : Decode : 0B 11 00 7B 02 1A 18 00 02 00 00 80
[2018-04-14 11:43:40][DEBUG] : Test message: 0B 11 00 7B 02 1A 18 00 02 00 00 80
[2018-04-14 11:43:40][DEBUG] : PacketType: 11
[2018-04-14 11:43:40][DEBUG] : SubType: 00
[2018-04-14 11:43:40][DEBUG] : SeqNbr: 7B
[2018-04-14 11:43:40][DEBUG] : Id1: 02
[2018-04-14 11:43:40][DEBUG] : Id2: 1A
[2018-04-14 11:43:40][DEBUG] : Decode data : {'raw': '0B11007B021A180002000080', 'signal': '8', 'subtype': '00', 'command': 'Off', 'dimlevel': '0', 'unitcode': '2', 'packettype': '11', 'id': '021A1800'}
[2018-04-14 11:43:41][DEBUG] : Message: 0B 11 00 7C 02 1A 18 00 03 00 00 80
[2018-04-14 11:43:41][DEBUG] : Decode : 0B 11 00 7C 02 1A 18 00 03 00 00 80
[2018-04-14 11:43:41][DEBUG] : Test message: 0B 11 00 7C 02 1A 18 00 03 00 00 80
[2018-04-14 11:43:41][DEBUG] : PacketType: 11
[2018-04-14 11:43:41][DEBUG] : SubType: 00
[2018-04-14 11:43:41][DEBUG] : SeqNbr: 7C
[2018-04-14 11:43:41][DEBUG] : Id1: 02
[2018-04-14 11:43:41][DEBUG] : Id2: 1A
[2018-04-14 11:43:41][DEBUG] : Decode data : {'raw': '0B11007C021A180003000080', 'signal': '8', 'subtype': '00', 'command': 'Off', 'dimlevel': '0', 'unitcode': '3', 'packettype': '11', 'id': '021A1800'}
[2018-04-14 11:43:41][DEBUG] : Send to jeedom : {'devices': {'021A180011': {'raw': '0B11007C021A180003000080', 'signal': '8', 'subtype': '00', 'command': 'Off', 'dimlevel': '0', 'unitcode': '3', 'packettype': '11', 'id': '021A1800'}}}
[2018-04-14 11:43:41][INFO] : Starting new HTTP connection (1): 127.0.0.1
[2018-04-14 11:43:41][DEBUG] : Message: 0B 11 00 7D 02 1A 18 00 04 00 00 80
[2018-04-14 11:43:41][DEBUG] : Decode : 0B 11 00 7D 02 1A 18 00 04 00 00 80
[2018-04-14 11:43:41][DEBUG] : Test message: 0B 11 00 7D 02 1A 18 00 04 00 00 80
[2018-04-14 11:43:41][DEBUG] : PacketType: 11
[2018-04-14 11:43:41][DEBUG] : SubType: 00
[2018-04-14 11:43:41][DEBUG] : SeqNbr: 7D
[2018-04-14 11:43:41][DEBUG] : Id1: 02
[2018-04-14 11:43:41][DEBUG] : Id2: 1A
[2018-04-14 11:43:41][DEBUG] : Decode data : {'raw': '0B11007D021A180004000080', 'signal': '8', 'subtype': '00', 'command': 'Off', 'dimlevel': '0', 'unitcode': '4', 'packettype': '11', 'id': '021A1800'}
[2018-04-14 11:43:41][DEBUG] : Message: 0B 11 00 7E 02 1A 18 00 05 00 00 80
[2018-04-14 11:43:41][DEBUG] : Decode : 0B 11 00 7E 02 1A 18 00 05 00 00 80
[2018-04-14 11:43:41][DEBUG] : "POST /plugins/rfxcom/core/php/jeeRfxcom.php?apikey=jRUrlKtXCNuO29JKj1pCTNKTPUYw1dQ5 HTTP/1.1" 200 0
[2018-04-14 11:43:41][DEBUG] : Test message: 0B 11 00 7E 02 1A 18 00 05 00 00 80
[2018-04-14 11:43:41][DEBUG] : PacketType: 11
[2018-04-14 11:43:41][DEBUG] : SubType: 00
[2018-04-14 11:43:41][DEBUG] : SeqNbr: 7E
[2018-04-14 11:43:41][DEBUG] : Id1: 02
[2018-04-14 11:43:41][DEBUG] : Id2: 1A
[2018-04-14 11:43:41][DEBUG] : Decode data : {'raw': '0B11007E021A180005000080', 'signal': '8', 'subtype': '00', 'command': 'Off', 'dimlevel': '0', 'unitcode': '5', 'packettype': '11', 'id': '021A1800'}
[2018-04-14 11:43:41][DEBUG] : Send to jeedom : {'devices': {'021A180011': {'raw': '0B11007E021A180005000080', 'signal': '8', 'subtype': '00', 'command': 'Off', 'dimlevel': '0', 'unitcode': '5', 'packettype': '11', 'id': '021A1800'}}}
[2018-04-14 11:43:41][INFO] : Starting new HTTP connection (1): 127.0.0.1
[2018-04-14 11:43:41][DEBUG] : "POST /plugins/rfxcom/core/php/jeeRfxcom.php?apikey=jRUrlKtXCNuO29JKj1pCTNKTPUYw1dQ5 HTTP/1.1" 200 0
j'avais allumé les lampe une à une avant, puis appuyé sur le bouton Master ON et vérifié que les statuts étaient bien tous à 1.
Le problème c'est que après l'appuie sur le bouton Master Off les statuts de la télécommande sont passé à
bt2 : 1
bt3 : 0
bt4 : 1
bt5 : 0
gr2 : 0
donc 2 statuts ne se sont pas mis à jour (les prises elles, ce sont bien éteinte).
il est a noter que si j'appuie plusieur fois sur le bonton Master Off, après un certain nombre d'essais (2 ou 3 en général), tous les statuts sont corrects.
Le même problème survient également avec l'allumage des prises.
De mon point de vue développeur, le problème pourrait provenir d'un buffer mal géré (ou pas de buffer du tout), le plugin prendrait la trame au moment ou il la voie et perds la suivante car elle arrive pendant le traitement de celle-ci. puis il en voie une autre, la traite, mais en perds encore une car trop rapprochée etc etc...
D'un autre coté, la trame Master étant bien reçue et le statut de l'état gr2 étant bien mis à jour, je ne comprend pas pourquoi tout les autres statuts ne sont pas mis à jours simultanément car cette trame seule permet d'allumer et d’éteindre toutes les prises sans avoir besoin d'envoyer les 4 autres trames (testé en envoyant uniquement cette trame en raw data)
Cordialement,
Kurairaito.