Independent directory, made by the developer of Vulpo. Not affiliated with Home Assistant or the Open Home Foundation.

Screenshots From the README of notDIRK/shelly-cloud-diy-ha.

Home Assistant dashboard of a shared ECOWITT WS90 weather station: temperature, feels-like and humidity gauges, wind compass, 24h temperature and pressure graph, station battery and voltage, hourly and 5-day forecast, UV and rain sensors

About

Shelly Cloud DIY connects Home Assistant to Shelly devices through the Shelly Cloud Control API. It reaches devices a local-only setup cannot see, such as shared devices, devices at remote sites and Bluetooth devices behind a gateway. Devices appear as binary sensors, buttons, climate, covers, lights, numbers, selects, sensors, switches and texts, and only the devices ticked in the selection get entities. Switching stays local-first for devices on the LAN, with the cloud acting as an overlay for visibility. Options cover the poll interval, the time before a device counts as offline, and warnings for poor device health or a relay that no longer opens. Extra actions import historical energy data, replace a dead device with a new one, and find devices no longer in the account. Setup is done in the UI with a cloud key from the Shelly app, and the integration needs the vendor's cloud.

Automatic summary of the README and code of notDIRK/shelly-cloud-diy-ha. Something wrong, or are you the maintainer and want your own text here? Get in touch

Supports

  • Uses the vendor's cloud Needs an internet connection and an account with the vendor.

  • From the Marketplace Installed through the Marketplace, formerly HACS.

  • Actively maintained Its author released or pushed a change in the last six months.

Provides

  • Lights
  • Climate
  • Covers
  • Switches
  • Sensors

Setting it up

Install it from the Marketplace and restart Home Assistant, then add it under Settings, Devices and services.

Shelly Cloud DIY

  • Authorization cloud keyThe long string the Shelly Smart Control app shows under Access and permissions.
  • Server URIThe hostname shown below the key, e.g. shelly-42-eu.shelly.cloud.
  • Poll interval (seconds)How often Home Assistant polls Shelly Cloud for state. Default 5 s; range 3–60 s. Shelly enforces a 1 req/s rate limit.
  • Local gateway URL (optional, for EM historical data)Only needed if you use a local Shelly gateway to back-fill historical energy data.

Choose devices to expose

  • Bulk action"Tick all" or "Untick all" overrides the manual list below on save. Pick "Manual selection" to keep the list as-is.
  • Devices (tick/untick individually)Only ticked devices produce Home Assistant entities.

Also asked when at the selection updated — not saved yet step.

Re-authenticate Shelly Cloud DIY

  • Authorization cloud keyThe long string the Shelly Smart Control app shows under Access and permissions.
  • Server URIOnly change this if Shelly moved your account; the stored value is prefilled.

Sign in to Shelly again for cloud control

  • Shelly account emailThe email address you use in the Shelly app.
  • Shelly account passwordUsed once to sign in and then discarded. Only the resulting token is stored.

After setup

  • Poll interval (seconds)3–60 s. Lower values feel snappier but consume more of Shelly's 1 req/s rate-limit budget.
  • Report a device as offline after (minutes)2–1440 min, default 30. Each device's "Reporting" sensor turns off once the device has been silent this long. It is only a base value: a device that is naturally quieter earns a wider window on its own, and battery or BLE devices are handled separately. Lowering it therefore mainly speeds up detection on devices that report continuously, such as power-metering plugs.
  • Warn about a relay that no longer opensOn by default. Watches every switching channel that meters its own output and warns when the relay reports itself as open while a real load is still flowing through it — a contact that has welded shut. Turn this off if a Shelly of yours sits in a two-way circuit, where the other switch can push current through the meter while the relay is genuinely open.
  • Local gateway URL (optional, for EM historical data)Only needed if you use a local Shelly gateway to back-fill historical energy data.
  • Warn about devices in poor healthOn by default. Interprets data every poll already returns: Wi-Fi signal (warning at -70 dBm, error at -85 dBm), component temperature (70 °C / 85 °C), free memory and free storage (under 20 % / 10 %), a restart the device is still waiting for, and any component reporting its own error. It costs no extra requests. Bluetooth (BLU) devices are judged only on the signal their gateway reports for them, and Gen1 devices are not judged at all. Only a component's own temperature counts, never an external Add-on probe.
  • Count a pending firmware update as a findingOff by default. Adds "a firmware update is available" as a finding. On a typical account most devices have one pending, so switching this on tends to keep the card permanently lit — which is exactly what stops you noticing the findings that matter.
  • Control virtual components over the cloud (unsupported)Off by default, and worth reading before switching on. Virtual components (an irrigation controller's zones, a script's switch) can be read over the documented Shelly Cloud API but not written — every documented route answers "no such route". Switching them is possible only over an undocumented channel, which Shelly support declared unsupported on 2026-07-27 and can change or withdraw without notice. What it costs: your Shelly account sign-in (asked for on the next step; the password is used once and never stored) and a second connection to Shelly Cloud. What it gives you: a switch for each virtual boolean, but only on devices your account owns. A shared device is refused by Shelly itself, and no switch appears for it. The switch is created in addition to the existing read-only sensor of the same component, never instead of it, so nothing you have already built on that sensor breaks. Switching this off again deletes the stored sign-in.
  • Bulk action"Tick all" or "Untick all" overrides the manual list below on save.
  • Devices (tick/untick individually)Only ticked devices produce Home Assistant entities.
  • Bulk action"Tick all" or "Untick all" overrides the manual list below on save.
  • Devices (tick/untick individually)Only ticked devices produce Home Assistant entities.
  • Shelly account emailThe email address you use in the Shelly app.
  • Shelly account passwordUsed once to sign in and then discarded. Only the resulting token is stored.

