Patrick Schurig 846c0c7525 feat(i18n): traduire ce qu'on écrit, garder verbatim ce que la machine affiche
Signalé sur /de/appareils/bornes/goecharger/ : la page était allemande sur deux
lignes et anglaise sur tout le reste. Le diagnostic a séparé deux choses que
j'avais mises dans le même sac le 2026-10-12.

LA LIGNE DE PARTAGE, écrite en tête du générateur :

  • les LIBELLÉS QUE NOUS ÉCRIVONS (en-têtes de colonnes, titres de section,
    oui/non, « Documentation fabricant ») → TRADUITS. Ils ne désignent rien à
    l'écran, l'anglais n'y était qu'une friction. REF devient REF_I18N, trois
    jeux de 20 libellés.

  • le CONTENU VENANT DE NYMEA (noms de modèles, clés de registres, libellés de
    champs comme « MAC address », unités) → VERBATIM, en anglais. Ce sont
    exactement les chaînes que l'installateur lit DANS L'APP, qui tourne en
    en_US. Les traduire rendrait la doc inutilisable pour retrouver un champ à
    l'écran.

Et la pièce qui change l'expérience plus que la traduction elle-même : une note
`verbatim`, générée dans la langue de la page, en tête du bloc de référence.
Sans elle le mélange FR/EN passe pour une traduction bâclée ; avec elle c'est
une convention que le lecteur comprend.

L'injection devient sensible à la langue : `locale_of()` déduit la langue du
suffixe du fichier et `process()` rend le bloc en conséquence. Sans ça le même
bloc partait à l'identique dans les trois versions.

TAGLINES ET TITRES — i18n/devices.yaml, 52 entrées

Le tagline vivait en paragraphe libre, écrit UNE SEULE FOIS à la création de la
page : il restait donc en anglais sur les trois versions, y compris la
FRANÇAISE. Il entre dans le bloc badges, donc il est régénéré, donc traduisible
pour toujours. 52 taglines en fr et de ; l'anglais retombe sur l'amont.

Les traductions vivent dans le dépôt de DOC et pas dans les meta.json : trois
des cinq dépôts plugins sont des dépôts nymea amont que l'AGENTS.md interdit de
modifier. Repli sur l'amont pour toute entrée absente.

Deux titres s'affichaient en FRANÇAIS sous /de/ et /en/ — « Compteur ABB B2x »,
« Borne ABB Terra AC » : corrigés, dans la page et dans la nav.

Deux coquilles AMONT corrigées au passage, repérées en relisant les 57 entrées :
meta.json annonçait « Bestel » pour Vestel et « Easeex » pour Easee. Signalées
comme corrections, pas comme traductions, dans i18n/devices.yaml.

48 FICHES FR ÉTAIENT DANS UN ANCIEN FORMAT, ET MENTAIENT

Trouvé en vérifiant : 48 fiches FR n'avaient pas de marqueur `__badges_*__`.
Leurs badges étaient du HTML figé, écrit une fois — goecharger affichait
« NIGHTLY » alors que PORTING_STATUS dit `stable` depuis. Elles sont migrées au
format canonique : badges générés, donc exacts, plus titre localisé, tagline et
intertitre. Reste `hvac/homeconnect.md`, orpheline (plugin hors PORTING_STATUS).

NAV : UN CONSTAT QUI ÉVITE DE REFAIRE L'ESSAI

`literate-nav` ne lit que son `nav_file` : la substitution par suffixe de
mkdocs-static-i18n ne s'y applique PAS. Un `SUMMARY.de.md` généré n'était lu par
personne et la barre latérale allemande gardait les noms français. Testé, puis
retiré — et la raison est écrite dans le générateur pour que personne n'y
revienne. Les libellés de nav passent par `nav_translations` : 31 éléments
traduits par langue au lieu de 29.

RÉFÉRENCE API : LAISSÉE EN ANGLAIS, DÉLIBÉRÉMENT

Les 23 pages de l'API n'ont pas de variante par langue. Leur traduire les
libellés aurait fait voir du FRANÇAIS aux lecteurs /de/ et /en/ par le repli —
une régression. Créer 46 variantes pour traduire dix libellés aurait triplé
28 000 mots de contenu généré pour un gain nul : le reste de la page (noms de
méthodes, de champs, de types, descriptions) est l'API elle-même, et ce sont les
chaînes qu'on écrit dans ses requêtes. À la place, une note explique dans les
trois langues POURQUOI cette référence est en anglais.

