Changelog
All notable changes to Shelly Gen2+ API Docs will be reflected here.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.4.5] 2024-10-17
Fixed
- HT Gen3 Fix unresponsive devices
[1.4.4] 2024-10-17
Fixed
- mbedtls: Fix defragmentation of input handshake messages
- RPC Ensure that next generated ID is distinct from previous
- RPC Drop responses that cannot be delivered
- Scripting Orderly shutdown of scripts on reboot
- Scripting Fix MQTT handlers cleanup when script is removed
Pro
devices: Fix unintentionalWi-Fi
LED color change whenReset
button is pressed briefly- PlusRGBW PM Fix input
invert
property - HTTP.GET Fix
timeout
argument
Changed
- OTA: auto-commit updates and impose minimum required commit timeout
Local web
Fixed
- Cover Favorites buttons don't fit on single line
[1.4.3] 2024-08-22
Fixed
[1.4.2] 2024-08-19
Fixed
- Fix mDNS resolution failures (use correct length when adding NSEC data, fix mangled IP address in delayed sends)
- ProDimmer1PM, ProDimmer2PM Fix overpower protection trip during calibration
- ProDimmer1PM, ProDimmer2PM Fix recognition of non-dimmable loads
- Scripting Fix Virtual.getHandle crashes
- XMOD1 Fix inconsistent JWS handling
[1.4.1] 2024-07-31
Fixed
- PlusSmoke Fix notifications to backend
[1.4.0] 2024-07-31
note
1.3.3
is a mandatory update before 1.4.0
. Devices running versions older than 1.3.3
will not be served 1.4.0
.
Added
- KNX Integration
- Pro3EM Webhooks for
total_current_change
,total_active_power_change
,total_apparent_power_change
- ProEM, Pro3EM CT types support
- RGB, RGBW Option to use current
brightness
,white
andrgb
values inbutton_presets
andnight_mode
configuration - Light, RGB, RGBW
offset
argument inSet
method - Light, RGB, RGBW DimUp, DimDown, DimStop methods
- Pro devices: emit
sys_btn_down
,sys_btn_up
,sys_btn_push
notifications from user button - Pro devices:
sys_btn_toggle
config option to control outputs from user button - Pro devices: Virtual Components and BTHome
- BluGw
sys_led_enable
toggle - Virtual Components Optional
id
argument inVirtual.Add
- BTHome Optional
id
argument inBTHome.AddSensor
andBTHome.AddDevice
- PlusPM Mini, PM Mini
reverse
config option in PM1 component - PlusRGBW PM
hf_mode
toggle - Use both cloud an generic CA bundle for cloud conenction and update checks
- IPv6 Devices will attempt to obtain a public address using the Neighbour Discovery Protocol. If successful, this address can then be used to reach a Shelly device on the network, and device will include it in MDNS host advertisements.
- Scripting
Virtual
APIs - WiFi Add support for WPA3
Fixed
- BLE Scanner Fix lifetime issues
- MQTT Require restart when
use_client_cert
is changed - MQTT Allow more than one outstanding publish request (avoid MQTT queue overflows)
- Pro3EM Fix crash on phase-to-phase calibration
- Pro3EM Fix recovery from
power_meter_failure
error - Pro3EM Fix
reverse
CT measurement inmonophase
profile - PlusPM Mini, Plus1PM Mini, PM Mini, 1PM Mini Fix incorrect frequency reports
- Scripting Fix create/call ejs script from other script
- Ethernet Fix updating config parameters for
static
mode - Virtual Components Fix counting of vcs without an owner
- HTTP: Fix processing of zero-length responses
- BLE Do not attempt to advertise if BT is not running
- BLE Update bt-common to fix a UAF in scan results processing
- Debug logs Fix websocket authentication
Changed
- Update IDF to 5.2.1
- Convert ca.pem to binary; ship full CA bundle on Gen3 devices
- Update mbedtls to 3.5.2
- Repartition all 4M devices to reallocate 64K from FS to app
- Fix PT location for Gen3 devices
- Shelly.ListTimezones Paginate response BREAKING CHANGE
- RGB, RGBW Replace HTTP endpoint
/light/{id}
with/color/{id}
BREAKING CHANGE - Light, RGB, RGBW Apply night mode regardless of current brightness
- Light, RGB, RGBW Do not apply
min_brightness_on_toggle
when night mode is active - XMOD1 Change default LED type to plain
Removed
- WiFi Drop support for WPA
Local web
Added
- KNX configuration pages
- WiFi connection status and failure reason
- BluGw system LED enable/disable
- Virtual Components and BTHome for Pro devices
- Show BTHome devices on dashboard
- Pro3EM actions based on total values
- Button to enable the websocket debug log
- Device name in the tab title
- Pro devices: option to control outputs from user button
Fixed
- Schedule editor crash when invalid body is saved via RPC
- Invalid status for the second WiFi when only the first one is configured
- Cover slider not reactive sometimes
- BTHome information initial fetch
- BTHome filter only supported webhooks
- Section contents do not update when changing component type in URL
- Input field deleting decimals
- Cover obstacle detection can not be configured
- Cover auto-recovery can not be configured
- Cover fix incorrect "position lost" message when cover is closed
- RPC over UDP can not be configured
- ProEM actions can not be created
- Display detached inputs for Light
- Creating option for VirtualComponents::Enum is not possible sometimes
- PlugS, PlugUK LED indicator settings can not be configured
- Pro4PM, ProDualCoverPM Fix missing display settings
- Pro3EM Fix missing add-on card
- ProEM, Pro3EM CT types Fix error handling
- Rework diagnostics button for debug log and device data
Changed
- Unify behavior on setting page save
- Unify split button
- Rework status bar
- Trigger auto detect location via button
- Load timezones list on setting page open
- AP and Range extender configuration page rework
- Rework script editor page
- Improve PlusRGBW PM color picker
[1.3.3] 2024-06-25
Fixed
- Analog Input Fix wrong values after reboot
- shelly_cloud.pem: Add roots for popular cloud service providers
- mbedtls: Fix stack overflow caused by ECP optimization
- Dimmer 0/1-10V PM Fix sensor add-on with DHT22
[1.3.2] 2024-05-22
Fixed
- LWIP: fix support of MDNS queries (resolving
.local
names)
Added
- OTA: bootloader descriptor for detecting BL versions
[1.3.1] 2024-04-30
Fixed
- Sensor Addon Verify DS18B20 CRC when reading sensor data
- Plus1PM Mini, PlusPM Mini, 1PM Mini, PM Mini Fix BL0942 energy sign calculation
- Voltmeter Fix
xvoltage
value in event payload - Pro3EM Fix loading scales after reboot
Changed
[1.3.0] 2024-04-25
Fixed
- Pro3EM Incorrect power factor calculation
- PlusWallDimmer WiFi LED turns on/off unexpectedly
- Pro4PM Eliminate use of stale/uninitialized timer IDs
- ProDimmer1PM Fix dimming at range limit; fix calibration crash
- Pro1PM, Pro2PM, Pro4PM, ProDualCoverPM, Plus2PM Zero-cross synchronizer crash on device init
- Scripting Fix ejs ExecFile monitor
- Scripting Add 500ms delay before starting scripts on boot
- Scripting Fix ejs_event varleak
- Scripting Long print() output is printed halfway
- Scripting ejs_http: return 429 (Too Many Requests) when there are too many requests in flight
- Scripting Fix BLE scanner crash
- Scripting Fix ejs_set_tzoffset() and ejs validation checks
- Light Fix transition notifications
- Light HTTP compatibility does not perform toggle
- MQTT Handle stale DNS resolution callback
- WiFi Suppress disconnected/connecting flapping notifications
- LFS: lfs_superblock_t is not always located at a constant offset
- LFS: Add an assertion that block 0 and 1 are never allocated during normal operation
- LFS: Fix superblock expansion
- DNS-DS: Fix deadlock between main and tcpip tasks
- HTTP: Fix SendWebSocketFrame recursion
- RPC: Reject request in case of authz error
- Fix base64 decode buffer overflow when decoding a padded output
- Geolocation is not saved correctly
- System LED: missing response to WiFi disconnects
- HTTP POST: send 400 in response to bad requests
Added
- PlusI4 and PlusI4 DC: Input.Trigger RPC to simulate events from physical inputs
- Virtual Components::Button
- BTHome Observer and Components
- Add DigiCert Global Root G3 certificate (used by Azure Event Grid)
Changed
- WiFi Use 20MHz-wide channels for AP mode
- Restore timezone aliases (previously removed in
1.0.0
) - Optimize shos event dispatch to improve the performance of event delivery
- Refactor LwIP
- Modbus Replace esp-modbus with nanoMODBUS
- EM, EM1, PM1, Switch Throttle status change notifications when cloud is enabled
- Virtual Components Reduce rate limit capacity to 30
Local web
Added
- Virtual Components Add virtual button and drop virtual boolean(view=button)
- Virtual Components Auto generate script and bind it to virtual group beta
- BTHome Components
- Show a site-wide message or highlighted icon when there is a new stable version available
Fixed
- ProDualCoverPM Fix duplicated first channel
- PlusSmoke The smoke alarm cannot be muted with web button
- ProDimmer1PM Unreasonable amount of calibrate buttons
- PM Mini Gen3 TypeError when creating webhook
- PlugS, PlugUK Night mode can not be activated
- BLU Gateway Menu for actions & schedule is visible
- Webhook Fix
undefined
bug when loading supported webhook types - Ethernet Fix
gw
input settings - MQTT Checkbox for enable MQTT control is missing
- Schedule Wrong minutes schedule in Firefox
- Scripting Script editor crashes when too many brackets are opened
- Scripting Fix inserting second snippet
- Inconsistent warning text for actions not matching input mode
- Power protections: updated number precision and descriptions; fixed some missing inputs
- Visual updates and fixed reactivity of some inputs
- Download diagnostics button blind spot
- Local web doesn't load on ios 16 or older
- Auto off/on timers can not be disabled
Changed
- PlusHT, HT Gen3 Unite settings
- Force Shelly.CheckForUpdate when loading route /settings/firmware
- Rework the KVS pages
- Scripting Optimize scripts cards
- Optimize new action calls
[1.2.3] 2024-02-28
Fixed
- PlusPlugS Wrong device id
[1.2.2] 2024-02-23
Fixed
- Scripting Missing
print()
output
[1.2.1] 2024-02-22
Fixed
- Troublesome Wi-Fi reconnects
[1.2.0] 2024-02-13
Fixed
- Plus1 Mini, Plus1PM Mini, 1 Mini, 1PM Mini Persist output state on soft reboot
aenergy
,ret_aenergy
andcounts
accumulators:minute_ts
value is incorrect- Crash when core dumps are disabled but logs are enabled
- DNS-SD reconfiguration fails to remove services
- ProDimmer1PM Status LED doesn't blink when user button is held down for 5+ seconds
- PM1
power_update
event notifications are not emitted - LFS doesn't perform write-leveling when 50+% full
- Input Rework calculation of
counts.xby_minute
values - Bluetooth Low Energy Optimize scan event queue
- Virtual Components Webhooks associated with virtual components are not deleted when component is removed
- MQTT Incorrect PUBLISH packet ID parsing
- Dynamic components storage: adjust line size calculation when updating record
- Incomplete core dumps written to flash
Added
- Sys
component_added
andcomponent_removed
event notifications - EMData, EM1Data
ResetCounters
RPC methods
Changed
- EM, EM1 Initialize component with error if power meter chip failed to start
- VirtualComponents::Boolean Drop webhook types
boolean.true
andboolean.false
in favor ofboolean.change
- VirtualComponents Add
meta
object in config (note: formerui
object is nested intometa.ui
) - Schedule Round sunrise and sunset event times to whole minute
- Improved OTA mechanism: move commit state to OTA data and revert handling to bootloader
Removed
- Light Drop
default.brightness
from configuration (deprecated since1.0.0
) - Plus 0-10V Dimmer Disable
eco_mode
Local web
Fixed
- WiFi connected status is not reactive
- Crash when schedule is created via script/rpc
- Missing webhook action for Analog inputs
- Remove unsupported settings from Pro addon
- Analog values are not reactive
- Schedules and actions no longer ask for active component when active component is only one
- Power protections messages
- PlugS and PlugUK night mode
- Missing button for virtual boolean toggle view
- Show password visiblity toggle
- Webhook editor type error for EM1
Added
- Enable/disable Plus Addon
- Enable auto update firmware
Changed
- Improve modal dialog
- Improve message on profile change
- Sensors and Plus Addon UI rework
- Improve script errors
- Input range map calibration rework
- Improve color wheel
- Component overview pages rework
- Use the same style for pages without items
- Tweaks to the webhook and schedules creation page
- Message for not supported schedules jobs via the embedded editor
[1.1.1] 2024-01-05
Fixed
- PlusHT Fix regression in humidity offset for production batch 2220-Broadwell
[1.1.0] 2023-12-19
Added
- Switch, Cover, PM1
ResetCounters
RPC method to reset persistent energy accumulators - Switch Separate accumulator for returned energy (
ret_aenergy
) - Switch, Cover Persist energy counters on power loss
- Switch Input mode
activate
- Input (in
analog
mode), Voltmeterxvalue
support: allow raw value transformations by a user-provided JS expression - Pro3EM with addon and ProEM Modbus TCP control of Switch
- Pro3EM
triphase
andmonophase
profiles - Scripting MQTT support
MQTT.subscribe()
: wildcard topics
Fixed
- Pro3EM Erroneous power factor and frequency reports when load is disconnected
- ProEM
total_act_ret_energy
is not recorded - Cover Restore current position in case device crashes
- Cover Reduce power meters load to improve stability; autorecover unresponsive power meters
- Cover Fix calibration procedure for motors with adjustable travel modes (fast/slow)
- Pro1PM, Pro2PM, Pro4PM, ProDualCoverPM, Plus2PM Zero-cross synchronizer crashes on boot
- Light Do not apply
min_brightness_on_toggle
whenLight.Set
is invoked withtransition_duration
argument - Light Fix night mode activation
- Light Initial state
restore_last
is not applied - Input Fix validation of
Input.SetConfig
type
argument - MQTT
ssl_ca
property is not present inMQTT.GetConfig
response - DNS-SD: Fix interface matching when v4 or v6 is disabled
- Fix AP & BLE reset from user button
- HTTP Crash when there is no data following parsed header
Changed
- Scripting MQTT support
MQTT.subscribe()
: throw exception instead of aborting script if invocation fails;MQTT.publish()
: change return type toboolean
Local web
Added
- Support returned energy accumulators
- Support consumed/returned energy accumulators reset
Fixed
- Addons are missing on Plus series
- HTTP request doesn't work properly
- Drop duplicated settings for PlusHT
- Optimize countdown timers visualization
- Optimize schedules editing
- Delete action icons are misaligned
- Actions and schedules can be accidentally deleted
- Bluetooth Low Energy Gateway Missing scripts and range extender
[1.0.8] 2023-11-06
Fixed
- Webhook Fix handling of HTTP compatibility loopback calls
Local web
Fixed
- Idle settings page on Pro2PM in cover profile
- Tooltip on devices displays ethernet disabled when ethernet is enabled
[1.0.7] 2023-10-31
Changed
- Reworked mDNS responder
- Improve bootloader update
Removed
- PlusPM Mini Remove no-load condition
- Scripting Remove 15kB limit on script size
Added
- Plus2PM, Pro2, Pro2PM Add cycle mode support
- Input Configuration property
enable
Fixed
- BLE MAC in BLE MFD is in the wrong endianness
- MQTT Fix parsing of fragmented messages
- Switch MQTT
status_update
command toggles switch state - Plus1PM Mini, PlusPM Mini Improved resilience of BL0942 power meter driver
- Scripting Phantom script contents when invoking
Script.Delete
/Script.Create
- Scripting Optimize function parsing and garbage collection
- Cover Improved calibration procedure
- PlusHT Fix applying offset of temperature and rh
- Light
brightness
argument inLight.Set
is parsed incorrectly - Light Fix behavior of
min_brightness_on_toggle
- Light Invoking
Light.Set
withtransition_duration
sets brightness to 0% - Light Button presets don't work in
dual_dim
mode - Light HTTP endpoint
/light/id
does not perform toggle - Input Fix input reading on boot
- HTTP Relax parsing HTTP response lines
- WiFi Randomize AP channel
- Webhook Optimize handling of loopback calls
- Fixed UAF in timers
- Fix error message when RPC rejects due to lockout
- Prevent re-scheduling of HW timers while process is pending
- Track min queue free for the main queue
Local web
Fixed
- Bluetooth settings for PlusHT throws an error on open
- The firmware table does not scale correctly on mobile phones
- The color scheme for PlusPlugS and PlusPlugUK does not update the color
- Input settings for the Plus Addon for Plus2PM in cover mode throws an error
- Action cannot be deleted when the URL is invalid
- Negative sunset/sunrise values are not displayed correctly
Added
- Local web collects logs when open (not only at Diagnostics page)
- Added
connected
status for the cloud icon in the status bar - Script examples and snippets caching mechanism
- Modbus support for ProXEM
- Full cron support for schedules
- Add MAC addresses for Ethernet, BLE and WiFi
- Advanced link for KVS and diagnostics
- Button to clear log cache from the diagnostics page
Changed
- Debug log reconnecting strategy
- KVS manager improvements
- Firmware page UI
- Limit calls to schedule calls
- Countdown animation on auto on and auto off
- Script editor improvements
- Diagnostic and script console rework
- For single-component devices, skip component selection for actions
[1.0.6] 2023-10-09
Changed
- [Pro x EM] Introduce adaptive logic for emitting power meter updates
- [Pro x EM] Remove no-load condition
Added
- Pro3EM, ProEM: User button (marked as reset) can be used to toggle the add-on relay or the built in relay.
Fixed
- ProEM Fix conditional webhooks.
[1.0.5] 2023-09-26
This version was only released for the ProEM device.
Fixed
- ProEM Energy values recorded are significantly lower
[1.0.3] 2023-09-12
Changed
- Disable safe mode
[1.0.2] 2023-09-11
Fixed
MQTT
Fix connection when using TLSMQTT
Fix crashes caused by storing a freed queue entry- PlusPlugUK Fix crash caused by memory leak
- Debug logs Fix password protection of
/debug/log
: accept regular HTTP auth as well as auth via query string - BLE Fix crash caused by incorrect connection close
Cover
HTTP Endpoint/roller/id
: fix parsing ofoffset
andduration
Cover
Fix behavior of one-button mode after reboot / power-cycleCover
Fix support of interlocking switches- Optimize network buffer usage
- HTTP auth: Fix URI when computing digest response (include query string, if present)
- PlusHT, PlusSmoke Drop BLE observer option for battery operated devices
Changed
Local web
Fixed
- Idle power threshold setting for Cover now accept float values
- Bluetooth RPC and cloud gateway can be enabled only if the main Bluetooth is enabled
- Idle confirm period setting for Cover now have proper validation
- Movement time limit setting for Cover now have proper validation
- Added missing
Pause
action for Cover safety switch - Added missing
Led indication
setting for PlusWallDimmer - Show correct name for component when creating local action
- Remove Bluetooth observer option for battery operated devices
- Fix description of Bluetooth settings for battery-operated devices
- Sometimes the snackbar shows
undefined
- Cannot set "LED indication mode" for
PlusPlugS
- Clear script
updating
status at the start - Fix placeholder when no scripts are available
Changed
- Firmware update page improvements
- Improved dialog for creating schedules
- Auto OFF and ON timers now support float values
Added
- Show network frequency for EM, EM1 and Switch components (only PM devices)
- Action on power ON for PlusWallDimmer
- Ability to upload firmware from .zip file
- Show banner when the device boots in
safe mode
[1.0.1] 2023-08-24
Fixed
- Plus1PM Mini, PlusPM Mini Incorrect energy accumulation
[1.0.0] 2023-08-03
Added
EM
Modbus registers for total current, total active power and total apparent powerInput
invert
andrange_map
configuration properties foranalog
input typeLight
min_brightness_on_toggle
configuration propertyLight
HTTP Endpoint/light/{id}
- Authentication in HTTP client, supporting basic and digest schemes. This enables the HTTP service and webhooks to access password-protected URLs.
- Support for
Pro3EM
Addon - Introduced a 15kB limit on script size
Date
support in scripting- Inbound HTTP RPC channel: New query string syntax which allows setting nested JSON properties by path, e.g.
/rpc/Sys.SetConfig?config.device.name=Some Name
Cover
last_direction
attribute in statusbtoh
function added in scripting- Pro3EM Add option to reverse CT direction of measurement for active power and energy
- Add network frequency in status of
EM
,Switch
,Cover
components. shown if applicable
Changed
Shelly.CheckForUpdate
now returns an error instead of an empty result when device was unable to query the server.- Restrict access to log streams over websocket when authentication is enabled
- [
Script.PutCode
] cannot overwrite a running script. An error is returned if the script is running. Light
deprecatedefault.brightness
property in Light configurationCover
bump max settable value ofmotor.idle_confirm_period
configuration to 2s- WiFi: drop support for TKIP in AP mode. TKIP is a weak legacy cypher.
- BLE Scanner de-duplicates identical scan results within a 3-second window.
Removed
Sys
Dropwakeup_period
attribute from configuration (deprecated since 0.11.0)Webhook
Drophook_types
object fromWebhook.ListSupported
response (deprecated since 0.11.0)- Timezone aliases and historical definitions listed in IANA's
backward
file.
Fixed
- Plus2PM Configuration of sensor addon components is reset on profile change
Local web
Added
- Display device time in local web footer
- New settings for switches - "External consumption type"
- Cover: Add position hint information when creating schedule for position
- Support for
Pro3EM
Addon - Wi-Fi roaming setting in Wi-Fi settings page
- New page Global Schedules - show every created schedule per component
- New page Global Actions - show every created action per component
- Scripting: Shortcuts for save and run
- Scripting: States such as Updating, Saved, Stopped, Running no longer use pop-up messages but unified UI state
Fixed
- Pro2PM: Schedule Type error after ota update
- Cover: When creating action to execute "when open" it is showed as "opening"
- Adding scripts from library glitches in Firefox
- Pro3EM: Download csv timestamps were not dynamic
- Cover: Schedule with "undefined" position could be created
- Scripts were not updated when deleting
- Schedules: Action was showing "undefined" if the method is saved with upper case letter
- Schedules: PlusI4, Pro3EM empty component
Changed
- Script editor improvements
- New UI and UX of the schedules
- Device reboot and device reset are now quick buttons in Settings list
- Scripting: Improved visuals
[0.14.4] 2023-05-10
Fixed
- PlusPlugUK Update default max power and max current limits
[0.14.3] 2023-04-20
Fixed
- PlusSmoke OTA update via cloud
Added
- PlusSmoke New hook type
smoke.alarm_off
[0.14.2] 2023-03-28
Fixed
- PlusWallDimmer Restore night mode in case of power loss
- PlusWallDimmer Looped trigger of
light.on
/light.off
webhooks
Local Embedded Web
- Improvement: PlusWallDimmer - Minor improvement on summary cards UI
- Bug fix: PlusWallDimmer, improve auto on/off timers animation
[0.14.1] 2023-03-08
Fixed
- PlusHT
Temperature
andHumidity
offsets are applied by twofold - PlusSmoke Disable
active_between
property inWebhooks
Changed
- Relax notifications rate limit for the
Input
component (80 notifications for a period of 60 seconds) - PlusPlugUK Update max power and max current limits
Local Embedded Web
- Use
zopfli
to compress the Web UI bundle - Minor bug fix of behavior for attached/detached inputs
[0.14.0] 2023-02-28
Added
EM
Ability to calibrate a new CT from an existing one,EM.PhaseToPhaseCalib
andEM.PhaseToPhaseCalibReset
EM
Addno_load
error- Notifications rate limit for the
Input
component MQTT Control
Additional topics which allow commands to be sent to the device as well as for publishing resultsBLE
Bluetooth observer
Fixed
HTTP.Request
cannot perform POST HTTPS request to specific sites
Changed
- Pro4PM Show channel name on display when set, if it contains latin characters only.
Local Embedded Web
- New feature: Add support for MQTT control
- New feature: Add support for RPC over MQTT
- New feature: Add support for bluetooth gateway
- New feature: Add phase to phase calibration for Pro3EM
- Improvement: Improve the diagram view for Pro3EM
[0.13.2] 2023-02-21
Fixed
- PlusHT Implement a full refresh every 24h (at night time) to clear any artefacts on ePaper display
- PlusHT Improve display update temperature threshold (change to 0.2C)
[0.13.1] 2023-02-09
Local Embedded Web
- Bug fix: Pro3EM Totals of active power, apparent power, current are
null
[0.13.0] 2023-02-09
Added
Switch
,Cover
Undervoltage protectionSwitch
Automatic recovery from overvoltage/undervoltage errorsInput
Triple push notification and webhookEMData
Perpetual total energy countersEM
total_current
,total_act_power
,total_aprt_power
attributes in status
Fixed
Switch
Improve power measurement forPlus1PM
,PlugUS
,PlusPlugS
,PlusPlugIT
,PlusPlugUK
(fixes erroneous overvoltage errors; fixes parasitic energy reports when no load is connected)Switch
Optimize power measurement notificationsSwitch
,Cover
Reduce aggressiveness of overpower/overcurrent protectionSwitch
,Cover
Parasitic status change notifications on overvoltage, overpower and overcurrent errorsSwitch
,Light
,WiFi
Inaccurate*.SetConfig
error messagesWebhook
active_between
is interpreted incorrectly when period spawns across the next dayScript
Crashes when specific scripts are enabled to start on bootEMData
CSV data download HTTP params processingEMData
Missing MODBUS data for energy on phases B and C- PlusPlugS, PlusPlugUK Support dynamic LED transition ranges based on power limit settings
- PlusPlugS, PlusPlugUK, PlusPlugIT Update max power limit to match device prints
- PlusPlugS, PlusPlugUK Improve reaction time of LEDs in power mode
- PlusPlugS, PlusPlugUK Wrong brightness of network status indication
- PlusPlugS, PlusPlugUK Restore night mode in case of power loss
- PlusPlugS Ambiguous voltage shown when output is off
- PlugUS, PlusPlugIT Wrong LED indication after factory reset
- Plus2PM, Pro2PM Guarantee outputs don't turn on after factory reset from
cover
toswitch
profile - Pro4PM Display shows wrong time when not synced with NTP
- PlusSmoke Battery charge is not displayed
- PlusSmoke Missing
id
in status change notifications - PlusSmoke Does not factory reset with 5 button clicks from config mode
Local Embedded Web
- New device support: Added support for Plus Plug S
- New device support: Added support for Plus Plug IT
- New device support: Added support for Plus Plug UK
- New device support: Added support for Pro 3EM
- New feature: Added build version for local web UI
- New feature: Detect firmware update and show message asking for a refresh of the page
- New feature: Add
Undervoltage protection
setting for devices with power metering - New feature: Add settings for auto recovery for Over/under voltage
- New feature: Add RPC over UDP
- New feature: Add Actions: Webhook-Event for triplepush
- New feature: Add tripplepush input visualisation
- New feature: Add Pro3EM error handling visualisation
- New feature: Add support for Pro3EM actions
- Improvement: Create placeholder with prompt when no scripts
- Improvement: Saving script causes errors in some weird situations
- Improvement: IP and network mask are the only required settings for static IP
- Improvement: Add cover profile default route to home -> /cover/0/overview
- Improvement: Set
Action on power on
default value tooff
when is required - Bug fix: Ensure
Units
settings is only visible on devices which have units - Bug fix: Plus Addon - Non-blocking TypeError when adding peripheral
- Bug fix:
RangeError: Invalid time value
error when a device had issues with syncing time - Bug fix: Can't configure Outbound Web Socket with
TLS no verification
and awss://
link on version 0.12.0 - Bug fix: Fix the disappearing factory reset by input checkbox
- Bug fix: Fix showing incorrect component when changing index in URL
- Bug fix: Submenu's active bar is not correctly displayed
- Bug fix: Home is side navigation is not highlighted
- Bug fix: Empty actions placeholder contains wrong icon
- Bug fix: Fix incorrect Pro3EM sum of totals
- Bug fix: Fix timer freezing
- Minor: Home page URL handling for Plus/Pro2PM (Cover/Switch)
- Minor: Actions - Slider text improvement
[0.12.0] 2022-12-06
Added
- Sensor Add-On support for
Plus1
,Plus1PM
,Plus2PM
,PlusI4
,PlusI4DC
Voltmeter
componentInput
component: support digital and analog inputs- Webhook: new types
input.analog_change
,input.analog_measurement
,voltmeter.measurement
,temperature.measurement
,humidity.measurement
- Scripts: Base64 encoding and decoding
- Scripts: Access bluetooth functionality - device discovery
- Embedded web: new device UI. Add "Actions" - control local device functionality on component events
Fixed
- Cover:
Cover.SetConfig
error messages when arguments are out of range - Cover: calibration fails when
obstruction_detection.holdoff
exceeds open/close duration - ECO Mode fails to apply after WiFi reconnect
- Webhook: fix invocation of
http://localhost
/http://127.0.0.1
urls - Scripts: fix memory leak in
Shelly.emitEvent
Light
component: fix validation ofnight_mode.active_between
parameter
Changed
- PlusHT: Change
wakeup_period
to 2h
[0.11.4] 2022-10-24
Added
- Sys: Add event to announce scheduled soft restart
- Webhook: Add expanded context for evaluation of conditions and token replacement and configurable repeatability
- Temperature and Humidity: offset
- Cover: configurable idle hold-off period
Changed
- BLE: Updated configuration to include separate
enable
flag for the RPC service - Sys:
restart_required
property is no longer set totrue
when a restart is scheduled automatically - RPC handlers are disabled when a soft reboot is scheduled. Error code will be -109
- Webhook: Expand the context for evaluation of conditions and token replacement with device status, configuration and info
- Cover: last position is stored in non-volatile memory when movement ends
Fixed
- Duplicate notification for some types of events
- Cover: losing position when multiple GoToPosition commands are enqueued
- Increased CPU frequency limit in ECO Mode
- PlusHT: fixes in display behavior
- Cover: improve stability with ECO Mode
[0.11.3] 2022-10-14
Fixed
- Device instability caused by ZX synchronizer during flash operations
- Memory leak in scripts
[0.11.2] 2022-10-04
Changed
Pro1PM
,Pro2PM
,Pro4PM
,Plus2PM
: Synchronize output operations with voltage zero-cross
Fixed
- Off-by-1 error in some timezones
[0.11.1] 2022-09-09
Fixed
- Mis-provisioned
Plus1
,Plus1PM
devices
[0.11.0] 2022-08-30
Embedded/local web improvements:
- When editing a script, there is a “Snippets” section, which allows you to use snippets to write code faster
- On the Scripts (listing) page, there is a new Library button, that allows you to install scripts, directly from our GitHub page
- In the scripts library, you can change the library url for the specific device and load your own library
API Documentation improvements:
- Major restructuring of the documentation, so that most of the APIs are now easy to find in the new combined “Components and Services” section
- Request, responses are now reformatted to look better/are easier to use/understand
- Formatting of parameters, error codes and others are now rendered in tables to improve readability
- Each Component/Service page is now following similar page structure
- New components and their respective documentation had been added (see next)
Added
- client_id parameter in MQTT configuration
- discoverable property to System configuration
- Range extender
- Outbound Websocket component
- Webhooks and schedules revisions
- Webhooks: conditions; variable interpolation in URLs
- Status change notification for cfg_rev attribute
- KVS service
- Temperature component
- Humidity component
- DevicePower component
- Light component
- Sleep management for battery-operated devices
- Scripts: register handlers to incoming HTTP requests
- Scripts: broadcast events
- Scripts: synchronous access to configuration, status, device info, current script id
Changed
- MQTT: Change MQTT QOS level to 1
- MQTT: Retain LWT messages
- BLE: Require restart to apply BLE config changes
- Scripts: Error handling behavior changes to a more strict mode. Previously, errors during script execution only terminated the current context -- specific callback invokcation, for example. Now, errors encountered during script execution terminate the script and are reflected in its status.
- For battery-operated devices: deprecate
wakeup_period
property in System configuration (moved to System status)
Fixed
- Scripts: Script causing device crashes are detected and disabled automatically
- Scripts: Crash on MQTT unsubscribe when MQTT is disabled
- Power values oscillation between 0W and 1W on Plus1PM
- Crash when calling Shelly.Update without parameters
- Wrong aenergy values with low-power loads on Pro devices
- Validation of cid and event parameters of Webhook.Create, Webhook.Update
- Crash due to race-conditions between TCP errors and queued callbacks
- Poor device responsiveness during HTTPS webhooks execution
- Incorrect ACL when authenticaion is disabled
- Erroneous overpower events on
Plus1PM
andPlugUS
devices - MQTT: Ignored
topic_prefix
[0.10.3] 2022-06-17
Fixed
- Erroneous overvoltage events on
Plus1PM
devices
[0.10.2] 2022-05-31
Fixed
- Wrong power consumption values displayed on Pro4PM boot
- Incorrect behavior of reset button (all devices)
- Fix mis-provisioned
Plus1PM
devices
[0.10.1] 2022-03-30
Fixed
- Schedules around DST time shifts
[0.10.0] 2022-03-08
Added
- New HTTP.Request RPC method with support for
GET
,POST
,PUT
,HEAD
andDELETE
. - Cover component
- Only applicable for multi-profile devices: RPC methods Shelly.ListProfiles, Shelly.SetProfile;
profile
key in the responses of Sys.GetConfig, Shelly.GetDeviceInfo and /shelly - Support for
/ota
HTTP endpoint, for backward compatibility with Gen1 devices. - Embedded web now has UI for changing the display brightness on Pro4PM
- Device name (if set) is now shown everywhere in the UI of embedded web to ensure users, using multiple browser tabs, would know on which device they are making their changes
- Experimental support for Economy mode in the embedded web, decreasing power consumption of devices when latency is not critical. Since, this is still experimental, there is no support for changing it in the application yet. Enabling the option may have adverse effects and we do not recommend it for general usage. At this stage, it is intended for testing purposes and power consumption measurements.
Changed
- Switch: setting
power_limit
tonull
will apply the default overpower threshold instead of disabling overpower protection. - MQTT: do not show
pass
in response ofMQTT.GetConfig
- Change response format of Shelly.ListProfiles
- Improved Plus I4 UI in embedded web
Fixed
- Scripts: Fixed Status change notifications being duplicated as Event notifications.
- Webhooks: fixed decoding of URLs containing the
"
character. - Power factor measurement on Pro4PM.
- Initial/on start up power metering improvements
WiFi|Eth.SetConfig
- fixed ipv4mode invalid argument error message- Ethernet improvements that should fix some issues with devices hanging/crashing
- Embedded web - Wrong channel name was displayed on Plus I4
- Disable SMP (Symmetric Multiprocessing) on all devices
[0.9.3] 2022-01-17
Fixed
- Broken
aenergy
update inSwitch
component status
[0.9.2] 2022-01-14
Added
- Experimental support for Economy mode, decreasing power consumption of devices when latency is not critical. We do not include support for this feature in application and local web interface. Enabling the option may have adverse effects and we do not recommend it for general usage. At this stage, it is intended for testing purposes and power consumption measurements.
- Local web interface: Display the input state of the switch
- Local web interface: Explanation of power limit
- Ability to do OTA Update from url
Changed
Webhook.Update
can now modifycid
(component instance id) of an existing webhook.
Fixed
- Display negative values for
apower
andaеnergy
inSwitch
component status ssl_ca
andname
validation in Webhook.Updateunixtime
will benull
in Sys.GetStatus when not synced with NTP server- Ethernet IP address notification on connect
- Local web interface: Pro4PM issue with authentication menu
- Local web interface: Time in local webpage not correct
[0.9.1] 2021-12-03
Fixed
- Local web interface: Webhook, Script, Schedule list
- Local web interface: invert switch
- Local web interface: Input/Output-Setting & Invert Switch is missing
[0.9.0] 2021-12-01
Added
- MQTT support in scripts
- Limitations of the resources used by a script
- Option to set brightness of the Pro4PM's screen when it is idle through a new UI component
- Basic MQTT tutorial in the docs
- Placeholder notation in the docs
- Math API for scripts
- Initial release of Shelly Scripts
- User-configurable overvoltage (
voltage_limit
) and overcurrent (current_limit
) protection in Switch - Local web interface: selection of discovered WiFi APs
- Configuration revision number added to System Component configuration
- Set
active_between
parameter in Webhook.Create/Update with HH and MM, which are hours and minutes respectively, and can be specified with or without leading zeros in 24-hour format device.name
parameter in System Component configurationsntp.server
parameter in System Component configuration- Limit maximum number of simultaneous non-persistent RPC channels
Fixed
- Event and status handlers in scripts
- Plus1 crash when
Switch.SetConfig()
is invoked - MQTT topic prefix configuration shows the correct default value
- Local web interface: schedules time set, Pro4PM channel handling
Changed
- Overpower protection (
power_limit
) in Switch can be disabled - The response type of
Webhook
:Update
,Delete
,DeleteAll
; andSchedule
:Update
andDelete
methods is now empty (null
), in unison with other APIs.
[0.8.1] - 2021-09-21
Added
- Firmware version and device temperature in the screen UI of Pro4PM
- RPC communication over UDP
Fixed
/shelly
HTTP endpoint does not require authentication anymore- Bug causing Pro4PM's screen to crash when scrolling too fast in one direction
[0.8.0] - 2021-09-13
Added
- Ability to change the prefix of MQTT topics
- Ability to publish each component's status on a dedicated MQTT topic
status/<component:[id]>
- Debug log streams over UDP, MQTT and websocket
- New property
nameserver
in the configuration of the Ethernet component - Missing timezones
- New method HTTP.POST
- HTTP
headers
andbody
in the response of HTTP.GET - Changelog page :)
Removed
Fixed
- Sporadic temperature jumps in the readings of temperature sensors
- Voltage reported as 0 when Switch output is off
Changed
- Streamline payloads of event notifications: improve event descriptions, add reference to event origin
[0.7.0] - 2021-09-01
Added
- First public version released