Jump to content

Recommended Posts

  • Administrators
Posted

valid from FW version 2.3.0

General:

Take a screenshot of the current screen:

http://IP_WD/screenshot

List Methods:

http://IP_WD/rpc/Shelly.ListMethods

Reboot - soft reboot:

http://IP_WD/rpc/Sys.RestartApplication

Reboot - full reboot:

http://IP_WD/rpc/Shelly.Reboot

Catch Debug-Log:

http://IP_WD/Get_DebugLogs

 

Emulate a single touch of the screen:

http://IP_WD/rpc/Ui.Tap

permitted parameters for x and y coordinates with values [0..719]

example:

http://IP_WD/rpc/Ui.Tap?x=300&y=600

Screen brightness adjustment:

http://IP_WD/rpc/Ui.SetConfig?config={"brightness":{"level":0,"auto":false}}

level values between [0..100]

Screen switching on/off:

http://IP_WD/rpc/Ui.Screen.Set?params={"on":true}
http://IP_WD/rpc/Ui.Screen.Set?params={"on":false}

Media:

http://IP_WD/rpc/Media.GetStatus
http://IP_WD/rpc/Media.List
http://IP_WD/rpc/Media.Reload
http://IP_WD/rpc/Media.SetVolume?volume=[0...10]
http://IP_WD/rpc/Media.Delete?id=ID_FROM_MEDIA.LIST

Media.Radio:

http://IP_WD/rpc/Media.Radio.ListFavourites
http://IP_WD/rpc/Media.Radio.PlayFavourite?id=ID_FROM_RADIO.LISTFAVOURITES
http://IP_WD/rpc/Media.Radio.PlayNextFavourite
http://IP_WD/rpc/Media.Radio.PlayPreviousFavourite
http://IP_WD/rpc/Media.Radio.Stop

Media.MediaPlayer:

http://IP_WD/rpc/Media.MediaPlayer.Next
http://IP_WD/rpc/Media.MediaPlayer.Play
http://IP_WD/rpc/Media.MediaPlayer.Pause
http://IP_WD/rpc/Media.MediaPlayer.PlayOrPause
http://IP_WD/rpc/Media.MediaPlayer.Play?id=ID_FROM_MEDIA.LIST
http://IP_WD/rpc/Media.MediaPlayer.PlayAudioClip?id=ID_FROM_MEDIA.LIST
http://IP_WD/rpc/Media.MediaPlayer.Previous
http://IP_WD/rpc/Media.MediaPlayer.Stop

The IDs can be accessed in the web UI in the MediaLibary or with.

http://IP_WD/rpc/Media.List

 

Note: Media Player play command PlayAudioClip / PlayOrPause / Play / Next / Previous and Radio play command PlayPreviousFavourite / Radio.PlayNextFavourite / Radio.PlayFavourite accept a volume parameter (between 0...10)

example:

http://IP_WD/rpc/Media.MediaPlayer.PlayAudioClip?id=100&volume=6
http://IP_WD/rpc/Media.MediaPlayer.PlayOrPause?volume=5

example for repeating one clip:

http://IP_WD/rpc/Media.MediaPlayer.PlayAudioClip?id=100&volume=10&repeat=true

 

for local playing use 127.0.0.1 instead WD_IP

example:

http://127.0.0.1/rpc/Media.MediaPlayer.PlayAudioClip?id=111&volume=8

 

Schedules for Media.Radio & Media.MediaPlayer:

example for Media.Radio (id=ID_FROM_RADIO.LISTFAVOURITES)

http://IP_WD/rpc/Schedule.Create?timespec=0 30 12 * * MON,TUE,WED,THU,FRI,SAT,SUN
&calls=[{"method":"Media.Radio.PlayFavourite","params":{"id":2,"volume":8}}]&enable=true

example for Media.Media.Player (id=ID_FROM_MEDIA.LIST)

http://IP_WD/rpc/Schedule.Create?timespec=0 30 12 * * MON,TUE,WED,THU,FRI,SAT,SUN
&calls=[{"method":"Media.MediaPlayer.PlayAudioClip","params":{"id":2,"volume":10}}]&enable=true

Delete all Schedules:

http://IP_WD/rpc/Schedule.DeleteAll

 

Thermostat:

Get Config:

http://IP_WD/rpc/Thermostat.GetConfig?id=0

Enable/disable Thermostat:

enable:

http://IP_WD/rpc/Thermostat.SetConfig?id=0&config={"enable":true}

disable:

http://IP_WD/rpc/Thermostat.SetConfig?id=0&config={"enable":false}

Set target temperature (for example when BLU D/W open URL):

http://IP_WD/rpc/Thermostat.SetConfig?id=0&config={"target_C":8}

Set Thermostatype to heating/cooling:

http://IP_WD/rpc/Thermostat.SetConfig?id=0&config={"type":heating}
http://IP_WD/rpc/Thermostat.SetConfig?id=0&config={"type":cooling}

 

Changing Thermostat Profile:

