← Comandi | Sommario | Avanti: Funzionalità avanzate →
Web UI, MQTT & HTTP — DimmerLink Native Tasmota Driver
Utilizzo dell'interfaccia web
Dashboard

Cursori di luminosità
Quando vengono rilevati uno o più dispositivi DimmerLink, la pagina principale di Tasmota (http://) mostra un cursore di luminosità per ogni canale attivo.
Il layout del cursore è:
- Per un singolo dispositivo, i cursori sono etichettati
DL Ch1,DL Ch2, ecc. - Per dispositivi multipli, i cursori sono etichettati
DL1 Ch1,DL1 Ch2,DL2 Ch1, ecc.
I cursori vanno da 0 (spento) a 100 (luminosità massima). Trascinare il cursore e rilasciarlo invia un comando DlDim al canale corrispondente. Il cursore riflette il livello di luminosità corrente memorizzato nel driver e si aggiorna quando il livello cambia da qualsiasi fonte (comando, MQTT, ecc.).
Visualizzazione sensore
La sezione sensore della pagina principale mostra una tabella di stato di sola lettura per ogni dispositivo:
| Etichetta riga | Valore mostrato | Esempio |
|---|---|---|
DimmerLink1 Ch1 |
Luminosità e curva | 75% (LOG) |
DimmerLink1 Ch2 |
Luminosità e curva | 30% (RMS) |
DimmerLink1 AC |
Frequenza di rete rilevata | 50 Hz |
DimmerLink1 Fade |
Tempo di fade (valore grezzo e secondi) | 10 (1.0s) |
DimmerLink1 Temp |
Temperatura e stato termico | 42 C (NORMAL) |
La riga Temp compare solo se la funzionalità di temperatura è disponibile sull'hardware. Tutte le righe si aggiornano ad ogni aggiornamento della pagina web; la sezione sensore non è un feed push in tempo reale.
Telemetria MQTT
Pubblicazione della telemetria
Il driver contribuisce al messaggio periodico tele/ di Tasmota (il hook FUNC_JSON_APPEND). L'intervallo di telemetria è controllato dall'impostazione TelePeriod di Tasmota (predefinito: 300 secondi).
Struttura JSON — dispositivo singolo
{
"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"
}
}Struttura JSON — dispositivi multipli
Quando sono presenti più dispositivi, tutti compaiono come chiavi separate nello stesso messaggio 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"}
}
}Descrizione dei campi
| Campo | Tipo | Descrizione |
|---|---|---|
Addr |
stringa | Indirizzo I2C in hex, es. "0x50" |
ACFreq |
intero | Frequenza di rete rilevata, 50 o 60 Hz |
Fade |
intero | Impostazione del tempo di fade corrente (0-255, unità di 100 ms) |
Ch1 ... Ch4 |
oggetto | Dati per canale |
Ch1.Level |
intero | Luminosità in percentuale (0-100) |
Ch1.Curve |
stringa | Curva di dimmerazione: "LINEAR", "RMS" o "LOG" |
Temp |
intero | Temperatura in Celsius (solo se l'hardware lo supporta) |
Thermal |
stringa | Stato di protezione termica (solo con sensore di temperatura) |
I campi Temp e Thermal vengono omessi se il firmware MCU non ha FEATURE_TEMPERATURE abilitato, o se il registro della temperatura restituisce 0xFF.
Invio di comandi tramite MQTT
I comandi vengono inviati a cmnd/ con il payload come argomento:
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: 10Le risposte ai comandi vengono pubblicate su stat/:
{"DlDim1":{"Ch1":75,"Ch2":30,"Ch3":0,"Ch4":0}}API HTTP
Tutti i comandi Tasmota sono accessibili tramite HTTP GET usando l'endpoint /cm.
Sintassi
http:///cm?cmnd=%20 Lo spazio tra il comando e l'argomento deve essere codificato come %20 nell'URL.
Esempi con 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"Formato della risposta
Tutte le risposte sono JSON, restituite con HTTP 200:
{"DlDim1":{"Ch1":75,"Ch2":30,"Ch3":0,"Ch4":0}}Risposta di errore (numero dispositivo non valido, argomento fuori intervallo, ecc.):
{"Command":"Error"}