← Commandes | Sommaire | Suivant : Fonctionnalités avancées →
Web UI, MQTT & HTTP — DimmerLink Native Tasmota Driver
Utilisation de l'interface web
Tableau de bord

Curseurs de luminosité
Lorsqu'un ou plusieurs appareils DimmerLink sont détectés, la page principale de Tasmota (http://) affiche un curseur de luminosité pour chaque canal actif.
La disposition des curseurs est :
- Pour un seul appareil, les curseurs sont étiquetés
DL Ch1,DL Ch2, etc. - Pour plusieurs appareils, les curseurs sont étiquetés
DL1 Ch1,DL1 Ch2,DL2 Ch1, etc.
Les curseurs vont de 0 (éteint) à 100 (pleine luminosité). Faire glisser le curseur et le relâcher envoie une commande DlDim au canal correspondant. Le curseur reflète le niveau de luminosité actuel stocké dans le pilote et se met à jour lorsque le niveau change depuis n'importe quelle source (commande, MQTT, etc.).
Affichage du capteur
La section capteur de la page principale affiche un tableau d'état en lecture seule pour chaque appareil :
| Étiquette de ligne | Valeur affichée | Exemple |
|---|---|---|
DimmerLink1 Ch1 |
Luminosité et courbe | 75% (LOG) |
DimmerLink1 Ch2 |
Luminosité et courbe | 30% (RMS) |
DimmerLink1 AC |
Fréquence secteur détectée | 50 Hz |
DimmerLink1 Fade |
Temps de fondu (brut et secondes) | 10 (1.0s) |
DimmerLink1 Temp |
Température et état thermique | 42 C (NORMAL) |
La ligne Temp n'apparaît que si la fonctionnalité de température est disponible sur le matériel. Toutes les lignes se mettent à jour à chaque actualisation de la page web ; la section capteur n'est pas un flux push en direct.
Télémétrie MQTT
Publication de télémétrie
Le pilote contribue au message périodique tele/ de Tasmota (le hook FUNC_JSON_APPEND). L'intervalle de télémétrie est contrôlé par le réglage TelePeriod de Tasmota (par défaut 300 secondes).
Structure JSON — appareil unique
{
"Time": "2026-04-16T12:00:00",
"DimmerLink1": {
"Addr": "0x50",
"ACFreq": 50,
"Fade": 10,
"Ch1": {"Level": 75, "Curve": "LOG"},
"Ch2": {"Level": 30, "Curve": "RMS"},
"Ch3": {"Level": 0, "Curve": "LINEAR"},
"Ch4": {"Level": 0, "Curve": "LINEAR"},
"Temp": 42,
"Thermal": "NORMAL"
}
}Structure JSON — plusieurs appareils
Lorsque plusieurs appareils sont présents, tous apparaissent comme des clés séparées dans le même message SENSOR :
{
"Time": "2026-04-16T12:00:00",
"DimmerLink1": {
"Addr": "0x50",
"ACFreq": 50,
"Fade": 0,
"Ch1": {"Level": 75, "Curve": "LINEAR"},
"Ch2": {"Level": 0, "Curve": "LINEAR"},
"Ch3": {"Level": 0, "Curve": "LINEAR"},
"Ch4": {"Level": 0, "Curve": "LINEAR"}
},
"DimmerLink2": {
"Addr": "0x51",
"ACFreq": 50,
"Fade": 5,
"Ch1": {"Level": 50, "Curve": "LOG"},
"Ch2": {"Level": 0, "Curve": "LINEAR"},
"Ch3": {"Level": 0, "Curve": "LINEAR"},
"Ch4": {"Level": 0, "Curve": "LINEAR"}
}
}Descriptions des champs
| Champ | Type | Description |
|---|---|---|
Addr |
chaîne | Adresse I2C en hex, ex. "0x50" |
ACFreq |
entier | Fréquence secteur détectée, 50 ou 60 Hz |
Fade |
entier | Réglage du temps de fondu actuel (0-255, unités de 100 ms) |
Ch1 ... Ch4 |
objet | Données par canal |
Ch1.Level |
entier | Luminosité en pourcentage (0-100) |
Ch1.Curve |
chaîne | Courbe de variation : "LINEAR", "RMS" ou "LOG" |
Temp |
entier | Température en Celsius (uniquement si le matériel le supporte) |
Thermal |
chaîne | État de protection thermique (uniquement avec capteur de température) |
Les champs Temp et Thermal sont omis si le firmware MCU n'a pas FEATURE_TEMPERATURE activé, ou si le registre de température retourne 0xFF.
Envoi de commandes via MQTT
Les commandes sont envoyées à cmnd/ avec la charge utile comme argument :
Topic: cmnd/my-device/DlDim
Payload: 75
Topic: cmnd/my-device/DlDim
Payload: 2,30
Topic: cmnd/my-device/DlCurve
Payload: 2
Topic: cmnd/my-device/DlFade
Payload: 10Les réponses aux commandes sont publiées sur stat/ :
{"DlDim1":{"Ch1":75,"Ch2":30,"Ch3":0,"Ch4":0}}API HTTP
Toutes les commandes Tasmota sont accessibles via HTTP GET en utilisant le point de terminaison /cm.
Syntaxe
http:///cm?cmnd=%20 L'espace entre la commande et l'argument doit être encodé en URL comme %20.
Exemples avec curl
# Set device 1, channel 1 to 75%
curl "http://192.168.1.100/cm?cmnd=DlDim%2075"
# Set device 1, channel 2 to 30%
curl "http://192.168.1.100/cm?cmnd=DlDim%202,30"
# Set device 2, channel 1 to 50%
curl "http://192.168.1.100/cm?cmnd=DlDim2%2050"
# Set dimming curve to LOG on channel 1
curl "http://192.168.1.100/cm?cmnd=DlCurve%202"
# Set fade time to 1 second (value 10)
curl "http://192.168.1.100/cm?cmnd=DlFade%2010"
# Query full status of device 1
curl "http://192.168.1.100/cm?cmnd=DlStatus"
# Query full status of device 2
curl "http://192.168.1.100/cm?cmnd=DlStatus2"
# Recalibrate AC frequency on device 1
curl "http://192.168.1.100/cm?cmnd=DlRecalibrate"
# Change device 1 I2C address to 0x51
curl "http://192.168.1.100/cm?cmnd=DlAddress%200x51"Format de réponse
Toutes les réponses sont en JSON, retournées avec HTTP 200 :
{"DlDim1":{"Ch1":75,"Ch2":30,"Ch3":0,"Ch4":0}}Réponse d'erreur (numéro d'appareil invalide, argument hors plage, etc.) :
{"Command":"Error"}