Accéder au suivi d’activité Zibase avec node JS

Voici un petit script javascript qui permet d’afficher la log de la Zibase en temps réel.
Je l’utilise fréquemment afin de suivre l’activité de la Zibase lors de l’installation d’un nouveau scénario dans la Zibase.
snapshot1screenshot sous windows

snapshot windows

Le script nécessite l’installation de nodejs logoNodeJs est disponible sous linux, Mac ou Windows.
J’ai testé le fonctionnement sous Ubuntu, Raspian ainsi que Windows7

Marche à suivre pour l’installation du script:

Avant tout, vérifiez la bonne installation de nodejs ainsi que de npm. Les commandes node -v et npm -v doivent retourner la version des applications:
Sous linux:

pi@raspi /var/log $ node -v
v0.10.2
pi@raspi /var/log $ npm -v
1.2.15

Sous Windows:
snapshot3snapshot windows

Une fois node et npm installés, téléchargez le fichier master.zip ou accédez au repository GitHub
Décompressez le fichier dans un répertoire (ex: zibase log, pour moi ce sera udp), vous obtenez:

eric@I7:~/Documents$ cd udp
eric@I7:~/Documents/udp$ ll
total 16
drwxr-xr-x 2 eric eric 4096 août   9 21:07 ./
drwxr-xr-x 6 eric eric 4096 août   9 21:08 ../
-rw-rw-r-- 1 eric eric 2132 août   9 18:30 app.js
-rw-r--r-- 1 eric eric  280 août   9 19:00 package.json
eric@I7:~/Documents/udp$ 

Il faut maintenant renseigner le script avec l’adresse IP de votre zibase, pour cela
éditez le fichier package.json et entrez l’adresse de votre zibase ( pour moi c’est 192.168.0.100)

eric@I7:~/Documents/udp$ cat package.json 
{
  "name": "zibase-log",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "wstart" : "SET IP_ZIBASE=192.168.0.100 && node app.js",
    "start": "export IP_ZIBASE=192.168.0.100; node app.js"
  },
  "dependencies": {
    "moment": "2.8.3"
  },
  "author": "onlinux",
   "date": "20140809"
}

Lancement du script

Assurez-vous que tous les modules nodeJs sont bien installés, sous Windows ou Linux tapez:

eric@I7:~/Documents/udp$ npm install

S’il manquait des modules, ceux-ci vont être téléchargés et installés.

Maintenant, il suffit de lancer le script.

Pour le lancer sous linux , tapez:

eric@I7:~/Documents/udp$ npm start

Sous Windows, tapez:

E:\node\udp\npm run wstart

vous devriez obtenir la log de la zibase en temps réel:

eric@I7:~/Documents/udp$ npm start

> zibase-log@0.0.1 start /home/eric/Documents/udp
> export IP_ZIBASE=192.168.0.100; node app.js


5a534947000d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0a80072000042cc000000000000000000000000
server listening 192.168.0.114:17100
Sat Aug 09 2014 21:10:49 GMT+0200 (CEST) Zapi linked to host IP=192.168.0.114 UDP Port=17100
Sat Aug 09 2014 21:10:51 GMT+0200 (CEST) Received radio ID (433Mhz Oregon Noise=2425 Level=3.3/5 Temp-Hygro Ch=1 T=+25.8C (+78.4F) Humidity=64%  Batt=Ok): OS439207425
Sat Aug 09 2014 21:10:52 GMT+0200 (CEST) Received radio ID (433Mhz Oregon Noise=2424 Level=5.0/5 Temp-Hygro Ch=2 T=+26.1C (+78.9F) Humidity=64%  Batt=Ok): OS439208706
^CCaught interrupt signal

Unregistering... 70
eric@I7:~/Documents/udp$ exit

Pour suivre l’activité lors de l’installation d’un nouveau scénario , sur mon raspberry pi, je
pipe la log et grep sur une chaîne de caractère ou un numero de scénario.
On peut enregistrer l’ensemble de l’activité dans un fichier pour une analyse ultérieure.
Bon, si vous utilisez linux, vous connaissez les commandes grep, pipe| etc… tout le nécessaire pour une recherche dans une log.

eric@I7:~/Documents/udp$ npm start | grep radio
Sat Aug 09 2014 21:32:45 GMT+0200 (CEST) Received radio ID (433Mhz Oregon Noise=2445 Level=5.0/5 Temp-Hygro Ch=2 T=+26.1C (+78.9F) Humidity=63%  Batt=Ok): OS439208706
Sat Aug 09 2014 21:32:50 GMT+0200 (CEST) Received radio ID (433Mhz Oregon Noise=2425 Level=5.0/5 Temp-Hygro Ch=1 T=+26.5C (+79.7F) Humidity=64%  Batt=Ok): OS439164929
Sat Aug 09 2014 21:32:57 GMT+0200 (CEST) Received radio ID (433Mhz Oregon Noise=2404 Level=3.5/5 Temp-Hygro Ch=1 T=+25.7C (+78.2F) Humidity=64%  Batt=Ok): OS439207425

Le script est très simple, il peut être conjuguer facilement à un serveur express pour accéder à l’ensemble des info Zibase ou bien créer un site comme il en existe déjà en php pour la zibase.

Exemple de sortie de log

Lors du réglage du FGMS-001 (ici ZWAVE ZA4), j’ai suivi l’activité pour voir l’effet de différentes mofifications sur les paramètres 42 (Intervalle de rapport de luminosité), 60 (Seuil de rapport de température) et 80 (mode de signalement des LED) du FGMS-001.

eric@I7:~/node/udp$ npm start | grep -v Oregon

snapshot2snapshot windows

Voilà, en espérant que cela puisse aider quelques utilisateurs de la Zibase lors de l’installation et test d’un nouveau scénario.