DomoGeek, l'API simple mais utile

DomoGeek, une API simple pour répondre aux questions simples. Telle est la devise de cette API, créée par guiguiabloc.

Cette API vous permet de concentrer en un lieu toutes les informations utiles pour vos scénarios domotiques ou autres utilisations !

Par exemple, à la question "Est-ce qu'Aujourd'hui est un jour férié ?", si la question paraît idiote, il n'est pas forcément simple d'y répondre automatiquement.

Une réponse à cette question peut être donnée grâce à un script ou scénario, mais nécessite de s'y connaître un peu en développement. Et c'est là qu'intervient l'API DomoGeek ! Il suffit d'interroger l'API via une URL précise, et on obtient immédiatemment la réponse.

Le 1er août 2015, guiguiabloc a du fermer l'accès à son API, faute de moyen pour subvenir à l'hébergement du site. Le 6 août, le groupe Entropia SA basé au Luxembourg a offert gracieusement l’hébergement de l’API. Domogeek renait donc de ses cendre !

En utilisant l'API DomoGeek, on obtient effectivement des réponses simples aux questions que l'on peut se poser dans le cadre de son installation domotique, mais on est dépendant d'un service tiers ! Il est donc possible d'installer l'API DomoGeek sur son propre serveur, afin de s'affranchir de problèmes éventuels liés à sa connexion internet, ou encore en cas d'une nouvelle fermeture du service. Pour cela, les sources sont disponibles sur le github de guiguiabloc.


Installation de l'API DomoGeek sur votre propre serveur

Pour ma part, je vais installer l'API DomoGeek en local sur un Raspberry Pi, qui tourne sous l'OS Raspbian, donc un dérivé de Debian.

Première étape, installons les prérequis :

sudo apt-get install python
sudo wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py
sudo python get-pip.py
sudo python -m pip install web.py beautifulsoup4 icalendar requests redis
sudo apt-get install redis-server

Ensuite on télécharge les sources et on les extrait dans un répertoire :

sudo wget https://github.com/guiguiabloc/api-domogeek/archive/master.zip
unzip master.zip

On se rend dans le répertoire et on édite le fichier de conf pour modifier le port d'écoute de l'API (utile si vous hébergez déjà un site web sur votre Raspberry Pi sur le port 80) :

cd api-domogeek-master
sudo chmod +x apidomogeek.py
sudo vi apidomogeek.py

On trouve la ligne contenant listenport = "80" et on modifie le port 80 par le 81 par exemple.

On peut ensuite démarrer l'API avec la commande :

sudo ./apidomogeek.py start

Maintenant, il n'y a plus qu'a remplacer dans vos scripts api.domogeek.fr par votre ip sur le bon port (ex : 192.168.0.x:81).

Pour ceux qui utilisent le plugin DomoGeek sous Jeedom, il faut juste renseigner l'adresse IP avec le port dans la case dédiée pour un serveur alternatif.

Jeedom - Plugin DomoGeek

Source : Post de lecameleon99 sur le forum de Toute La Domotique