Shelly Binding

Hi Marcus
I have also noticed that since chnaging to the new binding version I am seeing way more fluctuation on the UNI results (arrow when the upgrade to latest GEN2 on 3.4 M1:

Also seems my Shelly Manager is no longer workimg:

Thanks
Mark

you have to use 0.11.0beta3, older releases are not supported

did you tried to add the thing manually using the IP address?

Does your Docker installation automatically routes mDNS Requests into the container so OH could process them?

Enable the DEBUG log. usually that‘s a simple task in the OH console, AFAIK the console is not available for Docker setup. Find out how to activate DEBUG output for the binding (maybe someone could help)

what does that mean?

yes, Shelly Manager needs adjustments

I am not sure if the precision of the readings had changed or the frequency. But if yiu look at the chart there is a lot more fluctuation than before my upgrade.
Probably not the biggest issue, but noticeable non the less.

Cool. Will wait for a future update.
Thanks

The binding takes what it gets.
a) by polling the device once a minute
b) Coap near-realtime events
Precision, measuring interval etc. are implemented/defined b the device. Maybe there are also device settings.

Check events.log if the values look reasonable

Hi Markus

The events.log values do seem reasonable.

What I think the difference is the number of decimals being received.

Previously was getting e.g 27.638 V, now getting 27.64 V - so only 2 digits now. This makes he fluctuations more pronounced when charting.

{
  "link": "https://10.163.199.252:8443/rest/items/ShellyUNIshellyuni98cdac2c6bf210163199230_VoltageADC",
  "state": "25.64 V",
  "stateDescription": {
    "pattern": "%.0f %unit%",
    "readOnly": true,
    "options": []
  },
  "editable": true,
  "type": "Number:ElectricPotential",
  "name": "ShellyUNIshellyuni98cdac2c6bf210163199230_VoltageADC",
  "label": "Shelly UNI Voltage ADC",
  "category": "",
  "tags": [
    "Point"
  ],
  "groupNames": [
    "Persistence_Group"
  ]
}

I have now manually configured the stateDescription pattern to %.3f %unit%, but not sure it will help is the binding is not storing the extra digit.

From REST API this is what I have in persistence from before upgrade:

