Direct Device to Device communicaton (DDD)
DIMITAR DIMITROV·SAMSTAG, 25. MAI 2019
From firmware 1.5.0 we add option to each device to communicate with another one without server ot cloud between them. This allows many additional options.
The main advantages of this new option are:
1. Even if you do not have Internet devices, they can work together. For some critical situations, this is important. For example, when the crane opens, the pump must also be switched on. Or, you can add another key on the wall to control the lighting without having a connection to the lamp.
2. Extremely fast speech - just a few milliseconds.
3. Ability to manage other devices that have an HTTP API or acivate scene in IFTTT.
How to control one shelly from another ?
First you need to choose when action could happens. There is 4 possibilies at the Moment.
• When the button is switched ON or OFF and When output is ON or OFF. The differece is that button mean phiscical action (push with hand), relay can be switched ON/OFF from scene, Schedule, Application ...
• Different type of devices can support different Actions.
You must activate the required option and enter the URL that is being executed.
What commands are possible between Shelly device
Detaled description can be found here https://shelly-api-docs.shelly.cloud/ , but we will try to make a simple for you.
Shelly relays: 1/1PM/2/2.5/4Pro
The command syntax to contorl them is:
http://[deviceIP]/relay/[channel]?[command]&[command]
if you use authorisation sintax is:
http://user:pass@[deviceIP]/relay/[channel]?[command]&[command]
[device IP] and [channel] - can be check from the APP in menu Settings -> Device Info.
Channels start from 0, that’s mean Shelly2.5 have channel 0 and channel 1 for Output1 and Output2.
Device IP
[command] could be:
turn=on - switch output ON
turn=off - switch output OFF
turn=toggle - reverese state
On and off can be combined with timer:
timer=X - where X is in seconds. Switch output will be turned On or OFF for X seconds and will be switched back to previews state after that.
Examples:
http://192.168.0.40/relay/0?turn=on Will switch output ON.
http://192.168.0.40/relay/0?turn=on&timer=10 Will switch output ON for 10 sec.
http://192.168.0.40/relay/0?turn=toggle Will switch the output On if OFF or vice version.
Shelly rollers : 2/2.5
The command syntax to control them is:
http://[deviceIP]/roller/0?[command]&[command]
[command] could be:
go=open - open roller
go=close - close roller
g0=stop - stop roller
roller_pos=0-100 - open roller to this position. Need to calibrate it before that.
Open and close can be combined with duraton
duration=X - move the roller X seconds.
Examples:
http://192.168.0.40/roller/0?go=open Will open the roller
http://192.168.0.40/roller/0?turn=open&duration=5 Will opening 5 seconds.
http://192.168.0.40/roller/0?roller_pos=30 Will Open at 30%
Shelly Bulb/LED/RGBWW/RGBW2
Color mode:
The main command to contorl them is:
http://[deviceIP]/color/0?[command]&[command]
[command] id you choose Color mode could be:
turn=on - switch output ON
turn=off - switch output OFF
turn=toggle - reverese state
On and off can be combined with timer:
timer=X - where X is in seconds. Switch output will be turned On or OFF for X seconds and will be switched back to previews state after that.
red = 0 - 255 ; change red color intensity
blue = 0 - 255 ; change blue color intensity
green = 0 - 255 ; change green color intensity
white = 0 - 255 ; change white color intensity
gain = 0 - 100 ; change intensity for RGB
Examples:
turn=on&red=255&green=86&blue=112&white=0
Will switch device ON and set Red, Blue, Green and White colors.
http://192.168.0.50/color/0?turn=on&white=20 Will swith device ON and set only White
http://192.168.0.40/color/0?go=open Will switch device ON.
http://192.168.0.50/color/0?turn=on&gain=27 Change the intensity or RGB to 27%
White multi-channel mode:
The main command to contorl them is:
http://[deviceIP]/white/[channel]?[command]& [command]
Channels start from 0, that’s mean ShellyRGBW2 have channel 0 to 3 for Output1 tp 4.
[command] id you choose White mode could be:
turn=on - switch output ON
turn=off - switch output OFF
turn=toggle - reverese state O
n and off can be combined with timer:
timer=X - where X is in seconds. Switch output will be turned On or OFF for X seconds and will be switched back to previews state after that.
brightess = 0 - 100; set birgtness level
Examples:
http://192.168.0.50/white/0?brightness=70 Will set intesnsity 70%.
http://192.168.0.50/color/0?turn=on&brightness=70 Will switch device on and set intemsity to 70%