Using DDD Communication to simplify your Shelly Smart Home

Cyan Automation
3 min readSep 27, 2020

Photo by John Barkiple on Unsplash

From firmware 1.5, Shelly has added functionality that allows devices to communicate with another one without a server, hub or cloud between them. They call this Direct-Device-to-Device communication (DDD). Clearly, this is another powerful tool for your smart home, and allows many additional options.

Getting Started

Initially, I was hesitant to use DDD — but once I did, I’ve been looking for more ways to use it. The performance and consistency has really surprised me; in a good way. There are some notable advantages of using DDD, including:

  1. Devices can cooperate without Internet or connectivity outside of your local Wifi network
  2. Performance is super fast
  3. Simplifies automation scripting, as you can program this directly on the device

To get started, all you need is at least 2x Shelly devices — in my case I’m using a Shelly 1 and a Shelly RGBW2. I have the Shelly 1 driving 4x LED downlights, and I want a LED lightstrip to turn on when the downlights turn on — a perfect use case for DDD.

The most direct and easiest way to make DDD work is reserving IP addresses (or setting Static IPs) for Shelly devices on your network. I’ve given my Shelly 1 the IP address of 192.168.86.183. and the Shelly RGBW2 has 192.168.86.184. Remember these, as you’ll need them for the next step.

Making It Work

As mentioned above, all the configuration is done directly on the Shelly device, so head over to the local webserver to get started. I’m navigating to 192.168.86.183, which is the IP of my Shelly 1.

Under the Actions menu, you’ll have multiple DDD options — six in the case of a Shelly 1:

In my case, I’m going to use the OUTPUT SWITCHED options, as I want the LED Downlights actual state to trigger my other Shelly.

Next, we’re going to unroll OUTPUT SWITCHED ON URL, which provides this:

Select Enabled, and then create the action URL in the textbox. I want to Turn On on my white striplight on Channel 3, and set the brightness to 40. To do this, I’ll create the URL string: http://192.168.86.184/white/3?turn=on&brightness=40.

Click SAVE and now your DDD Action is saved. I’ve gone and also created a Turn Off action by inputting the following into the next section: http://192.168.86.184/white/3?turn=off.

Note: the DDD action strings will be different for each Shelly, so make sure to check the API Docs Reference for each DDD syntax.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Cyan Automation
Cyan Automation

Written by Cyan Automation

Marc’s tips on building your Smart Home with Home Assistant, Shelly and ESPHome.

Responses (1)

Write a response

Hi, is there posibility to turn on/off Shelly device outside your wifi using DDD?