← Build & Flash | Sommaire | Next: Web, MQTT & HTTP →
Référence des commandes — pilote natif DimmerLink pour Tasmota
Toutes les commandes suivent les conventions standard de Tasmota :
- Les commandes sont insensibles à la casse.
- Un suffixe de numéro d'appareil optionnel (de 1 à 4) sélectionne l'appareil détecté à adresser. Sans suffixe, ou avec le suffixe
0, l'appareil 1 est utilisé par défaut. - L'envoi d'une commande sans argument retourne l'état actuel sans rien modifier.
- Toutes les commandes retournent des réponses JSON.
Le pilote natif utilise le préfixe Dl pour toutes les commandes (différent du préfixe DimmerLink du pilote Berry).
DlDim — Régler la luminosité du canal
Syntaxe :
DlDim[] [,] | Paramètre | Type | Plage | Description |
|---|---|---|---|
dev |
entier | 1-4 | Numéro d'appareil (optionnel ; défaut = 1) |
ch |
entier | 1-4 | Numéro de canal (optionnel ; défaut = 1) |
level |
entier | 0-100 | Luminosité en pourcentage |
Exemples :
DlDim 50 # Device 1, channel 1 to 50%
DlDim 75 # Device 1, channel 1 to 75%
DlDim 2,30 # Device 1, channel 2 to 30%
DlDim2 100 # Device 2, channel 1 to 100%
DlDim2 3,0 # Device 2, channel 3 to 0% (off)
DlDim # Query — returns all channel levels for device 1Réponse :
{"DlDim1":{"Ch1":50,"Ch2":30,"Ch3":0,"Ch4":0}}La réponse inclut toujours tous les canaux de l'appareil adressé.
Remarques :
- Le niveau
0éteint le canal. L'appareil ne mémorise pas le niveau précédent — la réactivation nécessite l'envoi d'un nouveau niveau non nul. - Les valeurs de niveau supérieures à 100 sont silencieusement limitées à 100 par le pilote.
- Si l'appareil retourne un code d'erreur non nul après l'écriture, le pilote l'enregistre au niveau DEBUG mais ne retourne pas d'erreur à l'appelant.
DlCurve — Régler la courbe de variation
Syntaxe :
DlCurve[] [,] | Paramètre | Type | Plage | Description |
|---|---|---|---|
dev |
entier | 1-4 | Numéro d'appareil (optionnel ; défaut = 1) |
ch |
entier | 1-4 | Numéro de canal (optionnel ; défaut = 1) |
curve |
entier | 0-2 | Courbe : 0 = LINEAR, 1 = RMS, 2 = LOG |
Exemples :
DlCurve 0 # Device 1, channel 1 to LINEAR
DlCurve 2 # Device 1, channel 1 to LOG
DlCurve 2,1 # Device 1, channel 2 to RMS
DlCurve2 1 # Device 2, channel 1 to RMS
DlCurve # Query — returns all channel curves for device 1Réponse :
{"DlCurve1":{"Ch1":"LINEAR","Ch2":"LOG","Ch3":"LINEAR","Ch4":"LINEAR"}}Remarques :
- Le réglage de courbe est appliqué par canal et est indépendant entre les canaux du même appareil.
- Les valeurs de courbe en dehors de 0-2 sont rejetées ; la commande n'a aucun effet et retourne l'état actuel.
- Les modifications de courbe prennent effet à la prochaine commande de luminosité. La définition d'une courbe ne modifie pas par elle-même le niveau de sortie.
Voir Courbes de variation expliquées pour des descriptions détaillées de chaque courbe et des recommandations par type de charge.
DlFade — Régler le temps de transition
Syntaxe :
DlFade[] | Paramètre | Type | Plage | Description |
|---|---|---|---|
dev |
entier | 1-4 | Numéro d'appareil (optionnel ; défaut = 1) |
value |
entier | 0-255 | Durée de fondu en unités de 100 ms |
Exemples :
DlFade 0 # Instant change (no fade)
DlFade 10 # 1.0 second fade
DlFade 50 # 5.0 second fade
DlFade 255 # 25.5 second fade (maximum)
DlFade2 20 # Device 2: 2.0 second fade
DlFade # Query — returns current fade value for device 1Réponse :
{"DlFade":0}Remarques :
- Le fondu est un réglage au niveau de l'appareil, pas par canal. Tous les canaux d'un appareil utilisent le même temps de fondu.
- Le fondu est implémenté dans le matériel MCU. Une fois qu'un changement de luminosité est écrit via I2C, l'appareil monte en rampe en interne vers le nouveau niveau sur la durée configurée.
- Le temps de fondu
0signifie un changement immédiat. Le fondu s'applique à toutes les écritures de luminosité, y compris celles provenant des curseurs de l'interface web.
DlStatus — Afficher l'état complet de l'appareil
Syntaxe :
DlStatus[] | Paramètre | Type | Plage | Description |
|---|---|---|---|
dev |
entier | 1-4 | Numéro d'appareil (optionnel ; défaut = 1) |
Exemples :
DlStatus # Status of device 1
DlStatus2 # Status of device 2Réponse :
{
"DimmerLink1": {
"Addr": "0x50",
"Bus": 1,
"Ready": true,
"FW": 1,
"ACFreq": 50,
"Fade": 10,
"Ch1": {"Level": 75, "Curve": "LOG"},
"Ch2": {"Level": 30, "Curve": "RMS"},
"Ch3": {"Level": 0, "Curve": "LINEAR"},
"Ch4": {"Level": 0, "Curve": "LINEAR"},
"Temperature": 42,
"ThermalState": "NORMAL"
}
}Les champs Temperature et ThermalState apparaissent uniquement si le firmware MCU a la fonctionnalité de température activée. Le champ LastError apparaît uniquement si la dernière opération I2C a produit un code d'erreur non nul :
{
"DimmerLink1": {
"Addr": "0x50",
"Bus": 1,
"Ready": true,
"FW": 1,
"ACFreq": 50,
"Fade": 0,
"Ch1": {"Level": 0, "Curve": "LINEAR"},
"LastError": "0xFE"
}
}DlReset — Réinitialisation logicielle
Syntaxe :
DlReset[] | Paramètre | Type | Plage | Description |
|---|---|---|---|
dev |
entier | 1-4 | Numéro d'appareil (optionnel ; défaut = 1) |
Exemples :
DlReset # Reset device 1
DlReset2 # Reset device 2Réponse :
{"Command":"Done"}Remarques :
- Écrit
0x01dans le registre COMMAND (0x01). - Après la réinitialisation, le drapeau
readyde l'appareil est mis àfalse. Il est restauré automatiquement lors du prochain sondage par tick de seconde une fois que l'appareil signale le statut READY. - La réinitialisation réinitialise le firmware MCU, y compris le déclenchement d'un nouveau cycle de calibration de fréquence AC. Pendant la calibration, les commandes de luminosité peuvent être ignorées ou produire des résultats incohérents.
DlRecalibrate — Recalibrer la fréquence AC
Syntaxe :
DlRecalibrate[] | Paramètre | Type | Plage | Description |
|---|---|---|---|
dev |
entier | 1-4 | Numéro d'appareil (optionnel ; défaut = 1) |
Exemples :
DlRecalibrate # Recalibrate device 1
DlRecalibrate2 # Recalibrate device 2Réponse :
{"Command":"Done"}Remarques :
- Écrit
0x02dans le registre COMMAND. - Déclenche un nouveau cycle de mesure de fréquence AC. Utile si la fréquence du réseau est signalée incorrectement, ou après avoir déplacé l'appareil vers une autre alimentation AC.
- L'appareil définit READY = 0 pendant la calibration. Le fonctionnement normal reprend automatiquement après la fin de la calibration (typiquement 1-2 secondes).
- Contrairement à
DlReset, la recalibration ne réinitialise pas les niveaux de canal ni les réglages de courbe.
DlAddress — Modifier ou interroger l'adresse I2C
Syntaxe :
DlAddress[] [] | Paramètre | Type | Plage | Description |
|---|---|---|---|
dev |
entier | 1-4 | Numéro d'appareil (optionnel ; défaut = 1) |
new_addr |
hex ou décimal | 0x08-0x77 | Nouvelle adresse I2C (optionnel ; sans argument = requête) |
Exemples :
DlAddress # Query current address of device 1
DlAddress 0x51 # Change device 1 address to 0x51
DlAddress2 0x52 # Change device 2 address to 0x52
DlAddress 81 # Change device 1 to decimal 81 (= 0x51)Réponse (requête) :
{"DlAddress":"0x50"}Réponse (après changement réussi) :
{"DlAddress":"0x51"}Remarques :
- L'adresse est acceptée en hexadécimal (avec le préfixe
0xou0X) ou en décimal. - Après l'écriture, le pilote attend 50 ms et lit le registre VERSION depuis la nouvelle adresse pour vérifier le changement. Si la vérification échoue, la commande retourne une erreur, mais le matériel de l'appareil peut avoir déjà changé — utilisez
DlStatuspour vérifier. - La nouvelle adresse est stockée dans la mémoire flash interne du MCU et persiste à travers les cycles d'alimentation.
- L'ancienne adresse devient invalide immédiatement après le succès de la commande.
- Les adresses 0x00-0x07 et 0x78-0x7F sont rejetées comme adresses I2C réservées.
Tableau complet des commandes
| Commande | Argument | Appareil | Canal | Retourne |
|---|---|---|---|---|
DlDim[N] |
[ch,]level |
Optionnel | Optionnel | Tous les niveaux de canaux |
DlCurve[N] |
[ch,]curve |
Optionnel | Optionnel | Toutes les courbes de canaux |
DlFade[N] |
value |
Optionnel | -- | Valeur de fondu actuelle |
DlStatus[N] |
-- | Optionnel | -- | État complet de l'appareil |
DlReset[N] |
-- | Optionnel | -- | Done |
DlRecalibrate[N] |
-- | Optionnel | -- | Done |
DlAddress[N] |
[new_addr] |
Optionnel | -- | Adresse actuelle ou nouvelle |