{
  "name": "ShellyUNIshellyuni98cdac2c6bf210163199230_VoltageADC",
  "datapoints": "4981",
  "data": [
    {
      "time": 1660341600000,
      "state": "27.621000000000006"
    },
    {
      "time": 1660341660000,
      "state": "27.61666666666667"
    },
    {
      "time": 1660341720000,
      "state": "27.616500000000002"

and this is what I get now:

{
  "name": "ShellyUNIshellyuni98cdac2c6bf210163199230_VoltageADC",
  "datapoints": "1440",
  "data": [
    {
      "time": 1660559880000,
      "state": "27.75"
    },
    {
      "time": 1660559940000,
      "state": "27.610000000000003"
    },
    {
      "time": 1660560000000,
      "state": "27.63"
    },
    {
      "time": 1660560060000,
      "state": "27.69"
    },
    {
      "time": 1660560120000,
      "state": "27.62"

I changed the build-in definition to `%.3f %unit%, please try the updated build

you need to delete the thing and re-discover

OK

Yes, i tried to, same result

This could be the root cause

I managed to access openHAB console from within the openHAB container by using

$ /openhab/runtime/bin/client
Entering password: habopen
openhab> log:set DEBUG org.openhab.binding.shelly

This finally gave me some more information in frontail.
As i went to Things > Add > Shelly and pushed the “Shelly” button, the following came up in the log
(i have not added any shelly device to my things)

==> /var/log/openhab/openhab.log <==

2022-08-17 06:03:43.673 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellydevice-e11b44fab6: Status update triggered thing initialization

2022-08-17 06:03:43.674 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellydevice-e11b44fab6: Start initializing thing Password protected Shelly Device, type shellydevice, ip address http://192.168.178.70, CoIoT: false

2022-08-17 06:03:43.679 [DEBUG] [ng.shelly.internal.api.ShellyHttpApi] - shellydevice-e11b44fab6: API Timeout, retry #11425 (Device unreachable or API Timeout (GET http://http://192.168.178.70/shelly))

2022-08-17 06:03:43.680 [DEBUG] [ng.shelly.internal.api.ShellyHttpApi] - shellydevice-e11b44fab6: API Timeout, retry #11426 (Device unreachable or API Timeout (GET http://http://192.168.178.70/shelly))

2022-08-17 06:03:43.681 [DEBUG] [ng.shelly.internal.api.ShellyHttpApi] - shellydevice-e11b44fab6: API Timeout, retry #11427 (Device unreachable or API Timeout (GET http://http://192.168.178.70/shelly))

Sorry my fault,
as i switch both of my Shelly H&T Pluses into Discovery mode this log appears:

EDIT: Static IP addresses of my shellys are


2022-08-17 06:44:02.455 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellyht-a80b51d4eb: Status update triggered thing initialization

2022-08-17 06:44:02.456 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellyht-a80b51d4eb: Start initializing thing Shelly H&T (SHHT-1), type shellyht, ip address http://192.168.178.71/, CoIoT: true

2022-08-17 06:44:02.456 [DEBUG] [elly.internal.coap.ShellyCoapHandler] - shellyht-a80b51d4eb: Stopping CoAP Listener

2022-08-17 06:44:02.466 [DEBUG] [helly.internal.coap.ShellyCoapServer] - CoAP Listener stopped

2022-08-17 06:44:02.468 [DEBUG] [elly.internal.coap.ShellyCoapHandler] - shellyht-a80b51d4eb: Starting CoAP Listener

2022-08-17 06:44:02.469 [DEBUG] [helly.internal.coap.ShellyCoapServer] - Initializing CoIoT listener (local IP=192.168.48.1:5683)

2022-08-17 06:44:02.480 [DEBUG] [ng.shelly.internal.api.ShellyHttpApi] - shellyht-a80b51d4eb: API Timeout, retry #781 (Device unreachable or API Timeout (GET http://http://192.168.178.71//cit/d))

2022-08-17 06:44:02.481 [DEBUG] [ng.shelly.internal.api.ShellyHttpApi] - shellyht-a80b51d4eb: API Timeout, retry #782 (Device unreachable or API Timeout (GET http://http://192.168.178.71//cit/d))

2022-08-17 06:44:02.481 [DEBUG] [ng.shelly.internal.api.ShellyHttpApi] - shellyht-a80b51d4eb: API Timeout, retry #783 (Device unreachable or API Timeout (GET http://http://192.168.178.71//cit/d))

2022-08-17 06:44:02.482 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellyht-a80b51d4eb: Unable to refresh status: message.statusupdate.failed

java.lang.IllegalArgumentException: cannot resolve host name: http

	at org.eclipse.californium.core.coap.Request.setURI(Request.java:300) ~[?:?]

	at org.eclipse.californium.core.coap.Request.setURI(Request.java:262) ~[?:?]

	at org.openhab.binding.shelly.internal.coap.ShellyCoapHandler.newRequest(ShellyCoapHandler.java:612) ~[?:?]

	at org.openhab.binding.shelly.internal.coap.ShellyCoapHandler.sendRequest(ShellyCoapHandler.java:595) ~[?:?]

	at org.openhab.binding.shelly.internal.coap.ShellyCoapHandler.discover(ShellyCoapHandler.java:561) ~[?:?]

	at org.openhab.binding.shelly.internal.coap.ShellyCoapHandler.start(ShellyCoapHandler.java:145) ~[?:?]

	at org.openhab.binding.shelly.internal.handler.ShellyBaseHandler.initializeThing(ShellyBaseHandler.java:221) ~[?:?]

	at org.openhab.binding.shelly.internal.handler.ShellyBaseHandler.refreshStatus(ShellyBaseHandler.java:440) ~[?:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]

	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]

	at java.lang.Thread.run(Thread.java:829) [?:?]

You have 2xPlusHT Gen2, the one with the display, correct) and not Shelly H&T (Gen1). The Log looks like to added a thing manually and selected Shelly H&Z instead of Shelly Plus HT. If you don’t see the Plus devices in the list you don’t have the gen2 binding in place.
The Device IP address has the format 192.168.178.70 not http://192.178.178.70/

1 Like

Yes i did once to trial and error, but currently the device is deleted and i do not have any shelly device in my things

Sorry if im missing something obvious but ho can i install the gen2 binding?

Thank you again

Check READMEbeta, uninstall the current binding
This explains why discovery doesn’t find anything, the Gen1 binding doesn’t support Plus/Pro, whereas the Gen2 version also includes Gen1 support. PR is in progress to bring Plus/Pro support into the regular version.


3.4.0-Gen2 build for Plus/Pro+Gen1 | README | READMEbeta for more info on first installation

1 Like

OK now i got it
Thank you very very much

I subscribed to the PR and will wait for it to be active

Was caught by that
 :slight_smile:
Thanks Markus. That has “fixed” it. It is back to how it was:

Really appreciate it.

Install the gen2 binding and give it a try, I bet by 95% that this will fix the issue

  • delete all Shelly things
  • uninstall the binding + stop OH
  • copy the 3 are files to the admins folder
  • start OH and discover the things

The PR you subscribed is not the one I’ll use to bring the Plus/Pro support in. This is my original work PR, which has been sliced down to 5 different ones to make the merge easier and final #5 is not yet created.

I updated the Gen2 build

  • Channel layout for ix3, i4 and i4dc adjusted
  • ix3/i4/i4dc now support mixed mode config of the input type (momentary/button vs. switch)
    (the lastEvent and eventCount channels are only available in button mode)
  • Shelly Plus/Pro in roller mode now signal the open/close state correctly (was delayed previous to this fix)
  • pattern for UNI ADC voltage fixed (precision reduced to 3 digts, see above)
  • Shelly Manager has basic support for Plus/Pro (currently we have no info how to access the fw repo)
  • README updated for Plus/Pro devices

3.4.0-Gen2 build for Plus/Pro+Gen1 | README | READMEbeta for more info on first installation

Hey Markus

Not sure I am understanding. Should the Shelley Manager for Gen 1 still be working? I get the following:

So appears to not be working.

Thanks
Mark

update to the latest build, I fixed this, Gen2 is also working, but with limited actions

fyi: Plus 2PM in roller mode has a firmware bug:
After about 90min with Eco Mode enabled the device stops sending power meter updates and roller is no longer moving

0.10.2 is fine
0.10.3 and 0.11.0-beta3 show the problem

Allterco acknowledged the problem. It‘s related to the Eco mode

So: Don‘t upgrade to 0.10.3 if you use tge cover mode or disable the Eco mode

Hi Markus
I thought I had updated (I got the UNI fixes), but have done so again:

275 | Active |  80 | 2.0.0                  | Californium (Cf) Element Connector
276 | Active |  80 | 2.0.0                  | Californium (Cf) Core
281 | Active |  80 | 3.4.0.202208161646     | openHAB Add-ons :: Bundles :: Shelly Binding

I still get the same for Shelly Manager: