Message "No decoder found" Type 04020xxxxx

Depuis mis à jour Merci et Re … @Loic
La trame « No decoder found » apparait suite un envoie d’une cde depuis Jeedom (ici appuie ON Bp 03)

Message received in socket JEEDOM_SOCKET_MESSAGE
Test message: 0B11002800BF582E03010F70
 flushOutput serial port
 flushInput serial port
Write message to serial port
 Write data to serial port : 0b11002800bf582e03010f70
 Write message ok : 0B11002800BF582E03010F70
Message: 0402012800
Decode : 0402012800
Test message: 0402012800
PacketType: 0x02
Length: 5
No decoder found

Pourtant ce retour est effectivement logique, c’est pour confirmer le Status d’envoie de la trame précédente ( voir seqnbr) , « j’en avais déjà parlé »
En fouillant dans « archive » perso j’ai retrouvé l’info de retour, donc @Loic crois-tu pouvoir l’implémenté
ce message 04 02 01 28 00 avec les infos que j’ai ou que tu as peut-être ?

Bonjour,
Je comprend pas cette demande en faite pourquoi vouloir decoder cette trame ? Ca apporterai quoi coté jeedom ? Car la trame contient juste un ACK sauf qu’on gere absolument pas la notion de ACK et c’est pas prévu de le faire (trop complexe et surtout ca marche que sur certain équipement)

Escuse j’étais pas dispo cette aprèm…
Les résultats codés de retour pour cette trame. C’est quand même une fonction du RFXCOM.
Je te donne les infos sur le 0x02.py …
« Pour le subtype »

subtype = {
'0x00' : 'Erreur le récepteur ne s''est pas verrouillé',
'0x01' : 'Réponse du Transmetteur'
}

« Pour les datas »

	data = {
	'packetlen' : jeedom_utils.dec2hex(message[0]),
	'packettype' : jeedom_utils.dec2hex(message[1]),
	'subtype' : jeedom_utils.dec2hex(message[2]),
	'seqnbr' : jeedom_utils.dec2hex(message[3]), # correspond à celui de l'émission
	'msg1' : jeedom_utils.dec2hex(message[4])

	}

Pour l’erreur de verrouillage…

data['subtype'] == '0x00':"Erreur le récepteur ne s'est pas verrouillé"

"Pour la réponse du Transmetteur contenu dans ‹ msg1 › "

data['msg1'] == '0x00':"OK,la commande est passée"
data['msg1'] == '0x01':"OK, mais délai de transmission > 3 sec après données de réception (RF) mais envoyer quand meme")
data['msg1'] == '0x02':"Pas Bon, Le transmetteur n'est pas verrouillé sur la bonne fréquence "
data['msg1'] == '0x03':"Pas Bon, il y a un ID null, non autorisée"

PS :J’avais oublié l’info data[‹ msg1 ›] == ‹ 0x00 › mais c’était évidant …

1 « J'aime »

Je suis d’accord mais en faite je vois pas la finalitée. Tu as ca ok mais tu fais quoi juste tu le log ? Ya pas d’équipement coté jeedom donc impossible de le remonter dans jeedom (ya pas d’id dans le message)

OK pour la finalité, mais ainsi on sait si le RFXCOM accepte la cde initié par nous, pas le message :

[2020-12-07 09:43:15][DEBUG] : Message: 0402012800
[2020-12-07 09:43:15][DEBUG] : Decode : 0402012800
[2020-12-07 09:43:15][DEBUG] : Test message: 0402012800
[2020-12-07 09:43:15][DEBUG] : PacketType: 0x02
[2020-12-07 09:43:15][DEBUG] : Length: 5
[2020-12-07 09:43:15][DEBUG] : No decoder found

Mouai pourquoi pas mais ca aura un impact (minim je suis d’accord) Après si tu as le code du fichier je le mets pas de soucis

Retour message après ma modif

[2020-12-07 10:38:18][DEBUG] : Test message: 0B1100000125C5CE01000070
[2020-12-07 10:38:18][DEBUG] : flushOutput serial port
[2020-12-07 10:38:18][DEBUG] : flushInput serial port
[2020-12-07 10:38:18][DEBUG] : Write message to serial port
[2020-12-07 10:38:18][DEBUG] : Write data to serial port : 0b1100000125c5ce01000070
[2020-12-07 10:38:18][DEBUG] : Write message ok : 0B1100000125C5CE01000070
[2020-12-07 10:38:19][DEBUG] : Message: 0402010000
[2020-12-07 10:38:19][DEBUG] : Decode : 0402010000
[2020-12-07 10:38:19][DEBUG] : Test message: 0402010000
[2020-12-07 10:38:19][DEBUG] : PacketType: 0x02
[2020-12-07 10:38:19][DEBUG] : Length: 5
[2020-12-07 10:38:19][DEBUG] : Start decoding packet type 0x02
[2020-12-07 10:38:19][DEBUG] : Subtype = Reponse du Transmetteur
[2020-12-07 10:38:19][DEBUG] : Data : {'packetlen': '0x04', 'packettype': '0x02', 'subtype': '0x01', 'seqnbr': '0x00', 'msg1': '0x00'}
[2020-12-07 10:38:19][DEBUG] : Reponse du Transmetteur  = 0x00
[2020-12-07 10:38:19][DEBUG] : Message Transmis

Par contre je ne sais pas comment faire pour vérifier que la réponse correspond exactement à la commande initié, par le « seqnbr » (si une info arrive entre temps)
0x02.py - Copie.txt (2,1 Ko)

Je ne te mets pas le compilé, si tu veux modifier …

Nickel ca semble ok chez moi ca sera dans la beta de demain

Merci beaucoup