[APP][Pro] eWeLink CUBE - Local LAN integration for CUBE OS (SONOFF iHost)

Hi everyone!,

This app allows you to connect and control all devices paired with your eWeLink CUBE OS gateway (such as the SONOFF iHost or a self-hosted CUBE OS virtual machine) directly inside Homey.

Everything runs 100% locally on your LAN. No cloud APIs, no internet requirements, and sub-second response times!


:light_bulb: The Perfect Setup: Homey Self-Hosted & Proxmox

If you are running a Homey Self-Hosted Server (SHS) or want to expand your Homey Pro’s Zigbee range/capacity without buying expensive official bridges, this integration offers the perfect hybrid solution:

  1. Hardware: Get a high-power USB Zigbee coordinator (such as a SONOFF Zigbee 3.0 USB Dongle Plus).
  2. Gateway: Install eWeLink CUBE OS on a Proxmox virtual machine, PC, or Docker host, and pass through your USB Dongle.
  3. Control: Connect all your Zigbee devices to this CUBE OS setup.
  4. Integration: Use this Homey app to instantly import and control all devices locally inside Homey!

This gives you a highly scalable, high-capacity, and cost-effective Zigbee network running locally alongside your Homey setup.


:high_voltage: Key Features

  • Zero Cloud Dependency: All communication is strictly local via LAN.
  • Instant Real-Time Updates: Uses persistent Server-Sent Events (SSE) push streaming instead of heavy polling.
  • Built-in Watchdog: Automatic network monitoring and automatic reconnection in case of gateway or router restarts.
  • Dynamic Capabilities: The app automatically parses the device’s features and creates the appropriate Homey device with matching classes and custom icons.

:package: Supported Device Types

  • Switches, Outlets & Relays: 1, 2, 3, or 4-channel switches and smart plugs with individual control.
  • Lighting: Dimmers, CCT (Color Temperature), and full RGB bulbs.
  • Sensors: Motion, Door/Window Contact, Temperature, Humidity, Air Quality (CO2, TVOC, PM2.5), Vibration, and Presence.
  • Safety Alarms & Sirens: Smoke, Gas, Carbon Monoxide (CO), Water Leak, and Sirens.
  • Window Coverings: Motorized blinds, curtains, and shades with position/percentage control.
  • Thermostats: Target temperature and mode settings.
  • Valves: Smart water valves with live irrigation duration and volume statistics.
  • Energy Monitors: Live Voltage (V), Current (A), Power (W), and total consumption (kWh).

:rocket: Getting Started

  1. Go to Homey More > Apps > eWeLink CUBE > App Settings.
  2. Enter your gateway’s local IP address and follow the step-by-step instructions in the UI to generate an Access Token.
  3. Once authorized, go to Devices > Add (+), search for eWeLink CUBE, and select the devices you want to import.

:speech_balloon: Support & Contributions

If you find this app useful and want to support its ongoing development, feel free to buy me a coffee!
Donate via PayPal: PayPal.Me

Please use this thread for feedback, feature requests, and bug reports.

Can you share the URL?

I have just updated the main post and added the links at the bottom. Thank you!

:test_tube: New test version available — v1.1.0

A stability & reliability update for the eWeLink CUBE app is now available for testing:

:link: Test version: eWeLink CUBE | Homey

What’s fixed & improved:

Connection reliability

  • Fixed a race condition where a closed connection could silently reopen itself with old credentials
  • “Disconnect Gateway” now fully closes the real-time (SSE) stream
  • Entering a wrong IP no longer tears down a working connection — the address is only saved after the gateway actually responds
  • Gateway connected/disconnected Flow triggers now fire consistently on every connection drop, including silent heartbeat timeouts
  • All commands now have a 10-second timeout, so they can’t hang forever on an unresponsive gateway

Pairing & setup

  • Network scan no longer interferes with an in-progress pairing (it could previously consume the pending authorization token)
  • Custom port support: you can now enter host:port (e.g. 192.168.1.50:8080) — useful for Docker/Proxmox CUBE OS installs
  • The settings page now refreshes its connection status automatically

Devices

  • Devices removed from CUBE are now marked unavailable in Homey instead of freezing at their last known state
  • Color wheel changes now send a single RGB command instead of two — smoother color control
  • The Color/Temperature mode switch no longer appears on lights that only support color temperature
  • Fixed the low-battery Flow trigger occasionally missing the threshold crossing right after startup
  • Hardened the settings page against malformed device names

Feedback is very welcome — especially from anyone running CUBE OS in Docker/Proxmox or using RGB/CCT lights. If you hit any issues, please post them here. :folded_hands:

Hi @Guray_Kircuvaloglu

Is it possible to connect via the remote service (https://[id].cube.ewelink.cc/) as well? I have most local communications blocked in my network for security.

It seens that the only difference is that the remote service requires an authtoken query parameter, the rest appears to be the same

Thanks!

Hi!

Good question. The app is currently local-only by design — it talks plain HTTP to the gateway on your LAN and keeps a persistent SSE stream open for real-time updates.

That said, you’re right that the remote service looks very similar, and supporting it seems feasible. The changes needed on my side would be:

  • HTTPS support (the app currently uses plain HTTP only)
  • Accepting a full hostname like [id].cube.ewelink.cc instead of an IP address
  • Appending the authtoken query parameter to requests

The main open question is the real-time stream: the whole app is push-based (SSE), so it depends on whether the remote proxy supports long-lived text/event-stream connections without buffering or aggressive idle timeouts. If it does, the rest should work the same.

I don’t have remote access set up on my own gateway, so I’d love your help verifying two things:

  1. Where does the authtoken come from — the CUBE web console?
  2. Does curl -N "https://[id].cube.ewelink.cc/open-api/v2/sse/bridge?access_token=...&authtoken=..." keep a stream open and push events when a device changes state?

If that works, I’ll add remote support as an opt-in option in a future version and I’d be happy to have you test a beta build. One note: remote mode would route traffic through eWeLink’s cloud, so the “100% local” guarantee would only apply to LAN mode — but as an opt-in it makes total sense for locked-down networks like yours.

Thanks!