Accès Web full-JavaScript sur ZiBASE Multi : L'exemple de l'API Koubachi

 

Pages en relation :

Le JavaScript sur ZiBASE Multi - Mise en oeuvre

Le JavaScript sur ZiBASE Multi - Opérations sur le réseau IP

Accéder à sa station météo Netatmo

Accès Web full-JavaScript sur ZiBASE Multi : L'exemple de l'API Koubachi

Parsing ultra-rapide de page XML ou HTML par JavaScript : Exemples de l'EJP et Tempo d'EDF


Préambule : Attention ! Article très technique !

 

Le moteur JavaScript de ZiBASE Multi (Chromium) peut aisément faire des accès WEB et a de grandes facilités pour décoder différents formats de données comme XML ou JSON (JSON signifie d'ailleurs "JavaScript Object Notation").

L'objectif de cet article est de le montrer en prenant l'exemple de la récupération minimale mais effective de données de l'API Web de l'objet communicant Koubachi qui gère à la fois le format XML et le format JSON.

Il est à noter que la présence d'un serveur PHP intermédiaire n'est pas nécessaire et que ZiBASE Multi se suffit à elle-même.

Ce lien est utile à lire pour débuter et voir la structure d'une entité JSON et de celle équivalente en XML. Car la lecture est moins triviale et peut faire mal aux yeux sur des fichiers plus conséquents,  tels que ceux qui vont être décodés dans notre exemple, à savoir analogues à  celui-ci en JSON et celui-ci en XML.

Le listing du programme est donné ici sous forme de fichier .html (si vous cliquez sur ce lien, demandez à votre navigateur à voir le code source de la page) et ici sous forme de fichier .js. Ces fichiers sont les mêmes, le fichier html comportant juste en sus les entêtes HTML.Quel fichier choisir ? Le fichier .html doit être lancé comme une page HTML5 que celle-ci soit visible ou non. Le fichier .js doit être lancé comme une inclusion JavaScript.

Le code se décompose en quatre parties :

- Un utilitaire pour faire un accès HTTPS (ou HTTP)

- Le décodage selon le format JSON en entrée,

- Le décodage "classique" selon le format XML en entrée (ayant le même effet en sortie que dans le cas du décodage JSON),

- Le décodage selon le format XML en entrée par "XPATH",


Pour les tester si vous possédez déjà un ou plusieurs Koubachi, il est nécessaire de les télécharger dans votre appareil Android et d'y faire référence ensuite à partir de ZIBASE Multi. Si vous les déposez dans l'arborescence "/sdcard/data/data/zibase/userscripts", l'accès n'en sera que plus aisé par la suite comme montré ci-dessous. 

Après avoir adaptés les champs 'user_credentials' et ''app_key' selon votre compte et que vous trouverez sur le site du constructeur ici, vous  pouvez directement les lancer et observer le résultat sur votre propre installation.

accès par page HTML5 accès par inclusion JavaScript

--> Voir le Résultat en vidéo ! <--

mettre en mode HD pour une meilleure lisibilité


Les résultats sont ici affichés sous forme de "Toasts" (messages fugitifs en bas de l'écran). Il est à noter que ces messages de toasts sont générés et empilés très rapidement dans une file d'attente, puis affichés au rythme d'un toutes les deux secondes.

L'utilisateur pourra sans peine adapter ces exemples à ses besoins en lançant d'autres actions domotiques à partir du JavaScript ou en lançant des scénarios de ZiBASE Multi, et pourquoi pas aborder les API d'autres objets communicants...