- Le script à pour objectif de remonter les informations de vos périphériques Zibase dans Jeedom
- Le script est en cours de développent, donc soyer indulgent.
- A terme, ce script devrait être convertit en plugin
Etat :
Actuellement le développement se focalise sur la bonne interprétation des trames Zibase
Principe de fonctionnement :
Principe de fonctionnement en prenant pour exemple une sonde Oregon :
Une sonde Oregon génère la trame suivante :
Code : Tout sélectionner
Oct 26 2014 10:31:08 Received radio ID (ZWAVE ZA8 Low-Power Measure Total Energy=10.6kWh Power=130W Batt=Ok): Conso_Prise1 (PZA8)<br>
Oct 26 2014 10:31:15 Received radio ID (433Mhz Oregon Noise=2091 Level=3.7/5 THGx8x0 Ch=1 T=+14.5C (+58.1F) Humidity=94% Batt=Low): TempExt (OS4196953345)<br>
Oct 26 2014 10:31:22 Launch SCENARIO: 3 (trigged by TIMER)<br>
Oct 26 2014 10:31:23 Completed SCENARIO: 3<br>
Oct 26 2014 10:31:25 Sent radio ID (1 Burst(s), Protocols='XDD868 Radiator/Pilot Wire :Auto' ): B1_ON<br>
Oct 26 2014 10:31:25 Received radio ID (433Mhz Oregon Noise=2076 Level=4.2/5 Temp-Hygro Ch=2 T=+17.4C (+63.3F) Humidity=66% Batt=Ok): TempComble (OS439179778)<br>
Oct 26 2014 10:31:26 Received radio ID (433Mhz OWL Noise=2082 Level=4.5/5 High-Power Measure Ch=2 Total Energy=4641.7kWh Power=600W Batt=Ok): Power (WS132632)<br>
Oct 26 2014 10:31:32 Received radio ID (433Mhz Oregon Noise=2080 Level=5.0/5 Temp-Hygro Ch=1 T=+20.6C (+69.0F) Humidity=61% Batt=Ok): Sonde_RIKA (OS439158017)<br>
Oct 26 2014 10:31:32 Launch SCENARIO: 23 (trigged by OS439158017)<br>
Oct 26 2014 10:31:32 Completed SCENARIO: 23<br>
Oct 26 2014 10:31:42 Received radio ID (433Mhz Oregon Noise=2090 Level=1.5/5 Temp-Hygro Ch=2 T=+19.2C (+66.5F) Humidity=68% Batt=Low): TempAlyssia (OS439185922)
Code : Tout sélectionner
Oct 26 2014 10:31:32 Received radio ID (433Mhz Oregon Noise=2080 Level=5.0/5 Temp-Hygro Ch=1 T=+20.6C (+69.0F) Humidity=61% Batt=Ok): Sonde_RIKA (OS439158017)
Code : Tout sélectionner
Sun Oct 26 2014 20:13:17 GMT+0100 (CET) Received radio ID (<rf>433Mhz Oregon</rf> Noise=<noise>2109</noise> Level=<lev>5.0</lev>/5 <dev>Temp-Hygro</dev> Ch=<ch>1</ch> T=<tem>+22.6</tem>C (+72.6F) Humidity=<hum>53</hum>% Batt=<bat>Ok</bat>): <id>OS439158017</id>
Debug : oregon : true | Composant/Id OS439158017
Test de l equipement Oregon Sonde_RIKA, d'ID Zibase OS439158017 et de type temperature
Envoi de la requete HTTP temperature: +22.6
Requete :http://192.168.0.59/jeedom/core/api/jeeApi.php?api=87idcptlk12srv8xfri9&type=virtual&id=65&value=+22.6
Envoi de la requete HTTP Niveau de reception radio: 5.0
Requete :http://192.168.0.59/jeedom/core/api/jeeApi.php?api=87idcptlk12srv8xfri9&type=virtual&id=68&value=5.0
Envoi de la requete HTTP Batterie: Ok
Requete :http://192.168.0.59/jeedom/core/api/jeeApi.php?api=87idcptlk12srv8xfri9&type=virtual&id=67&value=Ok
Envoi de la requete HTTP Hygrometrie: 53
Requete :http://192.168.0.59/jeedom/core/api/jeeApi.php?api=87idcptlk12srv8xfri9&type=virtual&id=66&value=53
Sun Oct 26 2014 20:13:17 GMT+0100 (CET)
A définir
Installation du script
A partir du Github https://github.com/zeldoi5/Zidom, récupérer la dernière version du fichier parse_generate_baseXX.js
Le plus simple est de récupérer l'URL de la version raw du fichier (https://raw.githubusercontent.com/zeldo ... _base10.js) et le la télécharger sur votre système.
Sur la machine hôte (vous pouvez l'héberger directement sur votre serveur Jeedom si vos ressources système le permet) :
Créer un répertoire:
Code : Tout sélectionner
# mkdir zidom
Code : Tout sélectionner
# wget https://raw.githubusercontent.com/zeldoi5/Zidom/master/parse_generate_baseXX.js
Modifier dans le script avec un vi ou nano:
ligne 2 :
Code : Tout sélectionner
zibase_ip = "192.168.0.x"
et les lignes 14 à 17 :
Code : Tout sélectionner
// A remplir :
zibase_device = "ZiBASExxxxx"; (disponible dans l'interface Zibase=> avancé => système)
zibase_token = "yyyyyyyyyy"; (disponible dans l'interface Zibase=> avancé => système)
jeedom_ip = "192.168.0.x"; (spécifier l'adresse IP de votre jeedom)
jeedom_api = "zzzzzzzzzzzzzzzzzz"; (disponible dans jeedom => administration => configuration => Configuration générale => Clef api)
Code : Tout sélectionner
# node parse_generate_baseXX.js
Exécution du script zidomXX.js
Code : Tout sélectionner
# nodejs zidomXX.js
Création de vos périphériques virtuels
Créer des périphériques virtuels sur votre Jeedom, récupérer les id que vous insérer dans le script zidomXX.js.
Plugin virtual
Le plugin "Virtual" doit être installé.
Aller dans Plugins => Programmation => Virtual
[img]Virtuel.png[/img]
Création de l'équipement
Cliquer en haut à gauche sur "ajouter un équipement"
Spécifier, le nom de l'équipement virtuel, l'objet parent, sa ou ses catégorie :
[img]VirtuelOregon1.png[/img]
Cliquer sur "Activer" et "Visible"
En fonction de votre modèle de sonde, ajouter autant l'info virtuelle que nécessaire.
Dans mon cas, la sonde en question remonte, la température, l'hydrométrie, son niveau de batterie et radio. VirtuelOregon2.png
ID Jeedom
Noter bien les numéro d'ID de chaque info virtuelle :
- 65 : Température
- 66 : Hydrométrie
- 67 : Batterie
- 68 : Radio
Intégration des ID Jeedom dans le script Zidom
Script Zidom.js
Dans le script zidomXX.js, vous devriez retrouver les variables correspondantes à votre sonde.
! Le nom de la sonde correspond à la convention de votre Zibase !
Essayer de reproduire les mêmes nom entre Jeedom et la Zibase. Eviter aussi les accents et caractères spéciaux
Remplacer les numéros d'ID par défaut par ceux de votre configuration Jeedom relevée plus haut :
Exécutionj_Sonde_RIKA = 65; //Sonde_RIKA;
j_Sonde_RIKA_hygro = 66; //Sonde_RIKA;
j_Sonde_RIKA_batterie = 67; //Sonde_RIKA;
j_Sonde_RIKA_radio = 68; //Sonde_RIKA;
Le traitement du script sera le suivant pour
Code : Tout sélectionner
--------------------------------------------------------------------------------------
Sun Oct 26 2014 20:13:17 GMT+0100 (CET) Received radio ID (<rf>433Mhz Oregon</rf> Noise=<noise>2109</noise> Level=<lev>5.0</lev>/5 <dev>Temp-Hygro</dev> Ch=<ch>1</ch> T=<tem>+22.6</tem>C (+72.6F) Humidity=<hum>53</hum>% Batt=<bat>Ok</bat>): <id>OS439158017</id>
Debug : oregon : true | Composant/Id OS439158017
Test de l equipement Oregon Sonde_RIKA, d'ID Zibase OS439158017 et de type temperature
Envoi de la requete HTTP temperature: +22.6
Requete :http://192.168.0.59/jeedom/core/api/jeeApi.php?api=xxxxxxxxxxxxxxxxxxxx&type=virtual&id=65&value=+22.6
Envoi de la requete HTTP Niveau de reception radio: 5.0
Requete :http://192.168.0.59/jeedom/core/api/jeeApi.php?api=xxxxxxxxxxxxxxxxxxxx&type=virtual&id=68&value=5.0
Envoi de la requete HTTP Batterie: Ok
Requete :http://192.168.0.59/jeedom/core/api/jeeApi.php?api=xxxxxxxxxxxxxxxxxxxx&type=virtual&id=67&value=Ok
Envoi de la requete HTTP Hygrometrie: 53
Requete :http://192.168.0.59/jeedom/core/api/jeeApi.php?api=xxxxxxxxxxxxxxxxxxxx&type=virtual&id=66&value=53
Sun Oct 26 2014 20:13:17 GMT+0100 (CET)
--------------------------------------------------------------------------------------
Pour la gestion des widgets, suivre le tuto suivant ;
Tuto-widget-sonde
Bons tests