Fix typos

This commit is contained in:
ericgaspar 2022-10-03 18:00:52 +02:00
parent 41a5fd1917
commit 73f0f23e3b
2 changed files with 58 additions and 53 deletions

View file

@ -15,7 +15,7 @@ routes:
*Domoticz* est un système domotique open source très léger qui vous permet de surveiller et de configurer divers appareils.
### Avertissements / informations importantes
### 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 :
@ -26,36 +26,36 @@ Domoticz est un système de domotique permettant de controler différents objets
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
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 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.
Version incluse : Toujours la dernière version stable. La dernière version compilée est récupérée dans ce répertoire 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é.
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, Mosquitto, est installé en même temps que Domoticz. 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.
À l'installation, un broker MQTT, Mosquitto, est installé en même temps que Domoticz. 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.
##### Ajout dans domoticz
Pour pouvoir l'utiliser, vous devez paramétrer la communication avec entre domoticz et le broker en suivant la documentation de domoticz 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 avec
##### Ajout dans Domoticz
Pour pouvoir l'utiliser, vous devez paramétrer la communication avec entre Domoticz et le broker en suivant la documentation de Domoticz dans la partie Add hardware "MQTT Client Gateway". Les utilisateurs et mot de passe du broker sont automatiquement générés lors de l'installation. Vous pouvez les récupérer avec
```
sudo yunohost app setting domoticz mqtt_user
sudo yunohost app setting domoticz mqtt_pwd
```
##### Publier/souscrire
Par défaut, Mosquitto va écouter sur 2 ports :
Par défaut, Mosquitto va écouter sur deux ports :
Le 1883 sur localhost en protocole MQTT
Le 8883 en protocole websocket. NGINX redirige le port 443 externe vers ce port en interne. Pour publier/souscrire sur un topic depuis l'exterieur, vous devez donc utiliser un programme supportant le protocole websocket (ex : la bibliothèque Python paho-mqtt).
Le 8883 en protocole WebSocket. NGINX redirige le port 443 externe vers ce port en interne. Pour publier/souscrire sur un topic depuis l'exterieur, vous devez donc utiliser un programme supportant le protocole WebSocket (ex : la bibliothèque Python paho-mqtt).
##### Mosquitto_pub et mosquitto_sub
Ces deux programmes ne supportent pas le protocole websocket mais uniquement le MQTT : le paramétrage de base ne vous autorise donc pas à les utiliser pour communiquer depuis un client externe. Si vous les utilisez directement depuis votre serveur, ce genre de syntaxe devrait marcher :
Ces deux programmes ne supportent pas le protocole WebSocket mais uniquement le MQTT : le paramétrage de base ne vous autorise donc pas à les utiliser pour communiquer depuis un client externe. Si vous les utilisez directement depuis votre serveur, ce genre de syntaxe devrait marcher :
`mosquitto_pub -u *user* -P *password* -h mqtt.your.domain.tld -p 1883 -t 'domoticz/in' -m '{ "idx" : 1, "nvalue" : 0, "svalue" : "25.0" }'`
@ -69,9 +69,9 @@ Si vous souhaitez ouvrir le protocole MQTT depuis l'extérieur afin de pouvoir l
autoriser les adresses IP souhaitées dans la configuration de Mosquitto
paramétrer le TLS dans la configuration de Mosquitto en donnant accès au crt.pem et key.pem de votre domaine MQTT en les paramétrant respectivement avec les variables certfile et keyfile. Ceci est obligatoire pour sécuriser la connexion.
##### Mise à jour depuis les versions n'ayant pas mosquittoo
##### 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, effectuez les actions suivantes :
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, effectuez les actions suivantes :
créez un domaine ou sous-domaine pour recevoir les informations (par exemple : 'mqtt.your.domain.tld')
connecter vous en ligne de commande à votre serveur
@ -81,42 +81,42 @@ Si vous êtes sur le package ynh3 ou inférieur, Mosquitto n'est pas installé p
### Configuration
#### Capteurs, langue...
Toute la configuration de l'application a lieu dans l'application elle même
#### Access et API
Par défaut, l'accès aux API JSON 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, l'accès aux API JSON 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 capteur 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&param=udevice&idx=[0-9]*&nvalue=[0-9]*&svalue=.*$|type=command&param=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:
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&param=udevice&idx=[0-9]*&nvalue=[0-9]*&svalue=.*$|type=command&param=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. À 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:`
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;`
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.
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

