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

34 KiB

Shelly

STABLE NYMEA CONSUMER

Use Shelly devices with nymea.

Installation guide coming soon.

Reference

!!! 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 |