!Logo
ioBroker.shelly
!node-lts
!Libraries.io dependency status for latest release
!GitHub !GitHub repo size !GitHub commit activity !GitHub last commit !GitHub issues !GitHub Workflow Status
[!IMPORTANT]
This adapter cannot be installed from github
Sentry
This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers. For more details and for information on how to disable the error reporting, see Sentry-Plugin Documentation! Sentry reporting is used starting with js-controller 3.0.
Versions
The adapter communicates with Shelly devices by REST API and the CoAP or MQTT protocol.
It uses the default Shelly firmware (no flashing of firmware needed!). You will find more and detailed information about the device here: Shelly
Documentation
Supported devices
Note that devices connected using Shellies Range Extender functionality are not supported. Please connect your devices directly to your (W)LAN and use a classic WLAN Repeater if required.
Generation 1 (Gen 1)
| Shelly Device | CoAP | MQTT | | ------------------------------------ | --------- | --------- | | Shelly 1 (SHSW-1) | >= v3.3.0 | >= v3.3.0 | | Shelly 1 PM (SHSW-PM) | >= v3.3.0 | >= v3.3.0 | | Shelly 1L (SHSW-L) | >= v4.0.5 | >= v4.0.5 | | Shelly 2 (SHSW-21/SHSW-22) | >= v3.3.0 | >= v3.3.0 | | Shelly 2.5 (SHSW-25) | >= v3.3.0 | >= v3.3.0 | | Shelly 4 Pro (SHSW-44) | >= v3.3.5 | >= v3.3.5 | | Shelly Dimmer (SHDM-1) | >= v3.3.0 | >= v3.3.0 | | Shelly Dimmer 2 (SHDM-2) | >= v3.3.4 | >= v3.3.4 | | Shelly RGBW (SHRGBWW-01) | < v3.4.0 | < v3.4.0 | | Shelly RGBW 2 (SHRGBW2) | >= v3.3.0 | >= v3.3.0 | | Shelly i3 (SHIX3-1) | >= v3.3.0 | >= v3.3.0 | | Shelly EM (SHEM) | >= v3.3.0 | >= v3.3.0 | | Shelly 3EM (SHEM-3) | >= v3.3.0 | >= v3.3.0 | | Shelly H&T (SHHT-1) | >= v3.3.0 | >= v3.3.0 | | Shelly Smoke (SHSM-01) | >= v3.3.0 | >= v3.3.0 | | Shelly Flood (SHWT-1) | >= v3.3.0 | >= v3.3.0 | | Shelly Gas (SHGS-1) | >= v3.3.3 | >= v3.3.3 | | Shelly Door/Window Sensor (SHDW-1) | >= v3.3.0 | >= v3.3.0 | | Shelly Door/Window Sensor 2 (SHDW-2) | >= v3.3.5 | >= v3.3.5 | | Shelly2LED (SH2LED) | >= v3.3.0 | >= v3.3.0 | | Shelly Plug (SHPLG-1) | >= v3.3.0 | >= v3.3.0 | | Shelly Plug S (SHPLG-S) | >= v3.3.0 | >= v3.3.0 | | Shelly Plug 2 (SHPLG-2) | >= v3.3.0 | >= v3.3.0 | | Shelly Sense (SHSEN-1) | >= v3.3.0 | >= v3.3.0 | | Shelly Bulb (SHBLB) | >= v3.3.0 | >= v3.3.0 | | Shelly Bulb Duo (SHBDUO-1) | >= v3.3.0 | >= v3.3.0 | | Shelly Color Bulb (SHCB-1) | >= v4.0.5 | >= v4.0.5 | | Shelly Vintage (SHVIN-1) | >= v3.3.0 | >= v3.3.0 | | Shelly Uni (SHUNI-1) | >= v4.0.4 | >= v4.0.4 | | Shelly Button (SHBTN-1) | >= v3.3.3 | >= v3.3.3 | | Shelly Button (SHBTN-2) | >= v4.0.5 | >= v4.0.5 | | Shelly Motion (SHMOS-01) | >= v4.0.6 | >= v4.0.6 | | Shelly TRV (SHTRV-01) | >= v6.0.0 | >= v6.0.0 | | Shelly Motion 2 (SHMOS-02) | => v6.2.0 | >= v6.2.0 |
Generation 2 (Gen 2)
| Shelly Device | CoAP | MQTT | |------------------------------------------------| ---- |------------| | Shelly Bluetooth Gateway (shellyblugw) | ❌ | >= v6.5.0 | | Shelly Plus 0-10V (shellyplus010v) | ❌ | >= v6.9.0 | | Shelly Plus 1 (shellyplus1) | ❌ | >= v5.0.0 | | Shelly Plus 1 Mini (shellyplus1mini) | ❌ | >= v6.4.5 | | Shelly Plus 1 PM Mini (shellyplus1pmmini) | ❌ | >= v6.4.5 | | Shelly Plus 1 PM (shellyplus1pm) | ❌ | >= v5.0.0 | | Shelly Plus 2 PM (shellyplus2pm) (2) | ❌ | >= v5.2.0 | | Shelly Plus i4 (shellyplusi4) | ❌ | >= v5.3.0 | | Shelly Plus i4 DC (shellyplusi4) | ❌ | >= v5.3.0 | | Shelly Plus H&T (shellyplusht) | ❌ | >= v6.2.0 | | Shelly Plus Plug S (shellyplusplugs) | ❌ | >= v6.4.0 | | Shelly Plus PM Mini (shellypmmini) | ❌ | >= v6.4.5 | | Shelly Plus RGBW PM (shellyplusrgbwpm) | ❌ | >= v8.2.0 | | Shelly Plus Smoke (shellyplussmoke) | ❌ | >= v6.5.0 | | Shelly Plus Uni (shellyplusuni) | ❌ | >= v9.5.1 | | Shelly Pro 1 (shellypro1) | ❌ | >= v5.2.0 | | Shelly Pro 1 PM (shellypro1pm) | ❌ | >= v5.2.0 | | Shelly Pro 2 (shellypro2) | ❌ | >= v5.2.0 | | Shelly Pro 2 PM (shellypro2pm) (2) | ❌ | >= v5.2.0 | | Shelly Pro 3 (shellypro3) | ❌ | >= v6.2.0 | | Shelly Pro 3 EM (shellypro3em) (3) | ❌ | >= v6.4.0 | | Shelly Pro 3 EM (400A) (shellypro3em400) (3) | ❌ | >= v10.4.1 | | Shelly Pro 3 EM 63 (shellypro3em63) (3) | ❌ | >= v9.1.0 | | Shelly Pro 4 PM (shellypro4pm) | ❌ | >= v5.0.0 | | Shelly Pro Dimmer 0/1-10V PM (shellypro0110pm) | ❌ | >= v9.5.0 | | Shelly Pro Dimmer 1 PM (shellyprodm1pm) | ❌ | >= v8.0.0 | | Shelly Pro Dimmer 2 PM (shellyprodm2pm) | ❌ | >= v7.0.0 | | Shelly Pro Dual Cover PM (shellypro2cover) (2) | ❌ | >= v6.5.0 | | Shelly Pro EM 2x50A | ❌ | >= v8.1.0 | | Shelly Pro RGBWW PM (shellyprorgbwwpm) (1) | ❌ | >= v9.5.0 | | Shelly Wall Display (shellywalldisplay) | ❌ | >= v7.0.0 | | Shelly Wall Display XL (shellywalldisplay) (4) | ❌ | >= v7.0.0 |
Notes: (1) CCT component not yet available (2) slat control requires >= v10.4.0 (3) monophase support requires >= 10.5.2 (4) uses same clienetId as shellywalldisplay
Generation 3 (Gen 3)
| Shelly Device | CoAP | MQTT | |----------------------------------------------------| ---- | ---------- | | Shelly 0/1-10V PM Gen3 (shelly0110dimg3) | ❌ | >= v8.4.0 | | Shelly 1 Mini Gen3 (shelly1minig3) | ❌ | >= v7.0.0 | | Shelly 1 PM Mini Gen3 (shelly1pmminig3) | ❌ | >= v7.0.0 | | Shelly 1 PM Gen3 (shelly1pmg3) | ❌ | >= v8.0.0 | | Shelly 1 Gen3 (shelly1g3) | ❌ | >= v8.0.0 | | Shelly 1L Gen3 (shelly1lg3) | ❌ | >= v10.2.0 | | Shelly 2L Gen3 (shelly2lg3) | ❌ | >= v10.2.0 | | Shelly 2 PM Gen3 (shelly2pmg3) (1) | ❌ | >= v8.3.0 | | Shelly 3EM-63 Gen3 (shelly3em63g3) | ❌ | >= v9.2.0 | | Shelly AZ H&T (shellyazht) | ❌ | >= v12.0.0 | | Shelly AZ Plug (shellyazplug) | ❌ | >= v9.5.0 | | Shelly BLU Gateway Gen3 (shellyblugwg3) | ❌ | >= v8.5.0 | | Shelly Camera (shellycamera) (*) | ❌ | >= v12.1.0 | | Shelly DALI Dimmer Gen3 (shellyddimmerg3) | ❌ | >= v10.2.0 | | Shelly Dimmer Gen3 (shellydimmerg3) | ❌ | >= v9.2.0 | | Shelly Duo Bulb E27 Gen3 (shellyduobulbg3) | ❌ | >= v12.0.0 | | Shelly EM Gen 3 (shellyemg3) | ❌ | >= v9.5.0 | | Shelly H&T Gen3 (shellyhtg3) | ❌ | >= v8.0.0 | | Shelly I4 / I4DC Gen3 (shellyi4g3) | ❌ | >= v8.5.0 | | Shelly Multicolor Bulb E27 Gen3 (shellycolorblbg3) | ❌ | >= v12.0.0 | | Shelly Pill (shellypill) | ❌ | >= v10.6.1 | | Shelly Plug M Gen3 (shellyplugmg3) | ❌ | >= v10.6.0 | | Shelly Plug PM Gen3 (shellyplugpmg3) | ❌ | >= v10.5.0 | | Shelly Plug S Gen3 (shellyplugsg3) | ❌ | >= v8.5.0 | | Shelly PM Mini Gen3 (shellypmminig3) | ❌ | >= v7.0.0 | | Shelly Outdoor Plug S Gen3 (shellyoutdoorsg3) | ❌ | >= v9.3.0 | | Shelly Shutter (shellyshutter) (1) | ❌ | >= v10.2.0 |
Notes: (1) slat control requires >= v10.4.0 (*) only partial support, full implementation work in progress
Generation 4 (Gen 4)
| Shelly Device | CoAP | MQTT | |-------------------------------------------------| ---- | ---------- | | Shelly 1 Gen4 (shelly1g4) | ❌ | >= v9.4.0 | | Shelly 1L Gen4 (shelly1lg4) | ❌ | >= v12.0.0 | | Shelly 1 PM Gen4 (shelly1pmg4) | ❌ | >= v9.4.0 | | Shelly 1 Mini Gen4 (shelly1minig4) | ❌ | >= v9.4.0 | | Shelly 1 PM Mini Gen4 (shelly1pmminig4) | ❌ | >= v9.4.0 | | Shelly 2L Gen4 (shelly2lg4) | ❌ | >= v12.0.0 | | Shelly 2 PM Gen4 (shelly2pmg4) (1) | ❌ | >= v10.2.0 | | Shelly Dimmer Gen4 (shellydimmerg4) (*) | ❌ | >= v10.5.0 | | Shelly Dimmer 0/1-10V PM Gen4 (shelly0110dimG4) | ❌ | >= v11.0.0 | | Shelly EM Gen4 (shellyemg4) | ❌ | >= v11.0.0 | | Shelly EM mini Gen4 (shellyemminig4) | ❌ | >= v10.6.0 | | Shelly Flood Gen4 (shellyfloodg4) | ❌ | >= v10.3.0 | | Shelly Flood S Gen4 (shellyfloodsg4) | ❌ | >= v12.0.0 | | Shelly I4 Gen4 (shellyi4g4) | ❌ | >= v12.1.0 | | Shelly Power Strip Gen4 (shellypstripg4) (*) | ❌ | >= v10.3.0 | | Shelly Presence Gen4 (shellypresenceg4) | ❌ | >= v11.0.0 |
Notes: (1) slat control requires >= v10.4.0 (*) only partial support, full implementation work in progress
Powered By Shelly
| Device | CoAP | MQTT | |------------------------------------------------------------| ---- | -----------| | FrankEver Smart Sprinkler Controller (irrigation) (*) | ❌ | >= v12.0.0 | | FrankEver Smart Watervalve (watervalve) | ❌ | >= v10.6.0 | | HiluX DS8 by Shelly (hiluxds8) | ❌ | >= v11.0.0 | | LinkedGo Smart Thermost (st1820) | ❌ | >= v10.6.0 | | Neo Smart Water Valve NAS-WV02W (neowatervalve) (*) | ❌ | >= v12.0.0 | | Ogemray 25A (ogemray25a) | ❌ | >= v9.5.0 | | Shelly Cury (cury) | ❌ | >= v11.0.0 | | Top AC Portable EV Charger (topacportableevcharger) (1)(*) | ❌ | >= v12.0.0 |
(1) device id must be set to something like topacportableevcharger-12345.
(*) support is experimental only
Bluetooth Low Energy (BLU)
See documentation (en) / documentation (de) for details (Shelly Scripting required). Please note that currently no transmission of any data from the adapter to the BLU devices is possible.
| Shelly Device | Version | |-----------------------------------------------| ----------- | | Shelly BLU Button and Button Tough 1 | >= v6.8.0 | | Shelly BLU Door Window | >= v6.8.0 | | Shelly BLU Motion | >= v6.8.0 | | Shelly BLU H&T | >= v6.8.0 | | Shelly BLU Wall Switch 4 | >= v8.2.0 | | Shelly BLU RC Button 4 | >= v8.2.0 | | Shelly BLU Distance | >= v10.4.1 | | Shelly BLU WS 90 | >= v10.5.0 |
NOT Supported devices
- Shelly Plus Wall Dimmer US
- Shelly Plus Plug US
- USB-powered UVC LED strip
- Shelly Wall Display X2
- Shelly LoRa Add-On
- Shelly BLU TRV
- all BLU devices that need to receive data from the adapter.
[!IMPORTANT]
The Shelly adapter does not support Shellies connecting using any sort of NAT, i.e. most VPNs and shelly range extender.
Changelog
WORK IN PROGRESS
- (GermanBluefox) Updated packages
- (GermanBluefox) (docs) Added note that BLE scanning is not supported on Gen4 devices in Zigbee mode (#1678)
12.1.0-alpha.1 (2026-10-14)
- (@mcm1957) Fixed digest authentication failing after ~7530 requests due to nonce counter never resetting and being formatted as decimal instead of hex (#1667). Thanks to @sadam6752-tech for detailled problemanalyses and solution.
12.1.0-alpha.0 (2026-10-10)
- (@mcm1957) Updated device icons to use device-specific images where available
- (@mcm1957) Added support for Shelly I4 Gen4 (shellyi4g4) (#1645)
- (@mcm1957) Fix stale switch state after MQTT command on Shelly Pro 4 PM and Shelly 2 PM Gen3. (#1640, #1627)
- (GermanBluefox) Fixed switching of virtual boolean and button datapoints (e.g. Neo Smart Water Valve)
- (@mcm1957) Fixed false "IP address is unknown" error during auto firmware update on adapter restart. [#1539]
- (@mcm1957) Fixed devices being marked online too early on adapter startup before protocol initialization is complete. [#1539]
- (@mcm1957) Added support for Shelly Camera (shellycamera) - EXPERIMENTAL ONLY [#1617]
- (@mcm1957) Device manager now refreshes the device list after adding devices via discovery and after a firmware update completes. [#1484]
- (@mcm1957) PLUG_UI states (LED control) are now activated for supported plug devices when firmware version 2.0.0 or newer is detected.
- (@mcm1957) dependencies have been updated
12.0.0 (2026-09-20)
- (@mcm1957) BREAKING: Adapter requires node.js >= 22, js-controller >= 7.2.2 and admin >= 8.0.11 now.
- (@GermanBluefox) Codebase has been migrated to TypeScript.
- (@mcm1957) Added support for Shelly Duo Bulb E27 Gen 3 (shellyduobulbg3). [#1385]
- (@mcm1957) Added support for Shelly Multicolor Bulb E27 Gen 3 (shellycolorblbg3). [#1386]
- (@mcm1957) Added support for Shelly 1L Gen4 (shelly1lg4) and Shelly 2L Gen4 (shelly2lg4).
- (@mcm1957) Added experimental support for FrankEver Smart Sprinkler Controller (irrigation). [#1207]
- (@mcm1957) Added support for Neo Smart Water Valve NAS-WV02W (neowatervalve). [#1322]
- (@mcm1957) Added support for Top AC Portable EV Charger (topacportableevcharger) - EXPERIMENTAL ONLY [#1401]
- (@mcm1957) Added support for Shelly Flood S Gen 4 (shellyfloodsg4). [#1380]
- (@mcm1957) Added monophase mode support for Shelly 3EM G3 (shelly3em63g3). [#1540]
- (@klein0r) Updated ble script (v1.4) for Shelly firmware > 2.0
- (@GermanBluefox) Added a new "Bluetooth map" tab to the adapter configuration which shows which Bluetooth devices are received by which Shelly gateway, including the signal strength. The gateways are arranged in a circle and each device is shown at the gateway which receives it best - all other connections and the signal values can be switched on.
- (@mcm1957) Added a "BLE Map" button to the device manager toolbar which opens the Bluetooth map.
- (@GermanBluefox) The device tiles now show when a device was last seen, and a device which goes offline is marked as disconnected immediately instead of only after reloading the list.
- (@GermanBluefox) The BLE gateway script can now be installed and updated from the device manager - per device or for all devices which already have it installed. The installed script version is shown in the device details.
- (@GermanBluefox) The list of gateways which receive a Bluetooth device (state "receivedBy") now collects all gateways instead of showing only the receivers of the last message. A gateway which stops receiving a device is removed after one hour.
- (@patricknitsch) Device Manager now automatically shows power values on the device tile, and voltage, current, energy and frequency in the device info, for any device that reports them.
- (@mcm1957) The transition time can now be written for Shelly Dimmer1/Dimmer2 and for Gen2+ dimmers/lights (incl. Dimmer Gen3 and Dimmer Gen4). [#1214][#1224]
- (@mcm1957) Fixed inverted Relay0.Switch state of Shelly 1L Gen3 (shelly1lg3), Shelly 1PM Mini Gen3 (shelly1pmminig3), Shelly Pro 2PM (shellypro2pm) and Shelly Plug S Gen3 (shellyplugsg3) caused by a device firmware bug. [#1318]
- (@mcm1957) Fixed date states (timer/transition/boost start times) to report the timestamp in milliseconds so it is compatible with JavaScript Date handling.
- (@mcm1957) Fixed authentication with Gen2+ devices running firmware 2.x which could fail with "Wrong http username or http password!" although the credentials were correct. [#1543]
- (@GermanBluefox) Fixed MQTT commands getting lost with "mqtt prefix was not set" if they were sent while a device was (re)connecting.
- (@GermanBluefox) Fixed that the adapter needlessly rewrote object definitions on every device update and reconnect, which caused repeated object change events and log spam in other adapters (e.g. valuetrackerovertime). [#1560]
- (@GermanBluefox) The device manager now updates the device list after renaming a device, after a firmware update and after installing the BLE gateway script - the cards showed outdated values before.
- (@mcm1957) Added the missing translations for all datapoint names in all supported languages.
- (@mcm1957) Added tests to validate that all datapoint names and descriptions are translated and that all i18n language files are consistent.
- (@GermanBluefox) Fixed MQTT errors ("Cannot read properties of undefined") if a device closes the connection while it is still being initialized (e.g. battery powered devices).
- (@floze-the-genius) Corrected roles for Gen 2+ input states. [#1498]
- (@GermanBluefox) Added option to ignore the timezone mismatch message (device timezone differs from the ioBroker host timezone).
- (mcm1957) dependencies have been updated
11.0.0 (2026-07-03)
- (@klein0r) Updated ble script (v1.3) for Shelly firmware > 2.0
- (@GermanBluefox) Added firmware update available indicator for devices supporting this feature.
- (@copilot) Added Shelly Dimmer 0/1-10V PM Gen4 (shelly0110dimg4).
- (@copilot) Added HiluX DS8 by Shelly (hiluxds8)
- (@copilot) Added Shelly EM Gen4 (shellyemg4)
- (@mcm1957) Adapter requires node.js >= 22, js-controller >= 6.0.11 and admin >= 7.8.23 now.
- (@GermanBluefox) Device manager has been added providing info and control of devices and provisioning.
- (@mcm1957) IMPORTANT: Please read the changelog at README.md listing more information.
11.0.0 additional information
- (@mcm1957) Added Shelly Presence Gen 4
- (@mcm1957) Added Shelly Cury
- (@GermanBluefox) Added support for Device manager: info and control of devices and provisioning
- (@GermanBluefox) Added detection of new devices in the background
- (@mcm1957) Some missing states added at an illuminance component
- (@mcm1957) DISABLE all PLUG_UI functionality due to unrecoverable HW faults.
- (@mcm1957) Dependencies have been updated
License
The MIT License (MIT)
Copyright (c) 2026 iobroker-community-adapters
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.