Vote for Shelly UNI

Hello Justin,
Do you have any further detail on thermocouple temp sensor you have configured?
I have wired it up yet the temperature does not show on the Uni. it has has ADC voltage 0 then Internet and Security etc. below
Any advice on how you accomplished this would be much appreciated.
Thank you
Michael

Can you see the temperature in the Shelly app? If it's showing up in the Shelly app but not in Hubitat, it's probably related to the driver you are using. A few months ago I migrated over to Home Assistant so no longer have my Shelly's set up in Hubitat, but I'm happy to help as much as I can.

Does anyone dream of a SHELLY UNI PLUS?

Does anyone dream of a SHELLY UNI PLUS?
  • I do
  • WOW Yes
  • It's a nightmare.
  • NO

0 voters

Hi @tomw, just checking if anything has changed in your Shelly Uni driver recently, or if recent changes to Shelly Uni firmware, or Hubitat HUB firmware upgrades might have changed the behaviour. I am running Shelly Uni device firmware V1.14.0 (latest firmware) and Hubitat 2.3.6.144.

I have noticed that any event triggers on either the digital inputs or digital outputs (I run them in decoupled mode) also cause the ADC child to update the analog input value. Previously the ADC child only updated when I do a manual refresh command, or the scheduled refresh interval set in the device options runs.

This additional reading of the ADC voltage causes a lot more event activity and hence noticeably higher hub load from these devices when viewed in the Logs Device stats.

Any ideas what could be causing the additional unwanted voltage readings of the ADC child device?

@tomw, here is a screen shot of the ADC child device events showing the ‘non refresh’ voltage update events.

@tomw, Would there be any interest in adding support for temperature/humidity? The UNI supports either 3 temperature sensors or 1 DHT22 temperature/humidity sensor. Ideally with a child device. I am currently using this on another platform but I am in the process of migrating to HE.

1 Like

@tomw, there’s a new version of the Uni - Shelly Plus Uni. So far it appears your driver is incompatible. I’ll note, however, the firmware has many bugs.

You'll likely want a driver that supports Shelly Plus devices. There are a few floating around, but I don't know if any have been tested with the Plus Uni.

Hi folks! I'm working on the official Shelly drivers (here). Also available on HPM.

I've got a Uni and a Uni Plus sitting next to me. I can work on adding drivers for them next if there's people wanting them. It's hard to guess which thing to add drivers for next, but I can certainly make it the Uni if people are wanting drivers for them.

1 Like

I have a couple of Uni (original, not the Plus) that I am using for temperature/humidity that I would very much like to get over to HE from ST. This would be the DHT22 temperature/humidity sensor, ideally as a child device. If you decide to go ahead, I would be happy to help with testing if needed.

I'll finish up this Plus one here I'm working on, then take a look at the gen 1 Uni after.

Okay, thank you.

There are a few floating around

This is one of them))
hubitat-code

drozovyk.ShellyPlusProxPM.groovy

+1 for a Uni Plus driver that can expose voltage etc.

The more I look at the shelly scripting and webhooks it seems like quite a bit is possible.

related: I'm interested in Shelly emulation/simulation capability if anyone is aware of something available and current.

Tried your driver on Uni 2 v1.2.2 . Im in the UK if this makes a difference.

Returning sensor values in Debug text but failing to create child device. Any futher development planned?

com.hubitat.app.exception.UnknownDeviceTypeException: Device type 'Generic Component Input Event' in namespace 'drozovyk' not found on line 387 (method updated)

(null) Sensor generic report: Air temperature:temperature 22.4°C

dev:3812024-03-17 07:34:22.784 PMdebug(null) parseShellyTemperatureSensorStatus [id:100, tC:22.4, tF:72.4, ts:null]

dev:3812024-03-17 07:34:22.781 PMdebugConfiguration revision 17

dev:3812024-03-17 07:34:22.779 PMdebug(null) parseShellyCommonStatus [id:1, output:false, source:init, ts:null]

dev:3812024-03-17 07:34:22.777 PMdebug(null) parseShellySwitchStatus [id:1, output:false, source:init, ts:null]

dev:3812024-03-17 07:34:22.775 PMdebug(null) parseShellyCommonStatus [id:0, output:false, source:init, ts:null]

dev:3812024-03-17 07:34:22.773 PMdebug(null) parseShellySwitchStatus [id:0, output:false, source:init, ts:null]

dev:3812024-03-17 07:34:22.771 PMinfo(null) Script running false

dev:3812024-03-17 07:34:22.768 PMdebug(null) parseShellyScriptStatus [id:1, mem_free:25200, running:false, ts:null]

dev:3812024-03-17 07:34:22.766 PMinfo(null) Sensor generic report: Frequency:frequency 0.0Hz

dev:3812024-03-17 07:34:22.764 PMdebug(null) parseShellyCommonStatus [counts:[by_minute:[0, 0, 0], minute_ts:1710704040, total:0], freq:0.00, id:2, ts:null]

dev:3812024-03-17 07:34:22.762 PMdebug(null) parseShellyInputStatus [counts:[by_minute:[0, 0, 0], minute_ts:1710704040, total:0], freq:0.00, id:2, ts:null]

dev:3812024-03-17 07:34:22.694 PMdebug(null) parseShellyCommonStatus [id:100, percent:0.1, ts:null]

dev:3812024-03-17 07:34:22.692 PMdebug(null) parseShellyInputStatus [id:100, percent:0.1, ts:null]

