Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
hardware:shelly_ht:mise_en_service [2022/04/11 12:32] – yoann | hardware:shelly_ht:mise_en_service [2023/02/08 00:52] (Version actuelle) – yoann |
---|
| |
| |
====== Mise en service du capteur Shelly H&T ====== | ====== Mise en service des capteurs Shelly H&T ====== |
| |
Lors de l'insertion de la pile de batterie, le capteur démarre et passe automatiquement en **mode AP** (Point d'accès autonome). On va pouvoir se connecter au réseau Wifi du capteur pour le paramétrer. | Lors de l'insertion de la pile de batterie, le capteur démarre et passe automatiquement en **mode AP** (Point d'accès autonome). On se connecte alors au réseau Wifi présenté par le capteur (SSID de la forme shellyht-XXXXXX ou XXXXXX sont les dernières valeurs hexadécimale de l'adresse MAC du périphérique). |
| |
| Pour le paramétrage, on utilise le navigateur web. Par défaut l'IP du capteur est 192.168.33.1. L'URL à taper pour accéder à la page de configuration est donc: |
| |
Une fois connecté au réseau wifi, on utilise l'interface web pour finaliser le paramétrage du capteur. | <code> |
| http://192.168.33.1 |
| </code> |
| |
| Pour intégrer le capteur dans un réseau wifi existant: |
| * Internet & Security > WiFi mode - Client |
| * Cocher l'option "Connect the Shelly device to an existing WiFi Network" |
| * Compléter le SSID et le mot de passe |
| * De préférence cocher "Set static IP address" et définir une IP statique. |
| * Valider en cliquant sur SAVE |
| |
| |
| <note warning> |
| Si le capteur doit s'intégrer à un réseau sans fil avec filtrage par adresses MAC attention: le capteur présente une adresse MAC différente quand il est configuré en mode AP (c6:5b:be:xx:xx:xx) et quand il est configuré en client (c4:5b:be:xx:xx:xx). Ce sera donc l'adresse MAC c4:5b:be:xx:xx:xx qu'il faudra autoriser à joindre le réseau sans fil. |
| </note> |
| |
| |
| Désactiver la connexion du capteur au cloud constructeur: |
| * Internet & Security > Cloud : cliquer sur le bouton "DISABLE CLOUD" et confirmer. |
| |
| Restreindre l'accès à la page de configuration: |
| * Internet & Security > RESTRICT LOGIN |
| |
| |
| * Settings > Device name : définir un nom pour le capteur |
| |
| |
| ===== L'API HTTP ===== |
| |
| Le firmware propose une API HTTP permettant d'obtenir des informations et de paramétrer le capteur via le navigateur ou via un client en ligne de commande tel que cURL: |
| |
| Si l'authentification est active l'accès est restreint sauf pour la ressource /shelly |
| <code bash> |
| # Afficher les informations du périphérique |
| curl --silent http://shelly-device.lan/shelly | jq |
| { |
| "type": "SHHT-1", |
| "mac": "C45BBExxxxxx", |
| "auth": true, |
| "fw": "20221027-092707/v1.12.1-ga9117d3", |
| "discoverable": false, |
| "sleep_mode": true |
| } |
| |
| # tentative de lecture des paramétrages sans authentification |
| curl http://shelly-device.lan/settings |
| 401 Unauthorized |
| |
| # Pour consulter une ressource restreinte: |
| curl http://username:password@shelly-device.lan/settings?sleep_mode_period=12 |
| </code> |
| |
| La première requête permet d'afficher des informations concernant le capteur même sans authentification préalable. On trouve notamment la version du firmware "20221027-092707/v1.12.1-ga9117d3" et on peut y lire également la version de l'API utilisée **1.12.1** |
| |
| * [[https://shelly-api-docs.shelly.cloud/gen1/#common-http-api|Documentation de référence de l'API]]; |
| * [[https://shelly-api-docs.shelly.cloud/gen1/#shelly-h-amp-t|Les informations spécifiques au Shelly H&T]]. |
| |
| La plupart des paramétrages sont accessibles depuis l'interface web cependant certains attributs ne sont pas disponibles. Dans ce cas on peut |
| |
| Désactiver INTERNET & SECURITY > Restrict login |
| |
| <code bash> |
| # Lister les attributs |
| curl --silent http://shelly-device.lan/settings |
| </code> |
| |
| Ci-dessous un extrait de réponse possible: |
| <code json> |
| { |
| "device": { |
| "type": "SHHT-1", |
| "mac": "C45BBExxxxxx", |
| "hostname": "shellyht-device", |
| "sleep_mode": true |
| }, |
| ... |
| "sensors": { |
| "temperature_threshold": 0, |
| "temperature_unit": "C", |
| "humidity_threshold": 0 |
| }, |
| "sleep_mode": { |
| "period": 12, |
| "unit": "h" |
| }, |
| "external_power": 0, |
| "temperature_offset": 0, |
| "humidity_offset": 0 |
| } |
| </code> |
| |
| La documentation de référence indique par exemple que l'attribut **mqtt.update_period** définit l'intervalle de mise à jour du status du capteur via MQTT. Cet attribut n'est pas modifiable via l'interface web cependant l'API REST permet de le modifier: |
| |
| <code bash> |
| # Désactive la transmission périodique de l'état du capteur via MQTT |
| curl --silent http://username:passord@shelly-device.lan/settings?mqtt_update_period=0 | jq |
| </code> |
| |
| ===== Transmission périodique des mesures ===== |
| |
| Le mode de transmission dépend de l'option ''Sensors Settings > external power supply'': |
| * En mode autonome, (Use external power supply décoché) le capteur passe le maximum de temps en sommeil. Il ne transmet des valeurs que toutes les 12 heures maximum ou lorsque les valeurs de seuil de variation sont atteintes; |
| * En mode batterie (external_power=1), le capteur s'éveille et transmet toutes les 10 minutes. |
| |
Appuie court sur le bouton | <note> |
Via le navigateur, consulter la page de configuration http://ip_sensor.local | La valeur de l'attribut **sleep_mode.period** est retournée par l'API REST mais il n'est pas modifiable. Certaines anciennes documentations mentionnaient des modification de ce paramètre. Les essais récent n'ont pas fonctionnés. |
| </note> |
| |
| |
* cocher l'option "Enable MQTT" | * cocher l'option "Enable MQTT" |
* Entrer l'adresse du Broker, cocher l'option "Retain" et laisser la QoS à 0, cliquer sur le bouton SAVE | * Entrer l'adresse du Broker, cocher l'option "Retain" et laisser la QoS à 0, cliquer sur le bouton SAVE |
| |
| <note> |
| Lorsque la connexion au Broker MQTT réussi, la diode d'état rouge passe de clignotant à fixe. |
| </note> |
| |
| |
| |
| ===== Références ===== |
| |
| * https://shelly.cloud/knowledge-base/devices/shelly-ht/ |
| * https://shelly-api-docs.shelly.cloud/gen1/#shelly-h-amp-t-settings |
| |