Shelly Binding

Good afternoon. I am a new user to OH.
I have a Shelly DUO RGBW GU10 light bulb ( and want to control it from OH.
I have added it as a thing using Shelly Binding’s auto discovery function. It is detected as shellycolorbulb. Once I have added the thing and all the channels to my model, I can only control the bulb in color mode. Both controls for white mode appear to have no effect. It looks like a control for changing mode to white (as it is present on the bulb’s web interface) is missing. I check out the documentation for Shelly Binding and it turns out that shellycolorbulb indeed does not have a mode channel.
I have tried @davorf 's suggestion:

since shellybulb appears to have mode channel, but it doesn’t change the bulb’s actual mode and thus I can’t control white channels.

I have also tried adding the thing manually as shellybulbduo, which only features white mode channels, and only the brightness channel is working, IF I set the mode manally to white via the web interface.

I am running OH 3.4.4 release build.

It looks like this has been discussed before by @davorf and @z4nD4R but doesn’t seems to have been solved.


Hi all!

I need help. I’ve bought a shelly plus ht device, but I am not able to bring it up running in openhab. The discovery showed up the device once after rebooting openhab and the ht device, but, the thing is just in “configuration pending” status.

I read something that battery devices need to communicate via websocket directly, but I do not know, if I have to configure the websocket manually, or the binding does the work. So perhaps someone can explain me, how to get the plus ht device running in openhab.

I am on openhab 3.4.4 and I have the developer shelly binding 3.4.5 installed.


Plus HT is supported by the binding. Make sire you have the latest firmware (0.14.x) on the device and the 3.4.5-snapshot of the binding installed


Firstly; kudos to the dev’s for putting in the effort to create the Shelly binding.
Secondly; I’ve got some trouble with the binding. I recently added a Shelly 1 and a Shelly 2.5 (in relay mode) to my setup, it all went quite smoothly, however switch commands send by openHab to the devices are never executed by the devices. I took a look at the debug log, but I don’t see anything pointing to an error or something. The weird thing is that I’ve already have half a dozen Shelly 2.5’s (in rolle mode, added a year ago) and they all work as expected. So I’m a bit at a loss here. I’m hoping someone on this forum or maybe the dev’s of the binding can help me understand the problem or help me to fix it. I’m using the latest stable version of openHab and the Shelly binding that came with it.

Thanx and best regards,

Hi Jesse,

this is the standard use case supported by the binding so it must be related to your setup.

First check upgrading to the latest DEV build 3.4.5, which runs also on OH3.3+ (I can’t support older versions). Remove the installed binding and check READMEbeta for a one-time prep.
If this doesn’t help: Try adding the devices using Main UI. Definition in .things files is supported, but also a good chance to make failures in the syntax etc.
If this doesn’t help: come back here :slight_smile:

3.4.5-DEV Gen1/Plus/Pro | 4.0.0-DEV Gen1/Plus/Pro | README | READMEbeta
Avdanced Users - Shelly Manager - Bugs/Features - API Doc | Firmware Index - Firmware Archive

Note: The DEV build is always newer than the version in the official Distro or Milestone builds

It seems to change from kwh to wattminutes.
Plugs and 1PM.
I want the new binding to get plus plugs and plus 1PM to work.

Have now verified 3.4.5 gives totalKWH in wattminutes and official Distro in kwh.

Ha Markus,

Thank you for your reply. I installed the snapshot binding, it all went smoothly. It didn’t fix my problem though, however it did make me realize that I was just being an idiot :astonished:: I linked my switch item to the input/button channel of the shelly, that was a mistake, I had to link it to the output/ power channel. So after correctly linking the item and channel it all works like a charm! In retrospective I guess the regular binding would have worked just fineas well. I did noticed though that the snapshot binding did discover all my Shellies much faster then the regular binding, but that might be my perception…

Thanx again and best regards,

Thanx again

please try updated 3.4.5 build

It is the 3.4.5 build that gives totalKWH in wattminutes but it says kwh in documentation.
I want to know if wattminutes will be the new standard so i should rebuild all my rules.
Shelly API gives it in wattminutes so it could be logical to have it in wattminutes.

I changed it back to kw/h

@alaub81: I have the same problem with a PlusPlugS.
Which “snapshot” are you using?
The latest snapshot from Openhab (which doesn’t work for me), or is there also a snapshot of the Shelly binding?

I installed the latest Shelly Binding Snapshot for 3.4.5. I don’t know if it is the best way, but I did it in that way:

  • Installation of the Shelly binding which comes with openHab 3.4.4
  • Connecting to the openHAB CLI
  • bundle:install
  • bundle:list |grep -I shelly check which ID has the original one
  • bundle:uninstall ID_of_original_shelly_binding
  • bundle:start ID_of_new_shelly_binding

I hope that will help :slight_smile:

thanks a lot. It works.

there is bi need to install the version, which cones with OH first. Just follow the READMEbeta instructions, but at the end: if it works it works :slightly_smiling_face:

note: If you do a clean cache, OH kill kick the coap transport and the dev build doesn‘s start. In this case just reinstall the oh-transport-coap feature

3.4.5-DEV Gen1/Plus/Pro | 4.0.0-DEV Gen1/Plus/Pro | README | READMEbeta
Avdanced Users - Shelly Manager - Bugs/Features - API Doc | Firmware Index - Firmware Archive

Note: The DEV build is always newer than the version in the official Distro or Milestone builds

I’m sure this has been covered but just in case it hasn’t , can you tell me how to get the “energy” field into channel? ie the MQTT field doesn’t seem to be present in the Thing channel
this is the EM in watt minutes

shellies/shellyem-<deviceid>/emeter/<i>/energy energy counter in Watt-minute

With the latest snapshot on OH 3.4.4 I do not receive events (xxx_PRESSED) from my ShellyPlus 1 device. It works with the default binding of OH 3.4.4 though.
I tried:

  • stopped OH, cleaned cache and tmp
  • started OH, installed default binding OH 3.4.4
  • installed snapshot binding
  • stopped default binding, started snapshot binding, uninstalled default binding
  • deleted thing and re-scanned/added thing

Tracelog gives me the following shelly settings:

2023-05-31 09:23:26.758 [DEBUG] [discovery.ShellyDiscoveryParticipant] - shellyplus1-XXXXX3939404: Shelly settings : {“ble”:{“enable”:false},“cloud”:{“enable”:false,“server”:“”},“mqtt”:{“enable”:false,“server”:“”,“rpc_ntf”:“true”,“status_ntf”:“true”},“sys”:{“cfg_rev”:23,“device”:{“name”:“Ku Lichterkette Button”,“mac”:“XXXXX3939404”,“fw_id”:“20230308-091529/0.14.1-g22a4cb7”,“eco_mode”:false,“discoverable”:true},“location”:{“tz”:“Europe/Berlin”,“lat”:52.4994,“lon”:13.31697},“sntp”:{“server”:“”},“debug”:{“mqtt”:{“enable”:false},“websocket”:{“enable”:false},“udp”:null},“ui_data”:null,“rpc_udp”:{}},“wifi”:{“ap”:{“enable”:false,“ssid”:“ShellyPlus1-XXXXX3939404”,“is_open”:true,“range_extender”:{“enable”:false}},“sta”:{“ssid”:“XXXXXX”,“is_open”:false,“enable”:true,“ipv4mode”:“static”,“ip”:“”,“netmask”:“”,“gw”:“”,“nameserver”:“”},“sta1”:{“is_open”:true,“enable”:false,“ipv4mode”:“dhcp”},“roam”:{“rssi_thr”:-80,“interval”:60}},“input:0”:{“id”:“0.0”,“type”:“button”,“invert”:false,“factory_reset”:true},“switch:0”:{“id”:“0.0”,“name”:“Ku Fenster LED”,“in_mode”:“momentary”,“initial_state”:“off”,“auto_on”:false,“auto_on_delay”:60.0,“auto_off”:false,“auto_off_delay”:60.0}}

Channel relay#output works, events don’t.

Any ideas why this does not work with the snapshot binding?

Is latest 3.4.5 kwh?


After updating from 4.0.0 to 4.0.0.M3 the batterie level scaling is quite curious.
The value in the item list is decimal (here 0.95), the value in the item itself is percentage and the value in the graph is decimal again. Before update the value was not decimal but a number with percentage value. I don’t use state description pattern or something like that.
How can I get the “old” value back?