dev:3812024-03-17 07:34:22.690 PMdebug(null) parseShellyCommonStatus [id:1, state:false, ts:null]

dev:3812024-03-17 07:34:22.687 PMdebug(null) parseShellyInputStatus [id:1, state:false, ts:null]

dev:3812024-03-17 07:34:22.685 PMdebug(null) parseShellyCommonStatus [id:0, state:false, ts:null]

dev:3812024-03-17 07:34:22.683 PMdebug(null) parseShellyInputStatus [id:0, state:false, ts:null]

dev:3812024-03-17 07:34:22.681 PMdebugparseShellyCloudStatus [connected:false, ts:null]

dev:3812024-03-17 07:34:22.679 PMdebugparseShellyStatus [ble:[:], cloud:[connected:false], input:0:[id:0, state:false], input:1:[id:1, state:false], input:100:[id:100, percent:0.1], input:2:[counts:[by_minute:[0, 0, 0], minute_ts:1710704040, total:0], freq:0.00, id:2], mqtt:[connected:false], script:1:[id:1, mem_free:25200, running:false], switch:0:[id:0, output:false, source:init], switch:1:[id:1, output:false, source:init], sys:[available_updates:[:], cfg_rev:17, fs_free:139264, fs_size:458752, kvs_rev:0, mac:C82E180D6AA8, ram_free:114552, ram_size:259768, reset_reason:3, restart_required:false, schedule_rev:0, time:19:34, unixtime:1710704063, uptime:1585, webhook_rev:0], temperature:100:[id:100, tC:22.4, tF:72.4], wifi:[rssi:-57, ssid:PondWIFI_2G, sta_ip:192.168.1.19, status:got ip], ws:[connected:false]]

dev:3812024-03-17 07:34:22.672 PMdebugHTTP Async Response: [id:142, request:[uri:http://192.168.1.19, path:/rpc/Shelly.GetStatus, requestContentType:application/json]] ::: [ble:[:], cloud:[connected:false], input:0:[id:0, state:false], input:1:[id:1, state:false], input:100:[id:100, percent:0.1], input:2:[counts:[by_minute:[0, 0, 0], minute_ts:1710704040, total:0], freq:0.00, id:2], mqtt:[connected:false], script:1:[id:1, mem_free:25200, running:false], switch:0:[id:0, output:false, source:init], switch:1:[id:1, output:false, source:init], sys:[available_updates:[:], cfg_rev:17, fs_free:139264, fs_size:458752, kvs_rev:0, mac:C82E180D6AA8, ram_free:114552, ram_size:259768, reset_reason:3, restart_required:false, schedule_rev:0, time:19:34, unixtime:1710704063, uptime:1585, webhook_rev:0], temperature:100:[id:100, tC:22.4, tF:72.4], wifi:[rssi:-57, ssid:PondWIFI_2G, sta_ip:192.168.1.19, status:got ip], ws:[connected:false]]

dev:3812024-03-17 07:34:22.595 PMdebugConnection reset

dev:3812024-03-17 07:34:22.592 PMdebugHTTP Async query: Shelly.GetStatus([:])

dev:3812024-03-17 07:34:22.583 PMinfoConnection open.

dev:3812024-03-17 07:34:22.580 PMinfoConnection open.

dev:3812024-03-17 07:34:22.560 PMdebugwebSocketStatus status: open; keepAlive=true

dev:3812024-03-17 07:34:22.537 PMwarnReconnecting in 30 seconds.

Yes. Driver is actively supported.

Looking at this line makes me wonder if you installed the whole bundle or just a single file. This driver consist of multiple libraries and some custom child devices. And input device code seem to be missing.

To install all the dependencies you have 2 choices:

  1. Install files one by one
  2. (recommended) install full bundle with all dependencies at once.

To install bundle you need to go here ge4d / hubitat-code / Bundles / Bundle1.zip — Bitbucket.
On this page you will see Text/Link 'View raw'. You can either open it (zip file will be downloaded) or copy this link.
Then on the hubitat bundles tab you need to press "Import ZIP".
Then depending on your previous step point either to the downloaded ZIP file or paste a link from 'View raw'.

You can check this post Shelly Device Handlers for Hubitat - #454 by dmitry.rozovik for images.

Let me know it you need any help or have issues)

I bow to the master, thank you for advice all child devices spawned and displaying/operating as expected.
Tried to be smart and just downloaded the librarys required by the driver.
I can confirm operation on shelly uni plus gen 2 with latest firmware 1.2.2
Many thanks

1 Like

The driver supports 'Button controller' application family with the following button mapping

Also I see you have a script. Driver allows to make it interactive. Script child device it self is a 'switch' that allows to start/stop your script (and can be spawned as a dashboard tile).
And scipt child device has few attributes you can alter from within shelly script: (text, numeric and one generic that also can be shown on a dashboard with any custom value).

Good afternoon, I put my case in case it is worth it to someone.

The driver is really good, but that query every 1 second consumes more hub resources than I would like.

In my case I need to measure the V of a device and let me know if it goes beyond X, I use only one of the outputs to activate a device if that happens.

So after testing the driver I realized that I can leave this job to Shelly in a configuration of if the ADC input goes from x V activate the second relay and deactivate it after 3 seconds.

Through the I/O this reaches hubitat without polling anything, and by rule, if the second relay is activated, I activate the first one for x seconds.

This way I use the native shelly switch driver and don't overload the hub.

It is a particular case, I am very grateful to all the developers, but for my specific case this has been a better solution.

Greetings