Zibase et eeDomus … une vraie complicité !

Communication ZiBASE et eedomusBeaucoup 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 :

  • 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

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

  • 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

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 :

https://192.168.1.31/sensors.xml

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 httpConfigurez 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.

Explications sur la commande XPath

Explications sur la commande XPath

//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).

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

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 > https://192.168.1.31/cgi-bin/domo.cgi?cmd=ON A1

Éteindre > https://192.168.1.31/cgi-bin/domo.cgi?cmd=OFF 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 :

  • Variateur (dim) à 25% d’un périphérique d’adresse C3 :
    https://192.168.1.31/cgi-bin/domo.cgi?cmd=DIM C3 25
  • Lancement d’un scénario N°4
    https://192.168.1.31/cgi-bin/domo.cgi?cmd=LM 4

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

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 !

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).

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

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 !

A propos Maxime Biollet

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

A voir aussi

Mise à jour eedomus du 04 septembre 2018

Demain (Mardi 04 Septembre), la box eedomus recevra une nouvelle mise à jour ! Améliorations, …

8 commentaires

  1. Super intéressant !

    Moi c’est le contraire, j’ai une Eedomus et du coup je me demande si je vais pas essayer de trouver une Zibase 1 !

    Vous pensez que c’est mieux ou moins bien que compléter mon Eedomus par un Tranceiver usb RFXcom ?

    Sachant que ce qui m’intéresse, c’est surtout pour les module Oregon et Chacon (ces derniers étant normalement bientot supporté par le RFXcom sur l’eedomus)

    A termes, quelle est la solution la mieux ?

  2. Merci beaucoup pour toutes ces précieuses informations.
    J’ai une Zibase 1 et je surveille depuis quelques temps la Zipabox et l’Eedomus.
    Je pensais revendre ma Zibase au profit d’un RFXCom qui me semblait plus ouvert mais je vois qu’il existe une alternative.

  3. Bonjour,

    Merci pour cet article bien complet.
    J’aimerai votre avis personnel : J’ai un RaspBerry avec un RfxCom et domoticz, mais c’est assez limité. Du coup j’hésite entre deux Box Zibase V2 pro et eedomus. pour un neophite qui aime bidouiller, jouer et pourquoi pas équiper la famille, des amis etc… Que conseilleriez vous ?

    En vous remerciant

  4. @JeanJean :
    Si vous avez déjà un rfxcom usb, le plus économique est de partir sur une box eedomus.

    Cependant, si vous souhaitez avoir une box avec un grand nombre de protocole en particulier Somfy et X2D que ne sait pas gérer eeDomus, c’est effectivement vers la Zibase qu’il faut se tourner.

  5. Moi j ai testé pour les sondes ça marche bien mais pour les commandes A1 A2 … et bien ça fonctionne mais le statut reste en erreur ou « on en cours…. » ou « offf en cour… »

    Bon avec le rfxcom usb je met direct capeur rfxcom usb et je prend chacon et directement les codes A1 A2…….. et la ça marche mieux

    Je vais poser des voltes somfy et ton article m intéressait car je voulais prendre des inter somfy RTS compatible avec la zibase

    Donc après mes essais j hesite a faire ta méthode

  6. Bonjour,
    Peut on prendre une Zibase Lite a la place d’une Zibase 1? . La facon de proceder est elle la meme avec la eedomus ?

  7. Bonjour.
    Merci beaucoup pour votre article.
    Je viens d’apprendre que Zodianet va fermer, car en liquidation judiciaire. C’est bien dommage. Je ne suis pas expert en domotique, mais j’utilise ma Zibase pour mes radiateurs électrique utilisant le protocole X2D. Si Zodianet ferme leur site, est ce que je peux utiliser l’eedomus pour piloter la Zibase et dialoguer avec mes radiateurs en X2D ?
    Encore merci pour votre article.
    Cordialement.

  8. Que devient ce tuto si les plateformes zibase disparaissent .c a d la zibase fonctionne t elle de façon autonome ou dépend elle de la plateforme notamment si elle reboot et l’heure

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *