openhab / openhab-addons

Add-ons for openHAB
https://www.openhab.org/
Eclipse Public License 2.0
1.86k stars 3.56k forks source link

[shelly] Some channels on Shelly Pro 3EM report NULL #16772

Open hoinmic opened 1 month ago

hoinmic commented 1 month ago

The Shelly Pro 3EM device does not display all values, some channels display " NULL ". The debug functionality of the shelly addon shows the arrival of the corresponding data, but the channel are not updated.

Tested with the commits on the openhab-addons branch 4.2.0~M2-1

I have not yet discovered any errors in the shelly folder of the openhab-addons repository.

Does anyone have an idea what is wrong here?

Logs:

2024-05-18 22:29:00.050 [INFO ] [org.openhab.core.model.script.power ] - -----------------------
2024-05-18 22:29:00.050 [INFO ] [org.openhab.core.model.script.power ] - Current_Power_Meter1_Inverter: 0
2024-05-18 22:29:00.050 [INFO ] [org.openhab.core.model.script.power ] - Total_Energy_Meter1_Inverter: NULL
2024-05-18 22:29:00.050 [INFO ] [org.openhab.core.model.script.power ] - Total_Energy_Returned_Meter1_Inverter: 0
2024-05-18 22:29:00.057 [INFO ] [org.openhab.core.model.script.power ] - Reactive_Power_Meter1_Inverter: NULL
2024-05-18 22:29:00.058 [INFO ] [org.openhab.core.model.script.power ] - Voltage_Meter1_Inverter: 0
2024-05-18 22:29:00.058 [INFO ] [org.openhab.core.model.script.power ] - Current_Meter1_Inverter: 0.028
2024-05-18 22:29:00.058 [INFO ] [org.openhab.core.model.script.power ] - Power_Factor_Meter1_Inverter: 0
2024-05-18 22:29:00.058 [INFO ] [org.openhab.core.model.script.power ] - Last_Update_Meter1_Inverter: 2024-05-18T22:28:17.000+0200
2024-05-18 22:29:00.059 [INFO ] [org.openhab.core.model.script.power ] - Reset_Total_Meter1_Inverter: NULL
2024-05-18 22:29:00.059 [INFO ] [org.openhab.core.model.script.power ] - -----------------------
2024-05-18 22:29:00.059 [INFO ] [org.openhab.core.model.script.power ] - Current_Power_Meter2_Inverter: 0
2024-05-18 22:29:00.059 [INFO ] [org.openhab.core.model.script.power ] - Total_Energy_Meter2_Inverter: NULL
2024-05-18 22:29:00.059 [INFO ] [org.openhab.core.model.script.power ] - Total_Energy_Returned_Meter2_Inverter: 0
2024-05-18 22:29:00.060 [INFO ] [org.openhab.core.model.script.power ] - Reactive_Power_Meter2_Inverter: NULL
2024-05-18 22:29:00.060 [INFO ] [org.openhab.core.model.script.power ] - Voltage_Meter2_Inverter: 0
2024-05-18 22:29:00.060 [INFO ] [org.openhab.core.model.script.power ] - Current_Meter2_Inverter: 0.028
2024-05-18 22:29:00.060 [INFO ] [org.openhab.core.model.script.power ] - Power_Factor_Meter2_Inverter: 0
2024-05-18 22:29:00.060 [INFO ] [org.openhab.core.model.script.power ] - Last_Update_Meter2_Inverter: 2024-05-18T22:28:50.000+0200
2024-05-18 22:29:00.060 [INFO ] [org.openhab.core.model.script.power ] - Reset_Total_Meter2_Inverter: NULL
2024-05-18 22:29:00.061 [INFO ] [org.openhab.core.model.script.power ] - -----------------------
2024-05-18 22:29:00.061 [INFO ] [org.openhab.core.model.script.power ] - Current_Power_Meter3_Inverter: 0
2024-05-18 22:29:00.061 [INFO ] [org.openhab.core.model.script.power ] - Total_Energy_Meter3_Inverter: NULL
2024-05-18 22:29:00.061 [INFO ] [org.openhab.core.model.script.power ] - Total_Energy_Returned_Meter3_Inverter: 0.007
2024-05-18 22:29:00.061 [INFO ] [org.openhab.core.model.script.power ] - Reactive_Power_Meter3_Inverter: NULL
2024-05-18 22:29:00.061 [INFO ] [org.openhab.core.model.script.power ] - Voltage_Meter3_Inverter: 238.8
2024-05-18 22:29:00.062 [INFO ] [org.openhab.core.model.script.power ] - Current_Meter3_Inverter: 0.028
2024-05-18 22:29:00.062 [INFO ] [org.openhab.core.model.script.power ] - Power_Factor_Meter3_Inverter: 0
2024-05-18 22:29:00.062 [INFO ] [org.openhab.core.model.script.power ] - Last_Update_Meter3_Inverter: 2024-05-18T22:28:50.000+0200
2024-05-18 22:29:00.062 [INFO ] [org.openhab.core.model.script.power ] - Reset_Total_Meter3_Inverter: NULL
2024-05-18 22:29:00.062 [INFO ] [org.openhab.core.model.script.power ] - -----------------------
.....

Shelly-addon logs:

2024-05-18 22:29:04.073 [DEBUG] [g.shelly.internal.api2.Shelly2ApiRpc] - shellypro3em-pvinverter: NotifyStatus update received: {"src":"shellypro3em-34987a467758","dst":"shellypro3em-pvinverter","method":"NotifyStatus","params":{"ts":1.71606413072E9,"em:0":{"id":0,"a_current":0.028,"a_voltage":0.0,"a_act_power":0.0,"a_aprt_power":0.0,"a_pf":0.0,"b_current":0.027,"b_voltage":0.0,"b_act_power":0.0,"b_aprt_power":0.0,"b_pf":0.0,"c_current":0.027,"c_voltage":239.0,"c_act_power":0.0,"c_aprt_power":6.6,"c_pf":0.0,"total_current":0.082,"total_act_power":0.0,"total_aprt_power":6.561}}}
.....

Items file:

// Energy Meter1 Inverter
Number Current_Power_Meter1_Inverter {channel="shelly:shellypro3em:pvInverter:meter1#currentWatts"}
Number Total_Energy_Meter1_Inverter {channel="shelly:shellypro3em:pvInverter:meter1#totalKWH"}
Number Total_Energy_Returned_Meter1_Inverter {channel="shelly:shellypro3em:pvInverter:meter1#returnedKWH"}
Number Reactive_Power_Meter1_Inverter {channel="shelly:shellypro3em:pvInverter:meter1#reactiveWatts"}
Number Voltage_Meter1_Inverter {channel="shelly:shellypro3em:pvInverter:meter1#voltage"}
Number Current_Meter1_Inverter {channel="shelly:shellypro3em:pvInverter:meter1#current"}
Number Power_Factor_Meter1_Inverter {channel="shelly:shellypro3em:pvInverter:meter1#powerFactor"}
DateTime Last_Update_Meter1_Inverter {channel="shelly:shellypro3em:pvInverter:meter1#lastUpdate"}
Switch Reset_Total_Meter1_Inverter {channel="shelly:shellypro3em:pvInverter:meter1#resetTotals"}
.....

Rules file:

  logInfo(logName, "-----------------------")
  logInfo(logName, "Current_Power_Meter1_Inverter: " + Current_Power_Meter1_Inverter.state)
  logInfo(logName, "Total_Energy_Meter1_Inverter: " + Total_Energy_Meter1_Inverter.state)
  logInfo(logName, "Total_Energy_Returned_Meter1_Inverter: " + Total_Energy_Returned_Meter1_Inverter.state)
  logInfo(logName, "Reactive_Power_Meter1_Inverter: " + Reactive_Power_Meter1_Inverter.state)
  logInfo(logName, "Voltage_Meter1_Inverter: " + Voltage_Meter1_Inverter.state)
  logInfo(logName, "Current_Meter1_Inverter: " + Current_Meter1_Inverter.state)
  logInfo(logName, "Power_Factor_Meter1_Inverter: " + Power_Factor_Meter1_Inverter.state)
  logInfo(logName, "Last_Update_Meter1_Inverter: " + Last_Update_Meter1_Inverter.state)
  logInfo(logName, "Reset_Total_Meter1_Inverter: " + Reset_Total_Meter1_Inverter.state)
.....

Addendum: It is noticeable that even with the UI (openhab+openhab-addons version 4.2.0~M2-1) for the Thing, only the channels

