Imperihome http://www.evertygo.com/imperihome est une application mobile (Android/iOS) qui s'interface à de nombreuses solutions domotiques et autres objets connectés. Cette application est multi-instances, permet une gestion fine et belle des éléments, et a une très belle gestion des graphes.
L'application MyDomoAtHome fait l'interface entre Imperihome et Domoticz. C'est un serveur appelé passerelle(gateway en anglais) qui transforme et expose les fonctionalités domoticz au client Imperihome.
Le but de ce projet est de fournir une interface API REST API entre Domoticz et ImperiHome ISS pour piloter sa domotique.
M1 Goal reached - first version in Perl Dancer after ISS has been announced
M2 Goal reached - full rewrite to node js with debian packaging, simpler install and upgrade, better performance, less dependencies
- Free
- Multi-platform (Linux, Mac OS X, Windows)
- Dependency-less
- Node.js rewrite
- Installation / usage logs
- Debian package - noarch
- Auto updatable through apt-get
- Third-party hosting
- Micro-services (Docker)
- Image available on Docker Hub
- Synology
- Synology compatible docker image
- Support major type of sensors/feature of Domoticz
- Weather and Environmental sensors
- Energy sensors (Electricity, Gas, Water)
- Switches
- Thermostat
- Dynamic room creation
- RGB lamps (Limitless/Applamp/Hue) (depending on Domoticz)
- Push On buttons (depending on Imperihome)
M3 atteint - tous les graphiques, gestion dynamique des pièces et améliorations de présentation
- Support major type of sensors/feature of Domoticz
- Devices following planID
- Graphs
- Groupement des interrupteurs avec leur énergie
- Gestion des devices protégés
M4 milestone fournira un support d'autres plates-formes dont Synology
- Synology
- Synology hosted package
- Debian package - noarch
- debian hosted package - need a peer
- raspbian hosted package
- TODO
- Evohome (depending on Imperihome)
- Alarm pannel (partial with ImperiHome)
- End to end authentificaton
- Auto updatable through button
sudo dpkg --list |grep nodejs // should return version 4.x or above
Dans le cas contraire:
Sur RASPBIAN (Raspberry PI/PI2/PI3), installer le nodeJS suivant pour avoir une version stable:
sudo apt-get remove node
wget -q http://www.e-nef.com/domoticz/mdah/nodejs_4.4.2_armhf.deb
sudo dpkg -i nodejs_4.4.2_armhf.deb
wget -q http://www.e-nef.com/domoticz/mdah/npm_2.14.7_armhf.deb
sudo dpkg -i npm_2.14.7_armhf.deb
sudo npm install -g [email protected]
Sur toutes les autres, une version 4 est nécessaire (testing/unstable ok):
sudo apt-get remove node
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs
La commande suivante installe npm et l'upgrade à la version 2.x.
sudo npm install -g [email protected]
Note: npm version 3 est la dernière version, mais n'est pas recommandée en production actuellement.
Et on vérifie à nouveau:
node —version // should print version 4.4.x or similar
npm —version // should print version 2.2.x or similar
wget -qO - https://www.e-nef.com/domoticz/mdah/gpg.key | sudo apt-key add -
sudo nano /etc/apt/sources.list
Ajoutez la ligne:
deb https://www.e-nef.com/domoticz/mdah/ /
Puis:
sudo apt-get update
sudo apt-get install MyDomoAtHome
Remarque importante: ne pas installer en tant que root, mais un utilisateur sans privilège (e.g. pi user)
editez /etc/mydomoathome/config.json avec vos paramètres
sudo service mydomoathome restart
Cela fontionne en mode "clef":"valeur". Les valeurs par défaut sont:
{
"app_name": "MyDomoAtHome",
"auth": null,
"domoticz": {
"ssl": false,
"host": "127.0.0.1",
"port": "8080",
"path": "/",
"auth": null
},
"port": "3002",
"passcode": ""
}
-
multi-instances: champs app_name différent entre les instances
-
changer le port de MDAH: changer le port basic (haut niveau) (ici 3002)
-
code des protected devices: changer the passcode ci-dessus
-
acceder à domoticz en mode ssl: changer domoticz:port et mettre ssl à true
-
changer host ou port de domoticz: changer domoticz:host et domoticz.port
-
ajouter un login/pass pour accéder à MDAH: changer le champs "auth": null de haut niveau vers
"auth": { "username": "admin", "password": "admin" },
-
gérer les login/pass de domoticz, faire de même pour domoticz:path
apt-get remove mydomoathome
apt-get update
apt-get install MyDomoAtHome
Arrêt du service
sudo service MyDomoAtHome.sh stop
rm /etc/init.d/MyDomoAtHome.sh
N.B. les deux peuvent cohabiter, il faut changer la valeur du paramètre app_name dans config.json et le port d'écoute. Vous devrez ensuite recréer une configuration dans Imperihome.
editez /etc/mydomoathome/config.json avec la valeur du port (8000 par default), et changer le paramètre app_name vers "ISS-Domo" arrêtez le service ISS-Domo et démarrez le service MyDomoAtHome
Le port par défaut est 3002.
sudo service mydomoathome start
sudo service mydomoathome stop
sudo service mydomoathome reload
L'image Docker est automatiquement crée sur la dernière version. La configuration peut être passée par la ligne de commande (voir en dessous) ou dans un fichier de configuration car /etc/mydomoathome est aussi monté dans l'image.
docker pull epierre/iss-mdah
N'oubliez pas de changer l'IP et d'autoriser dans Domoticz la plage d'adresse de Docker
docker run --name=mdah --env DOMO="http://your_ip:8080" --env TZ=Europe/Paris -p 3002:3002 epierre/mdah
docker ps
docker stop mdah
-
Vérification dans un navigateur que le process fonctionne
http://gateway_ip:gateway_port/
-
Depuis cette page, vous pourrez tester les autres URL dans un navigateur sinon vérifiez les logs dans /var/log/mydomoathome/
-
Vérification que le process est accessible depuis la machine faisant tourner Domoticz
curl http://domoticz_ip:domoticz_port/json.htm?type=devices&filter=all&used=true&order=Name
-
Vérification que MyDomoAtHome récupère bien les informations depuis Domoticz
curl http://gateway_ip:gateway_port/devices
Pour un device non ou mal supporté, merci de communiquer le JSON de Domoticz sur la base de cette URL
http://domoticz_ip:8080/json.htm?type=devices&filter=all&used=true&order=Name
- Fonctionalités et Bug report: https://github.com/empierre/MyDomoAtHome/issues
- English : http://www.domoticz.com/forum/viewtopic.php?f=21&t=6882
- Français : http://easydomoticz.com/forum/viewtopic.php?f=12&t=573
- Si vous avez un device manquant, envoyez votre domoticz.db à: domoticz at e-nef.com
- Pensez à rajouter l'IP de la gateway MyDomoAtHome (si elle est différente) dans la section réseaux locaux de Domoticz !