http://IP_WD/rpc/Thermostat.Schedule.SetConfig?id=0&config={"profile_id":PROFILE_ID}

PROFILE_ID can be found with:

http://IP_WD/rpc/Thermostat.Schedule.ListProfiles?id=0

 

Internal Switch/Relais:

Turn on the internal relay:

http://IP_WD/rpc/switch.set?id=0&on=true

Turn off the internal relay:

http://IP_WD/rpc/switch.set?id=0&on=false

Example: In conjunction with the timer/toggle after -> switch it on here and switch it off again after 300 seconds (=5 minutes):

http://IP_WD/rpc/switch.set?id=0&on=true&toggle_after=300

 

Enable/Disable Screen Lock:

Full Lock:

http://IP_WD/rpc/Ui.SetConfig?config={"lock_type":"full"}

Unlock Screen:

http://IP_WD/rpc/Ui.SetConfig?config={"lock_type":"none"}

Lock Settings only:

http://IP_WD/rpc/Ui.SetConfig?config={"lock_type":"sett"}

 

Enable/Disable Schedule:

Enable Schedule:

http://IP_WD/rpc/Schedule.Update?id=SCHEDULE_ID&enable=true

Disable Schedule:

http://IP_WD/rpc/Schedule.Update?id=SCHEDULE_ID&enable=false

SCHEDULE_ID can be found with:

http://IP_WD/rpc/Schedule.List

 

Schedule for Full-Reboot or Soft-Reboot:

Soft-Reboot Schedule:

http://IP_WD/rpc/Schedule.Create?timespec=0 0 10 * * *&calls=[{"method":"Sys.RestartApplication"}]&enable=true

Full-Reboot Schedule:

http://IP_WD/rpc/Schedule.Create?timespec=0 0 10 * * *&calls=[{"method":"Shelly.Reboot"}]&enable=true

In the example shown here, a daily reboot at 10:00 a.m. has been selected.

timespec: As defined by cron. Note that leading 0s are not supported (e.g.: for 8 AM you should set 8 instead of 08).

 

Created Schedule can seen here:

http://IP_WD/rpc/Schedule.List

Delete all Schedules:

http://IP_WD/rpc/Schedule.DeleteAll

Delete one Schedule:

http://IP_WD/rpc/Schedule.Delete?id=SCHEDULE_ID

SCHEDULE_ID will be found in Schedule.List

 

 

to be continued.....

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

 

  • 2 months later...
  • 5 weeks later...
Posted
On 4.10.2024 at 06:42, olbu said:

Thanks for the great list. If I could wish for something, it would be an API call with which you could switch the display on or off, or set the brightness. This way you could use a presence sensor to control the display when needed. I will test “UI.Tap” to see if I can achieve something similar.

Yes, desperately waiting for a way to automate the display. I want it on, if I'm in the room and off, when I'm not in the room / or have left the house.

  • 2 weeks later...
Posted

Update: (I tried to edit my previous post but wasn’t able to.)

I have a Zigbee motion sensor that I moved into the visibility of the WallDisplay. Using this sensor and the rpc command Ui.Tap (without coordinate values), I created an automation in Home Assistant to wake up the display. The automation runs in a loop that repeats three times, calling the command, waiting two seconds, and then running again.

With this automation, you can also define additional conditions, such as specific times of day when the screen should turn on or whether certain users are present. It’s not ideal, but it works for now until we get better tools (if ever?).

Ideally I would love to have a rpc command that wakes up the screen for a pre defined amount of time, like 30 seconds or so.

  • 2 weeks later...
Posted

Hello! I've just received my brand new Wall Display and use as thermostat HMI without real control (just read/write the values via http GET and process the json data). Is there any possibility to disable the relay itself?
I've tried this:
http://<DEVICE_IP>/rpc/Switch.SetConfig?id=0&config={"in_mode":"detached"}
Which was running successfully without the required effect.
Any idea, solution or workaround? Thanks in advanced!

Posted (edited)

I ran this command:

http://IP_WD/rpc/Thermostat.SetConfig?id=0&config={"actuator":""}


The Thermostat.GetConfig is now the following:

{
  "id": 0,
  "enable": true,
  "sensor": "shelly://shellywalldisplay-00082242bfe3/c/temperature:0",
  "type": "heating",
  "actuator": "",
  "hysteresis": 0.1,
  "invert_output": false,
  "display_unit": "C",
  "target_C": 15,
  "name": null
}



Despite the relay is still clicking.

Edited by andrew911
  • 2 weeks later...
Posted

any details about "WiFi.SpeedTest"?

 

{
    "startTime": 1734033433747,
    "initTime": 1734033434189,
    "initDuration": 442,
    "endTime": 1734033451702,
    "downloadDuration": 17513,
    "downloadDuration_h": "00:17",
    "downloadSize": 15728640,
    "downloadSize_h": "15.0 MB",
    "bandwidth": 898112.2594643978,
    "bandwidth_h": "877.1 kB/s"
}

Posted

I tried the call