View file

@ -15,7 +15,7 @@ routes:
*Domoticz* is a very light weight open sources home automation system that lets you monitor and configure miscellaneous devices.
### Disclaimers / important information
### Disclaimers/important information
Domoticz is a Home Automation system design to control various devices and receive input from various sensors. For example this system can be used with:
@ -26,97 +26,102 @@ Domoticz is a Home Automation system design to control various devices and recei
Weather sensors like: UV/Rain/Wind Meters
Temperature Sensors
Pulse Meters
Voltage / AD Meters
And more ...
Voltage/AD Meters and more
Shipped version: Always the last stable one. The last compiled version is retrieved from this directory during install. Once installed, updates from the uptream app are managed from within the app. Yunohost upgrade script will only upgrade the Yunohost package.
Shipped version: Always the last stable one. The last compiled version is retrieved from this directory during install. Once installed, updates from the uptream app are managed from within the app. YunoHost upgrade script will only upgrade the YunoHost package.
The MQTT broker mosquitto is integrated into the package. It requires its own domain or subdomain. It's an optional setting: during install if you set the same domaine as your main app domain, it won't be installed.
The MQTT broker Mosquitto is integrated into the package. It requires its own domain or subdomain. It's an optional setting: during install if you set the same domaine as your main app domain, it won't be installed.
### Configuration
#### Broker Mosquitto
During installation, a MQTT broker, Mosquitto, is installed at the same time as Domoticz. The installed version is the one from the official project repo and not from Debian ones. This broker requires a dedicated domain or subdomain to work (ex : mqtt.your.domain.tld) : creating this domain prior installation is a prerequisite
During installation, a MQTT broker, Mosquitto, is installed at the same time as Domoticz. The installed version is the one from the official project repo and not from Debian ones. This broker requires a dedicated domain or subdomain to work (ex : mqtt.your.domain.tld): creating this domain prior installation is a prerequisite.
##### Adding in domoticz
To use mosquitto, you need to customize the communication between domoticz and the broker by following the domoticz documentation, part Add hardware "MQTT Client Gateway". User and password are automatically generated during installation, you may retrieve them with
##### Adding in Domoticz
To use Mosquitto, you need to customize the communication between Domoticz and the broker by following the Domoticz documentation, part Add hardware "MQTT Client Gateway". User and password are automatically generated during installation, you may retrieve them with
```
sudo yunohost app setting domoticz mqtt_user
sudo yunohost app setting domoticz mqtt_pwd
```
##### Publish/Subscribe
By default, mosquitto will listen on 2 ports:
By default, Mosquitto will listen on two ports:
1883 on localhost using mqtt protocol
8883 using websocket protocol. Nginx redirect external port 443 to this internal port.
8883 using websocket protocol. NGINX redirect external port 443 to this internal port.
Hence, To publish/subscribe on a topic from the outside, you have to use a software supporting websocket protocol (ex : paho python library).
Hence, To publish/subscribe on a topic from the outside, you have to use a software supporting WebSocket protocol (ex: paho-mqtt Python library).
##### Mosquitto_pub et mosquitto_sub
These 2 tools do not support websocket protocol, only direct mqtt: base settings will not allow communication from an outside device. If you're using them directly from your server, this kind of syntax should work:
These two tools do not support WebSocket protocol, only direct MQTT: base settings will not allow communication from an outside device. If you're using them directly from your server, this kind of syntax should work:
```
mosquitto_pub -u *user* -P *password* -h mqtt.your.domain.tld -p 1883 -t 'domoticz/in' -m '{ "idx" : 1, "nvalue" : 0, "svalue" : "25.0" }'
```
In the same way:
```
mosquitto_sub -u *user* -P *password* -h mqtt.your.domain.tld -p 1883 -t 'domoticz/out'
```
If you wish to open direct mqtt protocol from an outside device, you'll need to:
If you wish to open direct MQTT protocol from an outside device, you'll need to:
open port 1883 on Yunohost firewall (Attention, security risk)
Allows IP addresses in mosquitto configuration for this listener
Set the tls setting in mosquitto configuration by giving access to crt.pem and key.pem from your mqtt domain by setting respective certfile et keyfile variables. This is mandatory to ensure a secure connection.
Set the TLS setting in mosquitto configuration by giving access to crt.pem and key.pem from your MQTT domain by setting respective certfile et keyfile variables. This is mandatory to ensure a secure connection.
##### Upgrade from version without mosquitto
##### Upgrade from version without Mosquitto
If you have package ynh3 or below, mosquitto is not installed by default. If you have chosen to not set a domain during initial installation also. So, if you need to activate mosquitto in retrospect, do following actions:
If you have package ynh3 or below, Mosquitto is not installed by default. If you have chosen to not set a domain during initial installation also. So, if you need to activate mosquitto in retrospect, do following actions:
Create a domain or a subdomain (for example : 'mqtt.your.domain.tld')
Connect to your server in command line
Type following command : yunohost app setting domoticz mqtt_domain -v mqtt.your.domain.tld
Upgrade domoticz to last package. If you're already on the last package version, use the following command : yunohost app upgrade domoticz --force
Type following command: `yunohost app setting domoticz mqtt_domain -v mqtt.your.domain.tld`
Upgrade domoticz to last package. If you're already on the last package version, use the following command: `yunohost app upgrade domoticz --force`
### Configuration
Sensors, language and this kind of stuff
Sensors, language...
Main configuration of the app take place inside the app itself.
#### Access and API
By default, access for the JSON API is allowed on following path /yourdomain.tld/api_/domoticzpath. So if you access domoticz via https://mydomainname.tld/domoticz, use the following webpath for the api : /mydomainname.tld/api_/domoticz/json.htm?yourapicommand
By default, access for the JSON API is allowed on following path `/yourdomain.tld/api_/domoticzpath`. So if you access domoticz via `https://mydomainname.tld/domoticz`, use the following webpath for the api: `/mydomainname.tld/api_/domoticz/json.htm?yourapicommand`
By default, only sensor updates and switch toogle are authorized. To authorized a new command, you have (for now) to manually update the nginx config file :
By default, only sensor updates and switch toogle are authorized. To authorized a new command, you have (for now) to manually update the NGINX config file:
sudo nano /etc/nginx/conf.d/yourdomain.tld.d/domoticz.conf
sudo nano `/etc/nginx/conf.d/yourdomain.tld.d/domoticz.conf`
Then edit the following block by adding the regex of the command you want to allow:
#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&param=udevice&idx=[0-9]*&nvalue=[0-9]*&svalue=.*$|type=command&param=switchlight&idx=[0-9]*&switchcmd=Toggle$) {
set $api "1";
}
For example, to add the json command to retrieve the status of a device (/json.htm?type=devices&rid=IDX),modify the line as this:
```
For example, to add the JSON command to retrieve the status of a device (`/json.htm?type=devices&rid=IDX`),modify the line as this:
#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&param=udevice&idx=[0-9]*&nvalue=[0-9]*&svalue=.*$|type=command&param=switchlight&idx=[0-9]*&switchcmd=Toggle$|type=devices&rid=[0-9]* ) {
set $api "1";
}
```
All IPv4 addresses within the local network (192.168.0.0/24) and all IPv6 addresses are authorized as API. As far as I know, there is no way to filter for IPv6 address on local network : You may remove the authorization by removing or commenting this line in /etc/nginx/conf.d/yourdomain.tld.d/domoticz.conf:
All IPv4 addresses within the local network (192.168.0.0/24) and all IPv6 addresses are authorized as API. As far as I know, there is no way to filter for IPv6 address on local network: You may remove the authorization by removing or commenting this line in `/etc/nginx/conf.d/yourdomain.tld.d/domoticz.conf`:
allow ::/1;
`allow ::/1;`
This will authorized only IPv4 within local network to access your domoticz API. You may add individual IPv6 address in the same way.
This will authorized only IPv4 within local network to access your Domoticz API. You may add individual IPv6 address in the same way.
### Limitations