Une libraire python pour interroger facilement Domoticz

En fouinant la doc python pour un futur projet avec Domoticz je suis tombé sur le travail de Erik Askheim qui à crée une libraire python nommé pymoticz pour interroger Domoticz. https://github.com/EirikAskheim/pymoticz

Cela permet d’un seul coup et facilement de passer à on/off , d’avoir un etat … sans se préoccuper de l »API JSON.

N.B : Toutes les fonctions de l’API ne sont pas implémentées,on ne gère que des on/off, dimmables et  retour d’etat

Voici la liste complète de ce que sait faire pymoticz.

pymoticz list [–host=<host>] [–names]
pymoticz test
pymoticz status <id> [–host=<host>]
pymoticz on <id> [–host=<host>]
pymoticz off <id> [–host=<host>]
pymoticz dim <id> <level> [–host=<host>]

En résumé

  • list donne la liste complète des équipements
  • test ne renvoie rien si il arrive a dialoguer avec Domoticz
  • Status id donne le status de l’id Domoticz en question (on/off)
  • on active l’id en question
  • off inactive l’id
  • dim concerne les équipements dimmables on donne l’id et le % après; Ex pymoticz 42 30, passe le dispositif 42 à 30 %

Rappel : les id sont ceux que l’on retrouve a l’onglet « Dispositifs » du paramétrage.

 

idx_domoticz

Afin d’utiliser au maximum  la réutilisabilté (j’adore ce mot) et ne pas réinventer la roue , installons donc cet outil

 

 Les prérequis

Je part du fait que vous avez un git installé, sinon sudo apt-get install git-core

On installe pip pour python tout d’abord, puis il nous faut la libraire nommé docopt et également la libraire requests (géniale pour manipuler des url et autrement plus fonctionnelle que urllib2)


sudo apt-get install python-pip
sudo pip install docopt==0.6.2
git clone git://github.com/kennethreitz/requests.git
cd requests
sudo python setup.py install

Le fichier

Rendez vous ici https://github.com/EirikAskheim/pymoticz/blob/master/pymoticz.py

  • Faites un copier/coller de tout ça dans un fichier nommé pymoticz.py
  • Dans ce programme cherchez au début (vers la ligne 20) la ligne :

def __init__(self, domoticz_host=‘127.0.0.1:8080’):

mettez l’ip et le port de votre Domoticz

  • Sauvegardez
  • Rendez ce script exécutable par un chmod +x pymoticz.py
  • et un pymoticz.py list vous affiche tout le contenu de votre Domoticz et suprême bonheur
  • ./pymoticz on  47  allume la VMC alors que  ./pymoticz off 47 l’éteint.

Conclusion

Ce projet n’est pas/plus actif sur github mais il permet de rendre un service non négligeable. il ne supporte pas, et de loin, toutes les fonctions de Domoticz mais permet à peu de frais d’avancer vite sur des projets sans avoir à refaire tout le parse de JSON pour récupérer un état.

Un bon outil dans la trousse à outil, donc.

Posted in python, raspberry and tagged , , , , , .

4 Comments

  1. Bonjour,
    Bien pratique en effet,
    une petite correction à faire:
    ./pymoticz on 47 et non ./pymoticz 47 on.
    Est-ce qu’on peut envoyer cette commande par une URL?
    merci

  2. En effet merci pour la correction

    Non pour l’url , l’idée de pymoticz de base est vraiment d’éviter l’appel l’URL JSON à rallonge

  3. Bonsoir
    Ah ben ça alors !
    Quelle notoriété, j’en ai la grosse tête d’une telle célébrité soudaine.
    Et puis cet article la n’est pas le seul qu’ils ont pompé ici
    Gonflé le gars

Laisser un commentaire

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