..:: Domotique Store : Le Blog ::..
Articles Clients eeDomus Tous les articles Zibase

Zibase et eeDomus … une vraie complicité est née entre les deux

Communication ZiBASE et eedomus

Beaucoup d’utilisateurs possèdent encore une Zibase1 qui ne dispose donc pas du Zwave.

Il est bien sûr possible d’ajouter un module contrôleur Z-Wave ZCS201 qui permet d’avoir un support at-minima du Zwave et ainsi de bénéficier de la technologie qui a le vent en poupe en ce moment à moindre frais.

Pour ma part, j’ai fait le choix de changer complètement de box domotique. Au début, je voulais simplement revendre ma Zibase1 et acheter la nouvelle Zibase PRO. Mais impossible de trouver acquéreur. J’ai donc décidé de partir sur une box eeDomus et de la coupler avec ma Zibase.

Le gros avantage de cette solution est de pouvoir continuer à utiliser la Zibase pour son coté multi-protocole très avancé (que j’utilise en particulier pour mes volets Somfy, mes sondes Oregon Scientific), avec une box que j’ai découverte est qui est vraiment SUPER : l’eeDomus !!!!!!

Le résultat est quasi parfait !

Voici ce que j’arrive à faire depuis mon eedomus en utilisant la box Zibase comme passerelle :

[checklist]

  • Récupération de mes sondes de température Oregon Scientific
  • Récupération des mesures de mon module OWL CM160
  • Pilotage de mes volets roulants Somfy
  • Pilotage de mes modules Chacon

[/checklist]

L’intérêt de mettre une nouvelle box derrière ma Zibase :

[checklist]

  • Une nouvelle interface vraiment très intuitive
  • Une gestion de scénario que je préfère par rapport à la Zibase (avis personnel)
  • La possibilité d’utiliser le Zwave (c’était quand même l’objectif de base ;))
  • La box eedomus s’interface complètement avec la Zibase du coup je n’ai qu’une seule application (iphone/ipad) pour gérer mon installation

[/checklist]

Récupérer les données à partir de la Zibase

Il faut tout d’abord retrouver l’adresse IP de la Zibase.
Pour cela, il suffit de se rendre en mode Expert et dans l’onglet Système :

ip zibase

La Zibase propose un mini serveur web qui retourne un fichier xml contenant l’ensemble des informations sur les périphériques que gère la zibase.

Ce fichier « sensors.xml » est disponible à l’adresse suivante :





Il contient les données des différentes sondes : pour chaque ligne, on a l’identifiant de la sonde (id), la date du dernier relevé au format timestamp (dmt), deux cases pour les valeurs (v1 et v2) et même une valeur qui indique si la source d’énergie du capteur est faible (lowbatt).

<?xml version="1.0" encoding="iso-8859-1"?>
<doc zb="ZiBASE00xxx">
...
<evs>
<ev type="7" pro="OS" id="478804355" gmt="1371627190" v1="198" v2="47" lowbatt="0"/>
<ev type="7" pro="OS" id="369925675" gmt="1371626850" v1="161" v2="51" lowbatt="0"/>
<ev type="7" pro="OS" id="903197767" gmt="1371627208" v1="0" v2="0" lowbatt="0"/>
<ev type="6" pro="CS" id="237601759" gmt="1371584778" v1="1" v2="0" lowbatt="0"/>
<ev type="10" pro="WS" id="138991" gmt="1371359834" v1="16077" v2="255" lowbatt="0"/>
</evs>
<plat>zibase.net</plat>
<dtag>1</dtag>
</doc>

Depuis ce fichier xml, vous devriez pouvoir repérer les données de la sonde qui vous intéresse (par exemple pour ma sonde de température Oregon,  je vais chercher une sonde qui a deux valeurs, une première qui ressemble à une température (multipliée par 10, donc en l’occurrence, V1= 161  soit 16,1 °C… c’est normal ) et la seconde qui ressemble à un pourcentage d’humidité.

Pour récupérer l’ID de la sonde :

  • soit vous arrivez à la repérer immédiatement dans votre fichier XML
  • soit vous allez le chercher dans la configuration du périphérique : ils sont dans le champ « identifiant radio » au format [deux lettres + une série de numéro]. Les deux lettres correspondent au fabricant (par exemple : OS = Oregon Scientifique), mais ce qui nous intéresse ici c’est le numéro.

Gardez cet identifiant bien précieusement, nous allons nous en servir tout de suite !

Utiliser les données niveau eedomus

Puisque ce xml est accessible par HTTP, nous allons rajouter la sonde côté eedomus en tant que Capteur HTTP.

(Chemin : Configuration > Ajouter ou supprimer un périphérique > Ajouter un autre type de périphérique)

Capteur http

Configurez la section Caractéristiques avec nom, pièce, usage…

Puis passez à la section « Affichage », c’est là que la magie peut opérer.

Choisissez tout d’abord le type de données : nombre décimal

Dans URL de la requête, mettez l’adresse du fichier XML généré par la Zibase.

Pour le chemin XPath, c’est un peu plus compliqué et je vous invite à cliquer sur le lien pour accéder au Wiki d’eedomus qui explique comment interroger des fichiers XML.

Interrogation de sondes Zibase via xml dans eedomus

Vous pouvez directement copier-coller le chemin XPath //ev[@id=’0000000′]/@v1 div 10  en remplaçant la série de 0 par l’ID de votre sonde. Je vous ai écrit un topo pour comprendre cette commande et éventuellement l’adapter à vos besoins dans la boite déroulante ci-dessous.

[toggle title= »Explications sur la commande XPath » state= »close » ]

//ev[@id=’369925675′]/@v1 div 10

//ev : Pour sélectionner la valeur, on a le choix de dérouler tout le chemin ( /doc/evs/ev/ …) ou de choisir directement le node qui nous intéresse avec un double slash (donc ici, <ev>). Cette deuxième méthode est plus simple puisqu’on va sélectionner un node spécifique selon son identifiant.

[@id=’369925675′]/ : comme vous l’avez vu sur le xml, il y a de nombreux nodes <ev>. Indiquer l’ID ainsi permet de sélectionner ce node <ev> en particulier, donc cette sonde.

@v1 : choix de la variable à afficher. Si ce n’est pas spécifié, la variable choisie sera le contenu de <ev> et </ev>, mais dans le cas du xml de la Zibase, il n’envoie pas les variables ainsi, il les envoie en attributs, qui sont interrogeables avec l’arobase.

div 10 :  opération mathématique (selon le format dans laquelle la sonde envoie son information). Pour un pourcentage d’humidité, on le laissera tel quel, mais vu que la température nous est fournie en dixième de degrés, la division par 10 nous permet d’avoir directement la température en degrés (le symbole de la division est « div » plutôt que le slash parce que les slash sont utilisés pour l’arborescence du fichier xml).

[/toggle]

En principe, vous devriez voir votre sonde apparaître avec le relevé de votre thermomètre !

Et voilà ma sonde Oregon m’indiquant que je suis décidément bien en-dessous des normales saisonnières…

Sonde dans eedomus via Zibase

[divider]

Piloter les périphériques Zibase depuis sa eedomus

Autre avantage que j’ai trouvé à utiliser ma Zibase1 comme relai : pouvoir piloter mes volets Somfy mais également les périphériques Chacon que j’avais de ma première installation…

Là encore, l’eeDomus et la Zibase savent se parler pour faire en sorte que tout soit centralisé sur l’eeDomus !

En réseau local, la Zibase dispose d’une API qui permet de commander les périphériques liés par le simple chargement d’une adresse web.

Faisons un petit test : dans la Zibase sur la page de configuration d’un de vos actionneurs (on va prendre une lampe pour l’exemple) et relevez son identifiant radio. Il est défini au moment de l’ajout du périphérique et vous pouvez éventuellement le personnaliser.

ID radio dans la Zibase

Et là vous pouvez commander votre lampe en visitant un simple lien (remplacez l’adresse IP par celle de votre Zibase et le A1 par l’identifiant radio vu ci-dessus.

Allumer > A1

Éteindre > A1

Et ça fonctionne !

Il ne reste plus qu’à ajouter un nouveau périphérique, un actionneur HTTP (au même endroit que le capteur http, Configuration > Ajouter ou supprimer un périphérique > Ajouter un autre type de périphérique).

Remplissez comme d’habitude les valeurs Nom, Pièce, etc. Puis passez à l’onglet « Valeurs ».

Dans l’onglet « Valeurs », vous n’avez plus qu’à décomposer les URL ci-dessus en fonction de ON et OFF :

  • La partie avant le point d’interrogation dans « URL » ;
  • Et la fin de l’adresse (y compris le point d’interrogation) dans les « Paramètres » ;
  • Ajouter « GET » comme Type d’action.
Actionneur virtuel dans la eeDomus pour Zapi

Sauvegardez et allez à l’endroit d’eeDomus où vous avez créé votre actionneur. En principe, vous pouvez faire ON/OFF et le périphérique répond ! Il est possible qu’il y ait un peu de délai entre le moment où vous actionnez l’icône dans l’interface eeDomus et le moment où l’appareil répond, mais l’essentiel est là : le relai fonctionne !

Il y a de nombreuses commandes possibles avec l’URL, par exemple vous pouvez indiquer précisément de quel protocole il s’agit (pour éviter d’envoyer l’info sur tous les protocoles à la fois), lancer des scénarios, allumer une lampe avec variateur…

Autres exemples :

[starlist]

  • Variateur (dim) à 25% d’un périphérique d’adresse C3 :
    C3 25
  • Lancement d’un scénario N°4
    4

[/starlist]

En généralisant, vous pouvez utiliser cette méthode pour vos volets roulants et tout autre appareil qui ne sait communiquer qu’avec la Zibase1 ! Et si vous avez un doute au niveau de la méthode à employer, il y a toujours l’astuce de créer un scénario et de le lancer via l’URL (même les LED de la Zibase deviennent contrôlable avec cette méthode).

Si vous voulez gérer plus finement vos adresses, je vous envoie vers l’API  Zapi.

Contrôle volets Zibase via eeDomus

[divider]

Envoyer des commandes sur eeDomus depuis la Zibase

Après, pour interfacer complètement les deux systèmes, j’ai essayé de lancer des scénarios sur l’eeDomus depuis la Zibase. J’ai toujours ma télécommande Chacon dont j’étais très content et je veux continuer à l’utiliser, même sur la eeDomus !

Seul petit regret, l’Api eedomus ne permet pas de lancer des scénarios directement. Mais j’ai trouvé une parade : créer un état (un actionneur virtuel).

Concrètement :

  • La Zibase envoie un signal sur l’API (en lançant une URL spécifique) ;
  • Le capteur virtuel change d’état ;
  • Sur l’eeDomus, un scénario se déclenche à ce changement d’état.

Créez d’abord un Etat  (toujours dans Configuration > Ajouter ou supprimer un périphérique > Ajouter un autre type de périphérique) et remplissez ses caractéristiques.

Dans « Usage » sélectionnez « Autre indicateur (Actionneur) ».

Dans « Affichage », indiquez « Liste de valeurs » comme Type de données

Et enfin, déroulez la section « Paramètres Expert » et relevez le chiffre en face du code API.

Zibase vers eeDomus : actionneur virtuel

Sauvegardez vos modifications (bouton « Sauver et continuer à éditer » puis cliquez sur l’onglet « Valeurs ».

Là, créez deux valeurs. Par exemple, Play et Standby. Cette deuxième valeur est importante car elle permettra de rendre le scénario exécutable plusieurs fois de suite. Je vous conseille d’éviter accents et espaces pour les valeurs brutes vu qu’elles seront transmises par URL.

Zibase vers eeDomus : valeurs du capteur

Enfin, créez le scénario qui agira lors de la réception de l’instruction par la Zibase. De cet écran, vous pouvez directement cliquer sur « Règles associés » après avoir sauvegardé, puis créer une nouvelle règle.

La, le critère à mettre est simple : l’Etat que vous avez créé (Etat Zibase) devient « Lancer le scénario ».

En-dessous, vous n’avez plus qu’à mettre vos actions. N’oubliez pas de rajouter aussi une action qui redonne à l’Etat sa valeur initiale (Standby dans notre cas), pour pouvoir relancer le scénario immédiatement (sinon, l’Etat reste bloqué au stade « Play » jusqu’à ce que vous le changiez manuellement…)

Zibase vers eeDomus : scénario eeDomus

Côté eeDomus, on est tout bon ! Il ne reste plus qu’à aller du côté Zibase et à créer le scénario qui enverra une instruction sur l’API.

L’URL de l’API eeDomus pour modifier l’état d’un périphérique est la suivante : https://api.eedomus.com/set?action=periph.value&periph_id=[id de l’actionneur virtuel]&value=[valeur à donner à l’actionneur virtuel]&api_user=XXXX&api_secret=XXXX

id du périphérique virtuel : nous l’avons vu dans les paramètres avancés tout à l’heure, en l’occurrence le mien a pour numéro 36498.

valeur à donner : là c’est ce que nous avons décidé dans la liste des valeurs, donc Play.

Si vous n’avez pas vos identifiants de l’api eedomus, vous pouvez les obtenir par e-mail : sur l’interface eeDomus, allez dans Mon Compte > Paramètres et en face de Identifiants API, cliquez sur « Envoyer ».

On obtient donc une URL de ce style (avec la fin remplacée par vos propres identifiants) :

https://api.eedomus.com/set?action=periph.value&periph_id=36498&value=Play&api_user=XXXX&api_secret=XXXX

Il n’y a plus qu’à créer le scénario, puis mettre en action « Commander par http » et indiquer cette url.

Zibase vers eeDomus : scénario Zodianet

Sauvegardez le scénario, laissez la Zibase se mettre à jour, puis appuyez sur le bouton de la télécommande (ou autre)… Ça devrait fonctionner !

[box type= »info » ]Notez qu’avec un seul Etat, on peut piloter plusieurs scénarios : il suffit de remplacer « Play » par plusieurs valeurs (par exemple : Scenario1, Scenario2, Scenario3)… et de changer en conséquence la valeur envoyée sur l’URL côté Zibase.

Dans ce cas, vous n’aurez toujours besoin que d’un seul Standby (la valeur sur laquelle il faut toujours remettre l’actionneur comme expliqué ci-dessus).[/box]

Avec cette méthode, on peut « mapper » toute une télécommande Chacon pour commander du Z-Wave…

[divider]

Voilà ! J’espère que cet article pourra servir à certain d’entre vous de tirer le maximum de ses box eeDomus et Zibase et de leurs talents conjugués !

0
0
Maxime Biollet

J'adore bidouiller des petits trucs électroniques.<br /> J'ai commencé la domotique avec une Zibase et aujourd'hui je complète mon installation en Zwave avec une box eeDomus.

Laisser un commentaire