Shelly Plug PlugS Gen3 - Meter channel missing?

Hello together.

I have a Shelly PlugS (Gen1 I think). It is working perfectly fine with openHAB. I can power the device and measure the power consumption.

I decided to buy two new Shelly PlugS Gen3. The plugs are online and I can power the devices connected to them - but I cannot measure the power consumption. The channel meter is also completely missing on the UI.

The major difference in the configuration is the thing type: The old one is defined as shelly:shellyplugs and the new ones as shelly:shellyplusplug.

Content of my shelly.things file:

// Shelly Plug-S
Thing shelly:shellyplugs:1234A567B89C "Shelly Plug-S" @ "lowerground" [ deviceIp="192.168.41.30", userId="admin", password="supersecret", eventsCoIoT=true ]

// Shelly PlugS Gen3
Thing shelly:shellyplusplug:1234A567B89D "Shelly PlugS Gen3 1234A567B89D" @ "lowerground" [deviceIp="192.168.41.31", userId="", password="supersecret"]
Thing shelly:shellyplusplug:1234A567B89E "Shelly PlugS Gen3 1234A567B89E" @ "lowerground" [deviceIp="192.168.41.32", userId="", password="supersecret"]

Content of my shelly.items file:

Switch ShellyPlugS_Betriebszustand       "Plug Einschaltszustand"                      {channel="shelly:shellyplugs:1234A567B89C:relay#output"}
Number:Power ShellyPlugS_Stromverbrauch  "Plug Stromverbrauch"                <energy> {channel="shelly:shellyplugs:1234A567B89C:meter#currentWatts"}
Number:Power ShellyPlugS_Gesamtverbrauch "Plug Gesamtverbrauch (seit Reboot)" <energy> {channel="shelly:shellyplugs:1234A567B89C:meter#totalKWH"}

Switch ShellyPlugS_xxxx_Betriebszustand       "Plug Einschaltszustand"                      {channel="shelly:shellyplusplug:1234A567B89D:relay#output"}
Number:Power ShellyPlugS_xxxx_Stromverbrauch  "Plug Stromverbrauch"                <energy> {channel="shelly:shellyplusplug:1234A567B89D:meter#currentWatts"}
Number:Power ShellyPlugS_xxxx_Gesamtverbrauch "Plug Gesamtverbrauch (seit Reboot)" <energy> {channel="shelly:shellyplusplug:1234A567B89D:meter#totalKWH"}

Switch ShellyPlugS_yyy_Betriebszustand        "Plug Einschaltszustand"                      {channel="shelly:shellyplusplug:1234A567B89E:relay#output"}
Number:Power ShellyPlugS_yyy_Stromverbrauch   "Plug Stromverbrauch"                <energy> {channel="shelly:shellyplusplug:1234A567B89E:meter#currentWatts"}
Number:Power ShellyPlugS_yyy_Gesamtverbrauch  "Plug Gesamtverbrauch (seit Reboot)" <energy> {channel="shelly:shellyplusplug:1234A567B89E:meter#totalKWH"}

Anyone else had this problem and knows how to solve it? Am I using the wrong thing type?

Thank you!
Andreas

Maybe the wrong binding:

The latest version is development build 5.3.0.202608150919 and it is working out perfectly. See here: myfiles/shelly/org.openhab.binding.shelly-5.3.0-SNAPSHOT.jar at master · markus7017/myfiles · GitHub

version: 1
things:
  shelly:shellyplusplug:57eee5cb30:
    label: Shelly Plus Plug S
    config:
      deviceIp: 192.168.1.193
      updateInterval: 60
      enableBluGateway: false
      enableRangeExtender: false
    channels:
      device#alarm:
        type: alarmTrigger
      device#wifiSignal:
        type: signal-strength
      meter#currentWatts:
        type: meterWatts
        description: Aktueller Energieverbrauch in Watt
      meter#currentPower:
        type: currentPower
        label: Power Consumption
        description: Current power consumption in W
      meter#totalKWH:
        type: meterTotal
        description: Gesamtverbrauch in kWh seit das Gerät eingeschaltet wurde (wird je nach Modell beim Neustart zurückgesetzt)
      meter#totalEnergy:
        type: totalEnergy
        label: Total Energy Consumption
        description: Total energy consumption in kWh. Gen1 devices may reset on power cycle; Gen2+ devices persist across restarts.
      meter#voltage:
        type: meterVoltage
      meter#current:
        type: meterCurrent
      meter#lastPower1:
        type: lastPower1
        label: Durchschnitt letzte Minute 1
        description: Der durchschnittliche Verbrauch innerhalb der letzten Minute
      meter#lastUpdate:
        type: lastUpdate
      device#firmware:
        type: deviceFirmware
      device#internalTemp:
        type: indoor-temperature
      device#uptime:
        type: uptime
      device#heartBeat:
        type: heartBeat
      device#updateAvailable:
        type: updateAvailable
      relay#output:
        type: relayOutput
        label: Output
        description: Controls the relay output
      relay#timerActive:
        type: timerActive
      relay#autoOn:
        type: timerAutoOn
      relay#autoOff:
        type: timerAutoOff
      meter#energyHistMin1:
        type: energyHistMin1
        label: Energy - Previous Minute 1
      meter#energyHistMin2:
        type: energyHistMin2
        label: Energy - 2 Minutes Ago 2
      meter#energyHistMin3:
        type: energyHistMin3
        label: Energy - 3 Minutes Ago 3
      meter#energyAvgLast3Min:
        type: energyAvgLast3Min
      meter#resetTotals:
        type: meterResetTotals

I am currently using 5.2. I will try 5.3 over the weekend.

I updated my installation from 5.2.0 to 5.2.1 and rebooted the system. Then the channels appeared for the devices. They are named slightly different, but are working now!

Switch ShellyPlugS_yyy_Betriebszustand        "Plug Einschaltszustand"                      {channel="shelly:shellyplusplug:1234A567B89E:relay#output"}
Number:Power ShellyPlugS_yyy_Stromverbrauch   "Plug Stromverbrauch"                <energy> {channel="shelly:shellyplusplug:1234A567B89E:meter#currentPower"}
Number:Energy ShellyPlugS_yyy_Gesamtverbrauch  "Plug Gesamtverbrauch (seit Reboot)" <energy> {channel="shelly:shellyplusplug:1234A567B89E:meter#totalEnergy"}

I was wondering how to update the Shelly binding. If I understand the documentation correctly, I would need to find the binding’s ID and then update it via the CLI:

In my case the ID seems to be 291:

openhab> bundle:list | grep Shelly 
291 │ Active   │  80 │ 5.2.1                   │ openHAB Add-ons :: Bundles :: **Shelly** Binding

Then run bundle:update for the update, correct? I haven’t executed it yet.

openhab> bundle:update 291 https://github.com/markus7017/myfiles/blob/master/shelly/org.openhab.binding.shelly-5.3.0-SNAPSHOT.jar

The issue is always to know or to figure out which binding version has already been merged into main (openHAB core) or into the latest snapshots.

Therefore, i would uninstall the core binding and work with development builds (addons folder) as long as the binding is under high developement activity. This is still the case for the shelly binding.

If you don’t have the tuya binding installed (this one contains Californium), Californium will be uninstalled in parallel to the shelly binding. Then download and copy the shelly binding from your link into your addons folder. Californium needs to be installed again using the command:

feature:install openhab-transport-coap

Now you should have binding version 5.3.0.202608150919 which is only one week old and the latest one w.r.t. the meter fixes.

I have “Shelly Plug S Gen3” running, see my channels:

version: 1
things:
  shelly:shellyplusplug:eb3a3be559:
    label: Shelly Plug S Gen3 (Heizlüfter Keller)
    config:
      deviceIp: 192.168.1.183
      updateInterval: 60
      enableBluGateway: false
      enableRangeExtender: false
    channels:
      device#alarm:
        type: alarmTrigger
      device#wifiSignal:
        type: signal-strength
      device#firmware:
        type: deviceFirmware
      device#internalTemp:
        type: indoor-temperature
      device#uptime:
        type: uptime
      device#heartBeat:
        type: heartBeat
      device#updateAvailable:
        type: updateAvailable
      relay#output:
        type: relayOutput
        label: Output
        description: Controls the relay output
      relay#timerActive:
        type: timerActive
      relay#autoOn:
        type: timerAutoOn
      relay#autoOff:
        type: timerAutoOff
      meter#currentWatts:
        type: meterWatts
        description: Aktueller Energieverbrauch in Watt
      meter#currentPower:
        type: currentPower
        label: Power Consumption
        description: Current power consumption in W
      meter#totalKWH:
        type: meterTotal
        description: Gesamtverbrauch in kWh seit das Gerät eingeschaltet wurde (wird je nach Modell beim Neustart zurückgesetzt)
      meter#totalEnergy:
        type: totalEnergy
        label: Total Energy Consumption
        description: Total energy consumption in kWh. Gen1 devices may reset on power cycle; Gen2+ devices persist across restarts.
      meter#voltage:
        type: meterVoltage
      meter#current:
        type: meterCurrent
      meter#frequency:
        type: meterFrequency
      meter#lastPower1:
        type: lastPower1
        label: Durchschnitt letzte Minute 1
        description: Der durchschnittliche Verbrauch innerhalb der letzten Minute
      meter#lastUpdate:
        type: lastUpdate
      meter#energyHistMin1:
        type: energyHistMin1
        label: Energy - Previous Minute 1
      meter#energyHistMin2:
        type: energyHistMin2
        label: Energy - 2 Minutes Ago 2
      meter#energyHistMin3:
        type: energyHistMin3
        label: Energy - 3 Minutes Ago 3
      meter#energyAvgLast3Min:
        type: energyAvgLast3Min
      meter#resetTotals:
        type: meterResetTotals

Note that there are still channels to be deprecated in the future like e.g. “meter#currentWatts” or “meter#totalKWH”. If you have items linked to these, i would unlink them and relink to the appropriate new channels.

Hope that this information helped you.