Actualités | Audio/Vidéo | Evènements | DIY | Domotique | Informatique | Maison | Mobile | Sécurité

Faites des scripts avec votre eedomus !

Envoyer Imprimer PDF
Note des utilisateurs: / 8
MauvaisTrès bien 

Depuis plusieurs mois déjà, l'eedomus propose un langage de script php pour programmer vos scénarios les plus complexes. Ce langage php est bridé pour ne pas pénaliser les performances de la box, mais il est suffisant pour faire des calculs, des conversions de données, ... qui ne sont pas possibles via le système de règles standard de la box.

Je vois que peu d'articles expliquent comment utiliser ces scripts php. Alors quand Christophe, un de mes lecteurs m'a posé une question sur la récupération d'une sonde eedomus, je me suis empressé de vous écrire un tuto sur le sujet. J'espère qu'il servira à d'autres personnes ...

Dès que vous avez un besoin que vous ne pouvez pas couvrir par une simple règle eedomus, vous avez l'alternative de créer un script php. On peut créer un script sur un NAS ou un Raspberry Pi, mais on peut aussi créer un script directement sur l'eedomus (en local sur votre réseau informatique). Dans le premier cas, vous avez accès au vrai langage Php et vous pouvez faire des développements avancés comme le contrôle des enceintes Sonos, ... Dans le second cas, vous avez accès à un langage php bridé, mais qui permet déjà de faire pas mal de traitements. Les limitations de ce php local à l'eedomus sont décrites ici.

Un lecteur nommé Christophe était dans ce cas. Il voulait venir chercher les infos sur l'eedomus et les convertir pour qu'elles soient utilisables sur la Zibase. Le fait de coupler une Zibase à une eedomus est discutable, mais celà ne fait pas parti du sujet de ce jour.

Pour venir chercher la valeur de la température de son FGMS-001 et pour l'utiliser dans la Zibase, Christophe a besoin d'un script php car la Zibase tronque les valeurs décimales avant de les affecter à sa sonde. En passant pas un script php local à l'eedomus, on peut multiplier la valeur de la température par 10 pour que la Zibase ne perde pas la décimale. C'est un peu tordu, mais c'est comme ca que fonctionne la Zibase.

Pour envoyer la température à la Zibase, il faut envoyer 268 pour qu'elle mémorise 26,8 dans une de ses sondes.

Allons sur l'eedomus pour récupérer le code API de ce périphérique. Le code API se trouve dans les paramètres Expert. Ici, il s'agit de 78160.

Maintenant, il faut écrire un script qui renvoie les infos sous forme d'une page XML. Pourquoi une page XML ? car c'est la façon la plus simple pour que la Zibase lise une valeur sur un flux HTTP.

Sur le Wiki de l'eedomus, il y a des exemples de scripts php très simples. C'est un bon début car le langage étant limité, vous allez perdre vos repères. Il est bien plus facile de copier coller des morceaux de scripts qui fonctionnent.

Alors commençons par un premier script qui lit la valeur du périphérique et qui propose une page XML avec la valeur souhaitée (multipliée par 10 pour la Zibase).

Le script précédent prend le code API du périphérique eedomus en dur. Mais on peut aussi le passer en paramètre grâce à la fonction GetArg. Dans ce cas, le paramètre qui est votre code API devra être passé sur l'URL d'appel de ce scripts (en ajoutant &periph=78160 par exemple).

 

Avant de charger votre script sur l'eedomus, vous devez vérifier son encodage. Sauvez le fichier en ANSI pour éviter d'avoir des problèmes d'accent.

Allez sur votre eedomus. Chez moi, en local, elle possède l'IP 192.168.1.115. Chez vous, vous aurez une IP différente que vous pouvez trouver en allant sur la page de configuration de la box eedomus. Une fois que vous avez cette IP, ouvrez la page /script, attachez le fichier et envoyez le.

Le fichier vient s'ajouter dans la liste des scripts. Vous pouvez le lancer en cliquant sur executer.

L'url pour utiliser votre script depuis un autre système (une zibase, un raspberry, un NAS) est http://192.168.1.115/script/?exec=test1.php si votre script s'appelle test1.php.

Si votre script prend un paramètre, il faut l'ajouter dans l'url. Par exemple http://192.168.1.115/script/?exec=test1.php&periph=78160

Si je regarde le source de la page HTML, j'ai bien mon flux XML que je peux exploiter depuis ma Zibase ou un NAS ...

Il faut noter que l'exécution de cette URL se fait sans authentification (sans que l'on entre son compte et son mot de passe eedomus). C'est pratique, mais attention à la sécurité si vous ouvrez ce flux sur Internet.

Revenons au cas de Christophe, en fait, il voulait utiliser cet appel eedomus pour ajouter sa sonde eedomus à ses pages ZiMeteo. ZiMeteo est un package de scripts faisant des graphiques basés sur les données d'une Zibase ou d'un objet connecté (comme la station météo netatmo). Grâce à ce script eedomus, Christophe peut ajouter quelques une de ses sondes à ZiMeteo. Du coup, il ne paye pas l'abonnement de l'eedomus qui permet de faire des graphes sur plus de 24h ...

Si vous voulez plus d'infos sur ZiMeteo, je vous conseille de lire ces posts ...

Voilà qui termine ce petit test. Au delà de l'exemple de Christophe, ce que je voulais mettre en avant, c'est la simplicité d'ajouter un script php sur l'eedomus. C'est simple et à la portée de tout le monde. Le plus dur, c'est d'écrire le script, mais là, vous pouvez vous faire aider par les communautés existantes sur le forum eedomus ou TLD. Vous pouvez aussi demander du support auprès de la boutique qui vous sert d'habitude. Ils se feront un plaisir de vous aider.

Pour ma part, j'ai mes scripts php encore sur un Raspberry. Je n'ai pas eu le temps de migrer car il faut les réécrire. J'utilise notamment un script qui calcule ma consommation d'eau (heure, jour, semaine, mois). Il est entièrement faisable sur l'eedomus car ce sont des calculs simples. Si vous voulez, je vous le partagerais plus tard ...

Et vous ? Avez vous écrit des scripts php pour l'eedomus ? Pour quels besoins ? N'oubliez pas de les partager sur notre forum afin que la communauté grandisse ...

 

Vous n'avez pas compris un point ? Vous vous posez une question ? Vous pouvez nous contacter via le bouton Assistance sur votre gauche. N'hésitez pas à demander un rendez-vous téléphonique avec Domotics.

Vous avez aimé cet article ? Vous pouvez le partager sur vos réseaux sociaux pour soutenir son auteur et l'encourager à écrire de nouveaux articles ...

 

Cet article vous est proposé par Domotics: Domotics habite dans la région Toulousaine. Il est ingénieur en informatique et électronicien amateur. La domotique est pour lui une passion qu'il pratique depuis 1999. En 2003, il décide de partager ses expériences sur le magazine et le forum de touteladomotique.com.

En 2014, il crée sa société de conseils en Domotique ID2domotique.com et sa boutique en ligne laboutiquededomotique.com. Profitez de l'expérience et l'expertise de Domotics en faisant appel à ses services. Les conseils sont gratuits ...

Mise à jour le Mardi, 09 Septembre 2014 21:19  

Ajouter un Commentaire


Code de sécurité
Rafraîchir

Recherche

Newsletter ?

Instagram

Publicité

Espaces publicitaires à louer
Contactez-nous

Connexion