shelly:shellypro3em:pvInverter:meter1#currentWatts shelly:shellypro3em:pvInverter:meter1#returnedKWH shelly:shellypro3em:pvInverter:meter1#voltage shelly:shellypro3em:pvInverter:meter1#current shelly:shellypro3em:pvInverter:meter1#powerFactor

are suggested (for all three electricity meters). From the channels

channel="shelly:shellypro3em:pvInverter:meter1#totalKWH" shelly:shellypro3em:pvInverter:meter1#reactiveWatts"

every trace is missing.


Addendum: I have now compiled the latest version of shelly openhab-addon from mainbranch . It seems that the BaseHandler receives all data.

But still no output on the channels.

2024-05-19 13:41:22.163 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellypro3em-pvinverter: Channel device#deviceName updated with Pro3EM_PV (type class org.openhab.core.library.types.StringType).
2024-05-19 13:41:22.164 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellypro3em-pvinverter: Channel device#uptime updated with 1344 s (type class org.openhab.core.library.types.QuantityType).
2024-05-19 13:41:22.164 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellypro3em-pvinverter: Channel device#uptime updated with 1344 s (type class org.openhab.core.library.types.QuantityType).
2024-05-19 13:41:22.164 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellypro3em-pvinverter: Channel meter1#currentWatts updated with 0 W (type class org.openhab.core.library.types.QuantityType).
2024-05-19 13:41:22.164 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellypro3em-pvinverter: Channel meter1#totalKWH updated with 0 kWh (type class org.openhab.core.library.types.QuantityType).
2024-05-19 13:41:22.164 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellypro3em-pvinverter: Channel meter1#returnedKWH updated with 0 kWh (type class org.openhab.core.library.types.QuantityType).
2024-05-19 13:41:22.164 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellypro3em-pvinverter: Channel meter1#reactiveWatts updated with 0 W (type class org.openhab.core.library.types.QuantityType).
2024-05-19 13:41:22.164 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellypro3em-pvinverter: Channel meter1#voltage updated with 0 V (type class org.openhab.core.library.types.QuantityType).
2024-05-19 13:41:22.165 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellypro3em-pvinverter: Channel meter1#current updated with 0.027 A (type class org.openhab.core.library.types.QuantityType).
2024-05-19 13:41:22.165 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellypro3em-pvinverter: Channel meter1#powerFactor updated with 0 % (type class org.openhab.core.library.types.QuantityType).
2024-05-19 13:41:22.165 [DEBUG] [y.internal.handler.ShellyBaseHandler] - shellypro3em-pvinverter: Channel meter1#lastUpdate updated with 2024-05-19T13:41:22.000+0200 (type class org.openhab.core.library.types.DateTimeType).
.....
lsiepel commented 1 month ago

Something you can look into @markus7017 ?

markus7017 commented 1 month ago

Please switch to the latest DEV build and try again, check READMEbeta

4.2-DEV | 4.0.-DEV | 3.4.5-DEV | 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. Current development is based on 4.1-SNAPSHOT, 4.0.x and 3.4.x might be outdated.

hoinmic commented 1 month ago

Hi Markus

I have implemented your solution. Unfortunately without success, the behaviour is still the same. The two channels "totalKWH" and "reactiveWatts" are missing.

I have done the following:

wget -O org.openhab.binding.shelly-4.2.0-SNAPSHOT.jar https://github.com/markus7017/myfiles/blob/master/shelly/org.openhab.binding.shelly-4.2.0-SNAPSHOT.jar?raw=true  

# -> removed all shelly things

# -> Uninstall Shelly binding form UI
openhab-cli console   -> feature:install openhab-transport-coap

systemctl stop openhab.service
sudo cp org.openhab.binding.shelly-4.2.0-SNAPSHOT.jar  /usr/share/openhab/addons
systemctl start openhab.service

openhab-cli console   -> bundle:list

added shelly pro 3em thing
....
290 │ Resolved │  80 │ 2.7.4                 │ Californium (Cf) Core
291 │ Resolved │  80 │ 2.7.4                 │ Californium (Cf) Element Connector
292 │ Resolved │  80 │ 2.7.4                 │ Californium (Cf) OSGi
293 │ Resolved │  80 │ 2.7.4                 │ Scandium (Sc) Core
294 │ Resolved │  80 │ 4.2.0.202405241838    │ openHAB Add-ons :: Bundles :: Shelly Binding

Screenshot from 2024-05-26 11-57-45