http://IP_WD/rpc/Ui.SetConfig?config={"brightness":{"level":0,"auto":false}}

with postman and got the following response:

{
"code": 401,
"message": "{\"auth_type\":\"digest\",\"nonce\":173*******06,\"nc\":\"1\",\"realm\":\"ShellyWallDisplay-000**********\",\"algorithm\":\"SHA-256\"}"
}

I correctly set auth type to digest, have valid credentials and other calls to the rpc-endpoint work. My Wall Display runs with 2.3.0-beta5. Any idea what I'm doing wrong here?

Posted
On 25.7.2024 at 22:34, Olsche said:

Set Thermosattype to heating/cooling:

http://192.168.178.238/rpc/Thermostat.SetConfig?id=0&config={"type":heating}
http://192.168.178.238/rpc/Thermostat.SetConfig?id=0&config={"type":cooling}

Hi, thank you for the list you provided! However i'm having troubles with this API: in my case it doesn't work. My device is using the 2.3.0-90824be1-beta5 version of the firmware. Another thing  i noticed is that i get no "type" information when calling the GetConfig Api for the Thermostat. i just get this:
 

"thermostat:0": {
            "id": 0,
            "enable": true,
            "target_C": 21,
            "current_C": 20.6,
            "output": false,
            "schedules": {
                "enable": false
            }
        }

I'd really need this or any other way to authomate the operating mode switch in HomeAssistant

  • 2 weeks later...
Posted

I can't get the brightness call to work and every time the display is turned on, brightness returns automatically to  37% 

shelly_set_brightness:
  url: "http://WD - IP addr/light/?brightness={{ brightness }}"
  method: GET

action: rest_command.shelly_set_brightness
data:
  brightness: 100

 

Displays automatic brightness and screensaver are both turned off.

Any ideas?

Posted

I'm looking for a way to know when the screen Is tapped when it is turned off and I tap it once.

You can use browser_mod in home assistant and it will trigger the "motion sensor" but this only works when you tap the screen while it is already on. 

does somebody know if this gets reported in the RPC list at all? I tried via MQTT but no luck too. 

  • 2 weeks later...
Posted

WallDisplay Brightness control

1. I manually set the brightness on the wall display to 100% but when tapping screen after the screen timout, the brightness is back to 37% - WHY ?

2.Can someone provide a simple CALL that I can use from a browser to set the brightness to 100% (want to use it from HomeAssistamt)

I tried asking the same here: https://community.shelly.cloud/search/?q=brightness&quick=1&type=forums_topic&nodes=181#:~:text=Control,from HomeAssistant

Thanks in advance

  • 2 weeks later...
  • 4 weeks later...
Posted
On 1/24/2025 at 11:27 AM, BatmanKuhn said:

WallDisplay Brightness control

1. I manually set the brightness on the wall display to 100% but when tapping screen after the screen timout, the brightness is back to 37% - WHY ?

2.Can someone provide a simple CALL that I can use from a browser to set the brightness to 100% (want to use it from HomeAssistamt)

I tried asking the same here: https://community.shelly.cloud/search/?q=brightness&quick=1&type=forums_topic&nodes=181#:~:text=Control,from HomeAssistant

Thanks in advance

Still having this issue. I want to light up the display at 100% when I enter the room and turn it off when there is no motion detected (I'm not aware that the shelly has a proximity sensor). When I send the command to turn off the screen and back on, the brightness is back to 37%. Seems like it has something to do with the "auto brightness" setting which, when turned OFF, does not allow the screen to go back to sleep. Why is this behavior so weird? I've asked in other posts what the reason is that the option to turn off the screen when choosing your own brightness, is disabled ... . 

  • Administrators
Posted
1 hour ago, Arne Vanhove said:

I want to light up the display at 100% when I enter the room and turn it off when there is no motion detected

for motion = true:

http://IP_WD/rpc/Ui.SetConfig?config={"brightness":{"auto":false,"level":100}}

for motion = false

http://IP_WD/rpc/Ui.Screen.Set?params={"on":false}

 

Posted (edited)
10 hours ago, Olsche said:

for motion = true:

http://IP_WD/rpc/Ui.SetConfig?config={"brightness":{"auto":false,"level":100}}

for motion = false

http://IP_WD/rpc/Ui.Screen.Set?params={"on":false}

 

Thanks Olsche, I figured that setting the brightness, also turnes on the screen indeed. I'm now trying to use this in Home Assistant but i'm not having any luck doing so. Added the command to my configuration.yaml so I can use it in an automation. 
 

rest_command:
  wd_bureau_brightness_100:
    url: "http://IP_WD/rpc/Ui.SetConfig?config={"brightness":{"level":0,"auto":false}}"

The url works fine in a browser or in a tool like advanced rest client. But I can't seem to get it to work in HA. Syntax is conflicting so I think I should use 

payload/method/content_type ("application/x-www-form-urlencoded")? Anyway, it's getting late and I'm pretty new to this. Any help is always appriciated! Good night all 🙂 

Edited by Arne Vanhove

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...