Vérifié : build --strict sans avertissement, les deux générateurs rendent « Doc à
jour » en --check, et la fiche goecharger relue dans les trois langues.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-13 08:42:21 +02:00

786 lines
34 KiB
Markdown

# Shelly
<!-- BEGIN GENERATED: __badges_shelly__ -->
<span class="badge stable">STABLE</span> <span class="badge origin-nymea">NYMEA</span> <span class="badge consumer">CONSUMER</span>
Use Shelly devices with nymea.
<!-- END GENERATED -->
_Installation guide coming soon._
## Reference
<!-- BEGIN GENERATED: integrationpluginshelly.json -->
!!! info "Application labels"
The keys and labels below are the ones the application shows,
**in English**. They are left verbatim so that you find them
word for word on screen.
**Manufacturer:** Shelly
**Plugin:** `shelly`
#### Supported models
| Model | Role | Transport | Pairing | Quantities |
| --- | --- | --- | --- | --- |
| **Shelly 1** | gateway, update | — | Auto-discovery | 6 |
| **Shelly Plus 1** | gateway, update | — | Auto-discovery | 6 |
| **Shelly 1PM** | gateway, Consumption meter, update | — | Auto-discovery | 8 |
| **Shelly Plus 1PM** | gateway, Consumption meter, update | — | Auto-discovery | 8 |
| **Shelly Pro 1PM** | gateway, Consumption meter, update | — | Auto-discovery | 8 |
| **Shelly 1L** | gateway, Consumption meter, update | — | Auto-discovery | 8 |
| **Shelly 2** | gateway, update | — | Auto-discovery | 7 |
| **Shelly 2.5** | gateway, update | — | Auto-discovery | 7 |
| **Shelly Plus 2PM** | gateway, update | — | Auto-discovery | 7 |
| **Shelly Plus Plug S/US/UK/IT** | powersocket, Consumption meter, update | — | Auto-discovery | 8 |
| **Shelly Plug/PlugS** | powersocket, Consumption meter, update | — | Auto-discovery | 8 |
| **Shelly RGBW2** | colorlight, update | — | Auto-discovery | 11 |
| **Shelly Dimmer (2) / Vintage** | dimmablelight, update | — | Auto-discovery | 8 |
| **Shelly button 1** | longpressmultibutton, battery, update | — | Auto-discovery | 7 |
| **Shelly I3** | longpressmultibutton, update | — | Auto-discovery | 8 |
| **Shelly H&T** | temperaturesensor, humiditysensor, battery, update | — | Auto-discovery | 9 |
| **Shelly TRV** | thermostat, temperaturesensor, battery, update | — | Auto-discovery | 13 |
| **Shelly Flood** | watersensor, temperaturesensor, battery, update | — | Auto-discovery | 9 |
| **Shelly Smoke** | firesensor, temperaturesensor, battery, update | — | Auto-discovery | 9 |
| **Shelly Plus Smoke** | firesensor, battery, update | — | Auto-discovery | 9 |
| **Shelly Gas** | gassensor, update | — | Auto-discovery | 10 |
| **Shelly switch** | powerswitch | — | Automatic | 3 |
| **Shelly 3EM (gen1)** | Energy meter, update | — | Auto-discovery | 27 |
| **Shelly Pro 3EM (120A / 400A)** | Energy meter, update | — | Auto-discovery | 24 |
| **Shelly 3EM (Gen3)** | Energy meter, update | — | Auto-discovery | 24 |
| **Shelly EM** | gateway, power, update | — | Auto-discovery | 6 |
| **Shelly Power meter Channel** | Consumption meter | — | Automatic | 4 |
| **Shelly EM Channel** | Energy meter | — | Automatic | 7 |
| **Shelly Motion** | presencesensor, lightsensor, update, battery | — | Auto-discovery | 10 |
| **Shelly connected Roller Shutter** | extendedshutter, Consumption meter | — | Automatic | 6 |
| **Shelly Addon temperature sensor** | temperaturesensor | — | Automatic | 3 |
#### Per-model detail
??? abstract "Shelly 1 — `shelly1`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `power` | Powered | bool | — |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
??? abstract "Shelly Plus 1 — `shellyPlus1`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `power` | Powered | bool | — |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
??? abstract "Shelly 1PM — `shelly1pm`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `power` | Powered | bool | — |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
| `totalEnergyConsumed` | Total energy consumed | double | KiloWattHour |
| `currentPower` | Current power consumption | double | Watt |
??? abstract "Shelly Plus 1PM — `shellyPlus1pm`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `power` | Powered | bool | — |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
| `totalEnergyConsumed` | Total energy consumed | double | KiloWattHour |
| `currentPower` | Current power consumption | double | Watt |
??? abstract "Shelly Pro 1PM — `shellyPro1Pm`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `power` | Powered | bool | — |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
| `totalEnergyConsumed` | Total energy consumed | double | KiloWattHour |
| `currentPower` | Current power consumption | double | Watt |
??? abstract "Shelly 1L — `shelly1l`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `power` | Powered | bool | — |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
| `totalEnergyConsumed` | Total energy consumed | double | KiloWattHour |
| `currentPower` | Current power consumption | double | Watt |
??? abstract "Shelly 2 — `shelly2`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
| `rollerMode` | Roller shutter mode | bool | — | `False` | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
| `channel1` | Power channel 1 | bool | — |
| `channel2` | Power channel 2 | bool | — |
??? abstract "Shelly 2.5 — `shelly25`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
| `rollerMode` | Roller shutter mode | bool | — | `False` | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
| `channel1` | Power channel 1 | bool | — |
| `channel2` | Power channel 2 | bool | — |
??? abstract "Shelly Plus 2PM — `shellyPlus25`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `rollerMode` | Roller shutter mode | bool | — | `False` | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
| `channel1` | Power channel 1 | bool | — |
| `channel2` | Power channel 2 | bool | — |
??? abstract "Shelly Plus Plug S/US/UK/IT — `shellyPlusPlug`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `power` | Powered | bool | — |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
| `totalEnergyConsumed` | Total energy consumed | double | KiloWattHour |
| `currentPower` | Current power consumption | double | Watt |
??? abstract "Shelly Plug/PlugS — `shellyPlug`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `power` | Powered | bool | — |
| `totalEnergyConsumed` | Total energy consumed | double | KiloWattHour |
| `currentPower` | Power consumption | double | Watt |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
??? abstract "Shelly RGBW2 — `shellyRgbw2`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `power` | On | bool | — |
| `brightness` | Brightness | int | — |
| `colorTemperature` | Color temperature | int | — |
| `color` | Color | QColor | — |
| `whiteChannel` | White channel | uint | — |
| `currentPower` | Current power consumption | double | Watt |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
??? abstract "Shelly Dimmer (2) / Vintage — `shellyDimmer`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `power` | On | bool | — |
| `brightness` | Brightness | int | Percentage |
| `currentPower` | Current power consumption | double | Watt |
| `updateStatus` | Firmware update status | QString | — |
| `currentVersion` | Firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
??? abstract "Shelly button 1 — `shellyButton1`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `batteryLevel` | Battery level | int | Percentage |
| `batteryCritical` | Battery level critical | bool | — |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Current firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
??? abstract "Shelly I3 — `shellyI3`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `input1` | Input 1 | bool | — |
| `input2` | Input 2 | bool | — |
| `input3` | Input 3 | bool | — |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
??? abstract "Shelly H&T — `shellyHT`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `temperature` | Temperature | double | DegreeCelsius |
| `humidity` | Humidity | double | Percentage |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `batteryLevel` | Battery level | int | Percentage |
| `batteryCritical` | Battery level critical | bool | — |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Current firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
??? abstract "Shelly TRV — `shellyTrv`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `temperature` | Temperature | double | DegreeCelsius |
| `targetTemperature` | Target temperature | double | DegreeCelsius |
| `valvePosition` | Valve position | uint | Percentage |
| `heatingOn` | Heating | bool | — |
| `boost` | Boost | bool | — |
| `windowOpen` | Window open | bool | — |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `batteryLevel` | Battery level | int | Percentage |
| `batteryCritical` | Battery level critical | bool | — |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Current firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
??? abstract "Shelly Flood — `shellyFlood`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `waterDetected` | Water detected | bool | — |
| `temperature` | Temperature | double | DegreeCelsius |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `batteryLevel` | Battery level | int | Percentage |
| `batteryCritical` | Battery level critical | bool | — |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Current firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
??? abstract "Shelly Smoke — `shellySmoke`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `fireDetected` | Fire detected | bool | — |
| `temperature` | Temperature | double | DegreeCelsius |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `batteryLevel` | Battery level | int | Percentage |
| `batteryCritical` | Battery level critical | bool | — |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Current firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
??? abstract "Shelly Plus Smoke — `shellyPlusSmoke`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `fireDetected` | Fire detected | bool | — |
| `mute` | Muted | bool | — |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `batteryLevel` | Battery level | int | Percentage |
| `batteryCritical` | Battery level critical | bool | — |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Current firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
??? abstract "Shelly Gas — `shellyGas`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `gasLevel` | Gas level | double | PartsPerMillion |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Current firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
| `sensorOperation` | Sensor operation | QString | — |
| `selfTest` | Self test | QString | — |
| `gas` | Gas level index | QString | — |
| `valveState` | Valve state | QString | — |
??? abstract "Shelly switch — `shellySwitch`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `channel` | Channel | uint | — | `1` | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `power` | On/Off | bool | — |
??? abstract "Shelly 3EM (gen1) — `shellyEm3`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `totalEnergyConsumed` | Total consumed energy | double | KiloWattHour |
| `totalEnergyProduced` | Total returned energy | double | KiloWattHour |
| `currentPower` | Current power | double | Watt |
| `currentPowerPhaseA` | Power usage (Phase A) | double | Watt |
| `powerFactorPhaseA` | Power factor (Phase A) | double | — |
| `currentPhaseA` | Current (Phase A) | double | Ampere |
| `voltagePhaseA` | Voltage (Phase A) | double | Volt |
| `energyConsumedPhaseA` | Total consumed energy (Phase A) | double | KiloWattHour |
| `energyProducedPhaseA` | Total returned energy (Phase A) | double | KiloWattHour |
| `currentPowerPhaseB` | Power usage (Phase B) | double | Watt |
| `powerFactorPhaseB` | Power factor (Phase B) | double | — |
| `currentPhaseB` | Current (Phase B) | double | Ampere |
| `voltagePhaseB` | Voltage (Phase B) | double | Volt |
| `energyConsumedPhaseB` | Total consumed energy (Phase B) | double | KiloWattHour |
| `energyProducedPhaseB` | Total returned energy (Phase B) | double | KiloWattHour |
| `currentPowerPhaseC` | Power usage (Phase C) | double | Watt |
| `powerFactorPhaseC` | Power factor (Phase C) | double | — |
| `currentPhaseC` | Current (Phase C) | double | Ampere |
| `voltagePhaseC` | Voltage (Phase C) | double | Volt |
| `energyConsumedPhaseC` | Total consumed energy (Phase C) | double | KiloWattHour |
| `energyProducedPhaseC` | Total returned energy (Phase C) | double | KiloWattHour |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Current firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
| `power` | Powered | bool | — |
??? abstract "Shelly Pro 3EM (120A / 400A) — `shellyPro3EM`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `totalEnergyConsumed` | Total consumed energy | double | KiloWattHour |
| `totalEnergyProduced` | Total returned energy | double | KiloWattHour |
| `currentPower` | Current power | double | Watt |
| `currentPowerPhaseA` | Power usage (Phase A) | double | Watt |
| `currentPhaseA` | Current (Phase A) | double | Ampere |
| `voltagePhaseA` | Voltage (Phase A) | double | Volt |
| `energyConsumedPhaseA` | Total consumed energy (Phase A) | double | KiloWattHour |
| `energyProducedPhaseA` | Total returned energy (Phase A) | double | KiloWattHour |
| `currentPowerPhaseB` | Power usage (Phase B) | double | Watt |
| `currentPhaseB` | Current (Phase B) | double | Ampere |
| `voltagePhaseB` | Voltage (Phase B) | double | Volt |
| `energyConsumedPhaseB` | Total consumed energy (Phase B) | double | KiloWattHour |
| `energyProducedPhaseB` | Total returned energy (Phase B) | double | KiloWattHour |
| `currentPowerPhaseC` | Power usage (Phase C) | double | Watt |
| `currentPhaseC` | Current (Phase C) | double | Ampere |
| `voltagePhaseC` | Voltage (Phase C) | double | Volt |
| `energyConsumedPhaseC` | Total consumed energy (Phase C) | double | KiloWattHour |
| `energyProducedPhaseC` | Total returned energy (Phase C) | double | KiloWattHour |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Current firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
| `power` | Powered | bool | — |
??? abstract "Shelly 3EM (Gen3) — `shelly3EM`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `totalEnergyConsumed` | Total consumed energy | double | KiloWattHour |
| `totalEnergyProduced` | Total returned energy | double | KiloWattHour |
| `currentPower` | Current power | double | Watt |
| `currentPowerPhaseA` | Power usage (Phase A) | double | Watt |
| `currentPhaseA` | Current (Phase A) | double | Ampere |
| `voltagePhaseA` | Voltage (Phase A) | double | Volt |
| `energyConsumedPhaseA` | Total consumed energy (Phase A) | double | KiloWattHour |
| `energyProducedPhaseA` | Total returned energy (Phase A) | double | KiloWattHour |
| `currentPowerPhaseB` | Power usage (Phase B) | double | Watt |
| `currentPhaseB` | Current (Phase B) | double | Ampere |
| `voltagePhaseB` | Voltage (Phase B) | double | Volt |
| `energyConsumedPhaseB` | Total consumed energy (Phase B) | double | KiloWattHour |
| `energyProducedPhaseB` | Total returned energy (Phase B) | double | KiloWattHour |
| `currentPowerPhaseC` | Power usage (Phase C) | double | Watt |
| `currentPhaseC` | Current (Phase C) | double | Ampere |
| `voltagePhaseC` | Voltage (Phase C) | double | Volt |
| `energyConsumedPhaseC` | Total consumed energy (Phase C) | double | KiloWattHour |
| `energyProducedPhaseC` | Total returned energy (Phase C) | double | KiloWattHour |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Current firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
| `power` | Powered | bool | — |
??? abstract "Shelly EM — `shellyEm`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Current firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
| `power` | Powered | bool | — |
??? abstract "Shelly Power meter Channel — `shellyPowerMeterChannel`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `channel` | Channel | uint | — | `1` | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `totalEnergyConsumed` | Total consumed energy | double | KiloWattHour |
| `currentPower` | Current power | double | Watt |
??? abstract "Shelly EM Channel — `shellyEmChannel`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `channel` | Channel | uint | — | `1` | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `totalEnergyConsumed` | Total consumed energy | double | KiloWattHour |
| `totalEnergyProduced` | Total returned energy | double | KiloWattHour |
| `currentPower` | Current power | double | Watt |
| `currentPhaseA` | Current | double | Ampere |
| `voltagePhaseA` | Voltage | double | Volt |
??? abstract "Shelly Motion — `shellyMotion`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `id` | Shelly ID | QString | — | — | yes |
| `coapMode` | CoIoT peer mode | QString | — | `unicast` | no |
| `username` | Username (optional) | QString | — | — | no |
| `password` | Password (optional) | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `isPresent` | Person is present | bool | — |
| `lightIntensity` | Light intensity | double | Lux |
| `vibration` | Vibration | bool | — |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `updateStatus` | Update status | QString | — |
| `currentVersion` | Current firmware version | QString | — |
| `availableVersion` | Available firmware version | QString | — |
| `batteryCritical` | Battery level critical | bool | — |
| `batteryLevel` | Battery level | int | Percentage |
??? abstract "Shelly connected Roller Shutter — `shellyRoller`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `channel` | Channel | uint | — | `1` | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `totalEnergyConsumed` | Total energy consumed | double | KiloWattHour |
| `currentPower` | Current power consumption | double | Watt |
| `moving` | Moving | bool | — |
| `percentage` | Position | int | Percentage |
??? abstract "Shelly Addon temperature sensor — `shellyAddonTempSensor`"
_Settings:_
| Key | Label | Type | Range | Default | Read-only |
| --- | --- | --- | --- | --- | --- |
| `addonId` | ID | QString | — | — | no |
_Measured quantities:_
| Key | Quantity | Type | Unit |
| --- | --- | --- | --- |
| `connected` | Connected | bool | — |
| `signalStrength` | Signal strength | uint | Percentage |
| `temperature` | Temperature | double | DegreeCelsius |
<!-- END GENERATED -->