- Il faut qu'il existe un profil pour cette Objet. Pour cela, on peut demander au fabricant. On peut regarder dans LiveObject en créant un objet et regarder la liste des profils s'il existe pour notre objet.
- Il faut qu'un décodeur existe ou qu'il soit facile à créer. Quand le décodage est complexe, il faut demander au fabricant où trouver (sur le web, GitHub,...) le décodeur. S'il n'existe pas, il faut connaitre la façon de décoder la "payload" correspondant à l'objet connecté. En effet, quand le décodage est complexe, il faut réaliser un décodeur en Javascript et sans source, ce n'est pas possible.
- Il faut connaitre les paramètres DevEUI, AppEui et AppKey.
Sans un des 3 élèments ci-dessus, il ne sera pas possible de créer ou d'exploiter l'objet et il sera donc inutile.
Une fois que nous avons un décodeur déjà fait ou que nous savons comment décoder la payload, il faut :
- le décodeur doit être compatible Javascript ES5 et pas ES6. Pour cela, on peut le vérifer via le site suivant : https://jshint.com/. Ce site indiquera les erreurs mais aussi ce qui est en ES6. Le site : https://jstool.gitlab.io/es6-to-es5-converter/ propose de convertir les élèments ES6 vers ES5. C'est très pratique pour les non-experts en JS.
- le décodeur doit suivre les consignes présent sur ces sites :
- https://github.com/DatavenueLiveObjects/Payload-decoders/wiki/
- https://github.com/DatavenueLiveObjects/Payload-decoders/wiki/Guidelines-for-script-development
- https://github.com/DatavenueLiveObjects/Payload-decoders
J'utilise NodeRed inclus dans LO pour tester mes programmes JS et voir ce que mon programme décode.