Texts from the code of notDIRK/shelly-cloud-diy-ha.

Actions

  • Download and convert historical energy dataFetches CSV exports from the local Shelly gateway and imports them into Home Assistant's long-term statistics.Fields: Gateway URL, Device ID
  • Replace deviceTransplant a dead Shelly's Home Assistant identity (entity IDs, the HA device, name, area, history and every automation/dashboard reference) onto a new Shelly of the same model, so you don't have to reconfigure Home Assistant after a hardware swap. Enable the new device first.Fields: Old (replaced) device, New device, Dry run, Force (ignore model mismatch)
  • Fleet mapRead-only overlay: matches every cloud device to its local (native Shelly) twin by MAC, suggests names, and flags any device whose control runs over the cloud. Writes a report to your notifications. Safe to run anytime — it changes nothing unless you explicitly opt in.Fields: Dry run, Apply native name suggestions
  • Find Shelly devices no longer in your accountReconciles the Shelly devices this integration created against your live Shelly account inventory and reports any whose hardware is no longer in the account (sold, factory-reset, or deleted in the Shelly app). Inform-only by default — it writes a report to your notifications and changes nothing. Removal is strictly opt-in: turn Dry run off and Remove on to detach the listed devices; it is previewed first and is not automatically reversible.Fields: Dry run, Remove listed devices, Limit to these devices

Troubleshooting

  • DiagnosticsDownloads a diagnostics file to attach to a bug report.
  • Repair noticesNotices it can show in Settings, Repairs:Shelly Cloud is rate-limiting this integration, Selected devices are missing from your Shelly account, Historical energy data could not be imported, A Shelly relay is no longer switching off, Some Shelly devices are reporting problems

From the README

🇩🇪 Deutsch · 🇬🇧 English (you are here) — README.de.md is the German mirror of this page.

Shelly Cloud DIY connects Home Assistant to your Shelly fleet through the self-service Cloud Control API — reaching the devices a local-only integration can never see (shared devices, remote sites, the Shelly BLU family behind a gateway), while keeping your switching local-first: the cloud is an overlay, never in the control path.

  • cloud.connected still read connected thirteen minutes after a device was physically unplugged, and read connected for every device on the account — including ones silent for hours. It is a transport…
  • Devices do eventually vanish from the cloud's fleet listing, but that took up to ten minutes, and the listing also omits healthy devices at random.
From the README of notDIRK/shelly-cloud-diy-ha, MIT License. Shortened.

Shows in Vulpo

Light card, Quick Toggle card, Cover card, Climate card, Apple Watch, Control Center, Climate Live Activity.

Information

Installs
242 sharing analytics
GitHub stars
17
Connection
Uses the vendor's cloud
Upkeep
Updated in the last 6 months
Version
v0.16.4,
Kind
Marketplace integration
Brand
Shelly
Needs
Needs the Marketplace (HACS on 2026.10 and older)
Domain
shelly_cloud_diy

More from Shelly

You might also like

Independent directory, made by the developer of Vulpo. Not affiliated with Home Assistant or the Open Home Foundation. About these numbers