mirror of
https://github.com/YunoHost-Apps/domoticz_ynh.git
synced 2024-09-03 18:26:17 +02:00
139 lines
No EOL
7.7 KiB
Markdown
139 lines
No EOL
7.7 KiB
Markdown
# Domoticz pour YunoHost
|
||
|
||
[![Niveau d'intégration](https://dash.yunohost.org/integration/domoticz.svg)](https://dash.yunohost.org/appci/app/domoticz) ![](https://ci-apps.yunohost.org/ci/badges/domoticz.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/domoticz.maintain.svg)
|
||
[![Installer Domoticz avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=domoticz)
|
||
|
||
*[Read this readme in english.](./README.md)*
|
||
*[Lire ce readme en français.](./README_fr.md)*
|
||
|
||
> *Ce package vous permet d'installer Domoticz rapidement et simplement sur un serveur YunoHost.
|
||
Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.*
|
||
|
||
## Vue d'ensemble
|
||
|
||
Logiciel open sources et gratuit de domotique qui vous permet de configurer un grand nombre d'appareils
|
||
|
||
**Version incluse :** 2020.2~ynh4
|
||
|
||
|
||
|
||
## Avertissements / informations importantes
|
||
|
||
Domoticz est un système de domotique permettant de controler différents objets et de recevoir des données de divers senseurs
|
||
Il peut par exemple être utilisé avec :
|
||
|
||
* des interrupteurs
|
||
* des senseurs de portes
|
||
* des sonnettes d'entrées
|
||
* des systèmes de sécurité
|
||
* des stations météo pour les UV, la pluie, le vent...
|
||
* des sondes de températures
|
||
* des sondes d'impulsions
|
||
* des voltmètres
|
||
* Et bien d'autres
|
||
|
||
**Version incluse :** Toujours la dernière version stable. La dernière version compilée est récupérée dans [ce répertoire](https://releases.domoticz.com/releases/?dir=./beta) lors de l'installation
|
||
Une fois installée, **les mises à jour de l'application sont gérées depuis les menus de l'application elle même.**. Le script de mise à jour Yunohost mettra uniquement à jour de nouvelles version du package.
|
||
|
||
Le broker MQTT mosquitto est intégré au package et nécessite un sous-domaine ou un domaine distinct. Il est optionnel et si vous indiquez lors de l'installation le même domaine que le domaine principal, il ne sera pas installé.
|
||
|
||
## Configuration
|
||
|
||
### Broker MQTT Mosquitto
|
||
|
||
A l'installation, un broker [MQTT](https://fr.wikipedia.org/wiki/MQTT) est installé en même temps que Domoticz. Il s'agit du serveur mosquitto dont la documentation est disponible [ici](https://mosquitto.org/). La version installée est celle du dépot officiel du projet, et non des dépots Debian.
|
||
Ce broker nécessite un domaine ou un sous-domaine particulier pour fonctionner (ex : mqtt.your.domain.tld) : il est nécessaire de créer ce domaine auparavant.
|
||
|
||
####Utilisation
|
||
|
||
Pour pouvoir l'utiliser, vous devez paramétrer la communication avec entre domoticz et le broker en suivant la [documentation de domoticz](https://www.domoticz.com/wiki/MQTT#Installing_Mosquitto) dans la partie *Add hardware "MQTT Client Gateway"*
|
||
Les users et mot de passe du broker sont automatiquement générés lors de l'installation. Vous pouvez les récupérer en tapant
|
||
````
|
||
sudo yunohost app setting domoticz mqtt_user
|
||
sudo yunohost app setting domoticz mqtt_pwd
|
||
````
|
||
|
||
Vous pouvez ensuite publier sur ce serveur en utilisant la syntaxe:
|
||
````
|
||
mosquitto_pub -u *user* -P *password* -h mqtt.your.domain.tld -p 443 -t 'domoticz/in' -m '{ "idx" : 1, "nvalue" : 0, "svalue" : "25.0" }'
|
||
````
|
||
De la même manière, vous pouvez suivre ce qu'il se passe avec
|
||
````
|
||
mosquitto_sub -u *user* -P *password* -h mqtt.your.domain.tld -p 443 -t 'domoticz/out'
|
||
````
|
||
|
||
####Mise à jour depuis les versions n'ayant pas mosquitto
|
||
Si vous êtes sur le package ynh3 ou inférieur, mosquitto n'est pas installé par défaut.
|
||
De même si vous avez choisi de ne pas indiquer de domaine pour mosquitto lors de l'installation initiale.
|
||
Pour pouvoir l'installer après coup, faites les actions suivantes:
|
||
1/ créez un domaine ou sous-domaine pour recevoir les informations (par exemple : 'mqtt.your.domain.tld')
|
||
2/ connecter vous en ligne de commande à votre serveur
|
||
3/ taper la commande suivante : `yunohost app setting domoticz mqtt_domain -v mqtt.your.domain.tld`
|
||
4/ Procédez à la mise à jour.
|
||
Si vous êtes déjà sur la dernière version, utiliser la commmande suivante : `yunohost app upgrade domoticz --force`
|
||
|
||
|
||
### Senseurs, langue et ce genre de choses
|
||
Toute la configuration de l'application a lieu dans l'application elle même
|
||
|
||
### Accès et API
|
||
Par défaut, l'accès aux [API JSON](https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's) est autorisé sur cette URL `/votredomaine.tld/api_/chemindedomoticz`.
|
||
Donc, si vous accédez à domoticz par https://votredomaine.tld/domoticz, utilisez le chemin suivant pour l'api: `/votredomaine.tld/api_/domoticz/json.htm?votrecommandeapi`
|
||
|
||
Par défaut, seuls la mise à jour de senseur et les interrupteurs sont autorisés. Pour autoriser une nouvelle commande, vous devez (pour l'instant) manuellement éditer le fichier de configuration nginx :
|
||
````
|
||
sudo nano /etc/nginx/conf.d/yourdomain.tld.d/domoticz.conf
|
||
````
|
||
Puis éditer le bloc suivant en y ajoutant le regex de la commmande à autoriser :
|
||
````
|
||
#set the list of authorized json command here in regex format
|
||
#you may retrieve the command from https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's
|
||
#By default, sensors updates and toggle switch are authorized
|
||
if ( $args ~* type=command¶m=udevice&idx=[0-9]*&nvalue=[0-9]*&svalue=.*$|type=command¶m=switchlight&idx=[0-9]*&switchcmd=Toggle$) {
|
||
set $api "1";
|
||
}
|
||
````
|
||
Par exemple, pour ajouter la commmande json pour retrouver le statut d'un équipement (/json.htm?type=devices&rid=IDX),il faut modifier la ligne comme ceci:
|
||
````
|
||
#set the list of authorized json command here in regex format
|
||
#you may retrieve the command from https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's
|
||
#By default, sensors updates and toggle switch are authorized
|
||
if ( $args ~* type=command¶m=udevice&idx=[0-9]*&nvalue=[0-9]*&svalue=.*$|type=command¶m=switchlight&idx=[0-9]*&switchcmd=Toggle$|type=devices&rid=[0-9]* ) {
|
||
set $api "1";
|
||
}
|
||
````
|
||
|
||
Toutes les adresses IPv4 du réseau local (192.168.0.0/24) et toutes les adresses IPv6 sont autorisées pour l'API.
|
||
A ma connaissance, il n'y a pas moyen d'effectuer un filtre pour les adresses IPv6 sur le réseau local, vous pouvez donc retirer leur autorisation en enlevant ou en commentant la ligne suivante dans `/etc/nginx/conf.d/yourdomain.tld.d/domoticz.conf`:
|
||
````
|
||
allow ::/1;
|
||
````
|
||
Ceci autorisera seulement les adresses IPv4 local a accéder aux API de domoticz.
|
||
Vous pouvez ajouter des adresses IPv6 de la même façon.
|
||
|
||
## Limitations
|
||
|
||
* Pas de gestion d'utilisateurs ni d'intégration LDAP. L'application ne [prévoit pas de gérer les utilisateurs par LDAP](https://github.com/domoticz/domoticz/issues/838), donc le package non plus.
|
||
* Un backup ne peut pas être restauré sur un type de machine différente de celle d'origine (x86, arm...) car les sources compilées doivent être différentes
|
||
|
||
## Documentations et ressources
|
||
|
||
* Site officiel de l'app : https://domoticz.com/
|
||
* Documentation officielle utilisateur : https://www.domoticz.com/DomoticzManual.pdf
|
||
* Documentation officielle de l'admin : https://www.domoticz.com/wiki/Main_Page
|
||
* Dépôt de code officiel de l'app : https://github.com/domoticz/domoticz
|
||
* Documentation YunoHost pour cette app : https://yunohost.org/app_domoticz
|
||
* Signaler un bug : https://github.com/YunoHost-Apps/domoticz_ynh/issues
|
||
|
||
## Informations pour les développeurs
|
||
|
||
Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/domoticz_ynh/tree/testing).
|
||
|
||
Pour essayer la branche testing, procédez comme suit.
|
||
```
|
||
sudo yunohost app install https://github.com/YunoHost-Apps/domoticz_ynh/tree/testing --debug
|
||
ou
|
||
sudo yunohost app upgrade domoticz -u https://github.com/YunoHost-Apps/domoticz_ynh/tree/testing --debug
|
||
```
|
||
|
||
**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps |