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.
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
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
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.
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
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
un plagiat de ton article : http://www.adlau.fr/joomla/index.php/gtb/11-domotique/raspberry/lua/11-une-libraire-python-pour-interroger-facilement-domoticz
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