This should clear up the issue with installing.
So, I tried to use my Shelly Gen 4 flood sensor months ago, and gave up. I tried zigbee, but was told the versions didn't match by C7, and I tried matter with these drivers but didn't know what I was doing. Well, I just upgraded to a C8 Pro, and thought I would be able to use Zigbee, but it still just never initializes. Pairing finds it, and says it's doing something, but it fails every time.
So, I set up the device on my network, updated it to its latest stable version, and using the same network as my Hubitat, managed to get the Hubitat to find the device and add it using Matter. It didn't automatically choose a good driver, so I chose this webhooks one. I added the ip address of the device in preferences, and clicked "save" while I was sure the device was listening (because I could still talk to it directly on its web interface on another tab). But it didn't seem to work, I think..... So, I saw this thread and there was a later version, so using HPM I updated the shelly drivers, and rebooted the hubitat and tried again to save the preferences, and still it appears not to work. There's no auth on my device, so I made the username and password blank in preferences.
Here's the log information, can you tell what's going on ? The unit was definitely responding on wifi at the time..
No RGBWs found...
No RGBs found...
No lights found...
No covers found...
No inputs found...
No switches found...
Found RGBWs:
Found RGBs:
Found Lights:
Found EMs:
Found EM1s:
Found PM1s:
Found Humidites:
Found Temperatures:
Found Covers:
Found Inputs:
Found Switches:
Shelly.GetConfig Result: {
Device is generation 2 or newer... Getting current config from device...
Setting device info: model=S4SN-0071A, gen=4, ver=1.8.99-floodsg4prod0
Shelly Device Info Result: {
Getting device info...
Request ErrorData: Not Found
Request error message: Not Found
Request returned HTTP status 404
No device actions configured. Encountered error :groovyx.net.http.ResponseParseException: status code: 404, reason phrase: Not Found
New settings: {
Device IP address not changed, sending preferences to device...
Device has an IP address set in preferences, updating DNI if needed...
Starting configuration for a non-child device...
Device preferences saved, running configure()...
Is there something on my flood sensor's web interface that should change ? I can't see where the webhooks would be visible. There's an "outbound websocket" option, but it seems it wants a server name to be entered in there before it can be enabled. Do I enter the hubitat in there?
I’m using Shelly i4 Gen3 with Add-on. Add-on has two DS temperature sensors connected and an Analog Input configured as a Voltmeter. I used the device type Shelly Plus i4 to install it. Temperature sensors added OK as child devices. However voltmeter/analog input is missing. (Built-in Shelly app finds it OK, but has other issues, and I’d like to use this driver). Any plans to add the support?
Adds support for Gen 4 Flood and volt sensor add-ons.
Give the latest release a spin and let me know if the volt meter add-on works as expected.
I just put out a new release that adds support for the gen 4 flood.
Thank You! Voltmeter works great. A tiny nice-to-have would be exposing xvoltage value as well. This way, I don’t have to duplicate a conversion formula in the Shelly and Hubitat webcore. (converting voltage to PSI)
That should add xvoltage as a ‘sensor’ capability on the voltage sensor child. Doesn’t have any units, etc, since the xvoltage can be basically anything. Let me know if that eliminates the need to convert things in Webcore.
I can see a Sensor value now in the voltmeter device, after refresh, and it shows correctly. However, I don’t see this attribute in the Webcore when I select the voltmeter. It only shows volts and some default attributes. I tried to re-add the device to Webcore and rebooted Hubitat. Maybe a clue: I noticed I need to hit a refresh button every time I want to see SensorValue in Commands tab for this device
I modified the package through the package manager and added the new Flood Gen 4 driver, and changed the driver for my device to that, and it seems to work !
Thank you !
And I had a second Gen 4 Flood waiting to set up, so did that from scratch. Here’s how I did it, if I recall correctly:
- Find the sticker inside the box, stick it somewhere on the device so we don’t lose it.
- Power on the device, hold the button like it says.
- On my PC, find the Shelly wifi network that comes up, and log on.
- Go to the ip address that is the default one, mentioned in the instructions (if you can find it, sorry I don’t have instructions in front of me. It’s 192.168.something.something).
- Set it up with your house wifi, and wait for it to log on. When it does, it will be on both networks at once it seems, and tell you its ip on the home network.
- Connect your computer back to your home wifi, and log back onto your flood sensor at that ip address you wrote down.
- On your hubitat, add new device, search for “matter”, find the new shelley, and set it up - you’ll need the number below the QR code during the process. You’ll have to set it to use the “Shelly Flood Gen 4 (webhook)” driver, and then put the ip address of your device into the “ip address” box on the “preferences” tab. I didn’t put a password. (Should I?)
- Go to the “Commands” page, press “configure” - then go to the “logs” page and you should see dozens of lines showing it’s doing something.
- Wet the cord, make sure it adds events of “wet” and “dry”.
- If you can, on your router, configure this new flood sensor with a static IP address so it doesn’t change and confuse the hubitat. Probably in the settings on the flood sensor page you can set up the ip address there too. I have a google home, I just asked it to always allocate the same ip to that device, so the sensor still things it’s requesting dynamic addresses, but always being given the same one.
Note, I didn’t use the QR code at any point (just the number below it), and I didn’t set it up with Google Home or anything first. Just Hubitat.
Sorry if I forgot some part of the process.
Note, you need Daniel’s driver code installed first. I got it through the “Hubitat Package Manager” app a while ago, so I forget that process.
I can’t get the latest version working without using ble-shelly-blu.js instead of HubitatBLEHelper.
HubitatBLEHelper is blank when auto configured and if I paste the script from GIT into a Shelly 1 it does not work, only ble-shelly-blu does.
On a Shelly Wall Display, it is also blank and pasting in HubitatBLEHelper from GIT gives the following error:
TypeError: not a function
at init (script_1.js:532:15)
at (script_1.js:540:1)
BLE.Scanner.Subscribe(BLEScanCallback);
Hi,
I have some shelly 2.5 acting as rollers.
and after this upgrade in the firmware ( now is 1.14.0-gcb84623 )... your driver do not work... do no open or close the roller.
i have it as "shelly 2.5 ( webhook )"
the error i found on logs:
"Garagem-Estore: Request returned HTTP status 404"
Hi, thank you for this work. I've got a Shelly Plus Uni with two temp probes working just perfectly, but I am seriously struggling with my Shelly EM Gen3. If I use the Shelly device manager to add the EM gen3, it only makes the parent device and thinks it's a switch. If I manually add the device and tell it it's a Shelly EM Pro, no matter what I do I can only get the energy meter to update on a fixed once per 10 min interval for the child device (fallback http update), despite seeing the parent device updating every 15 seconds. This device has 2 clamp inputs and 1 relay but I'm only using a single clamp to monitor my HVAC power consumption 120vac circuit to my furnace. My EM Gen3 is on firmware 20260710-101113/2.0.0-g87fbfa4. Has anyone had success with the Gen3 EM and 2.0 firmware? Do I need to roll back the firmware to something older? Thanks in advance
Hi Pedro.Jesus,
I have a similar issue with my 2.5 acting as a rollershutter, using an other driver
we are not alone HTTP GET bug in 2.5.1.142 (and .143) breaks Shelly rgbw2 driver
(post deleted by author)