Matter Binding (Marketplace, Deprecated)

Thank you for posting the complete log file, looks like there something odd about the Descriptor cluster for the devices. I’ll take a look and hopefully have a fix shortly.

1 Like

@Pedro_Liberal can you try installing the latest jar and run again, i need to get some additional logs as its not clear why its throwing an exception. There should be new lines that start with deserializeFields like:

11:35:04.245 [TRACE] [nal.controller.MatterControllerClient] - Cluster Descriptor={"id":29,"name":"Descriptor","deviceTypeList":[{"deviceType":257,"revision":1}],"serverList":[3,4,6,8,29],"clientList":[],"partsList":[],"clusterRevision":1,"featureMap":{"tagList":false},"attributeList":[0,1,2,3,65528,65529,65531,65532,65533],"acceptedCommandList":[],"generatedCommandList":[]}
11:35:04.246 [TRACE] [nal.controller.MatterControllerClient] - deserializeFields id 29
11:35:04.246 [TRACE] [nal.controller.MatterControllerClient] - deserializeFields name "Descriptor"
11:35:04.247 [TRACE] [nal.controller.MatterControllerClient] - deserializeFields deviceTypeList [{"deviceType":257,"revision":1}]
11:35:04.247 [TRACE] [nal.controller.MatterControllerClient] - deserializeFields serverList [3,4,6,8,29]
11:35:04.247 [TRACE] [nal.controller.MatterControllerClient] - deserializeFields clientList []
11:35:04.248 [TRACE] [nal.controller.MatterControllerClient] - deserializeFields partsList []
11:35:04.249 [TRACE] [nal.controller.MatterControllerClient] - deserializeFields clusterRevision 1
11:35:04.249 [TRACE] [nal.controller.MatterControllerClient] - deserializeFields featureMap {"tagList":false}
11:35:04.249 [TRACE] [nal.controller.MatterControllerClient] - deserializeFields attributeList [0,1,2,3,65528,65529,65531,65532,65533]

I need those along with the exception thats thrown (what you supplied before works). Thanks.

1 Like

Ungh… I swear I did exactly what you said…
Only this time with the new version all of the shellys popped up o.O

Actually.. I’m counting 17 shellys.. I have 14.. anyway… “Deserialize” didn’t pop up either. Idisabled and reenabled the thing a couple of times.

I’m wondering if maybe the previous jar I had wasn’t the most up to date…? could that explain it?

edit:
Yep, devices are found, I can add them, only the channels are missing, I guess the previous logs are what will enable the channels.
But yeah, everything seems to have worked out now.

Edit2:
Okay, confirmed I was running an out of date version of the binding. All of my previous matter devices broke. I remember you mentioning you had changed the logic of the clusters I believe, some days ago. That’s about the last time I updated the jar. Hindsight is 20/20.

I’m guessing you are running this on the Debian Image?

Yes, I now use the Debian image.

There should be communication to the matter server in the logs which would help tremendously (specifically right up to this error, probably a big JSON blob) , if you could PM that to me that would be great (it will be a really large json blob)

It seems that I am not allowed to send a PM. But this seems to be the relevant part:

"WiFiNetworkDiagnostics":{"id":54,"name":"WiFiNetworkDiagnostics","bssid":null,"securityType":null,"wiFiVersion":null,"channelNumber":null,"rssi":null,"currentMaxRate":null,"clusterRevision":1,"featureMap":{"packetCounts":true,"errorCounts":true},"attributeList":[0,1,2,3,4,5,6,7,8,9,10,11,12,65528,65529,65531,65532,65533],"acceptedCommandList":[],"generatedCommandList":[],"beaconLostCount":null,"beaconRxCount":null,"packetMulticastRxCount":null,"packetMulticastTxCount":null,"packetUnicastRxCount":null,"packetUnicastTxCount":null,"overrunCount":null},"EthernetNetworkDiagnostics":{"id":55,"name":"EthernetNetworkDiagnostics","phyRate":2,"fullDuplex":true,"carrierDetect":null,"timeSinceReset":1388579,"clusterRevision":1,"featureMap":{"packetCounts":true,"errorCounts":true},"attributeList":[0,1,2,3,4,5,6,7,8,65528,65529,65531,65532,65533],"acceptedCommandList":[0],"generatedCommandList":[],"packetRxCount":11045504,"packetTxCount":4124693,"txErrCount":0,"collisionCount":0,"overrunCount":0},

I just uploaded a new jar which should fix the error you are seeing (the rss value is null, uhg)

It works with the new version. The controller thing is ONLINE. I was able to integrate a color light and a temperature sensor connected to the FRITZ!Smart Gateway via Zigbee.

Thanks!

I would delete everything , and then recreate the controller, but give it the same exact same id (so it will pick up the saved matter files). These instructions were in the old thread. If that works, hitting “scan” on the discovery page without a code will add existing matter devices so you don’t have to pair again.

If this is really old, then you may be out of luck and need to start over and pair everything.

1 Like

Great!

I deleted them all, I’m currently here to help, not really putting anything into productive right now :slight_smile:

Looking forward to those power monitoring channels now :smiley:

I’m also here because of Shelly but I have problems with my motion sensors. As soon as switch the thing for the motion sensor on the bridge goes offline. because of

java.lang.NullPointerException: Cannot invoke "Object.toString()" because "value" is null

As soon the motion sensor thing is switched off I can restart the bridge thing and the other shelly Pro 3EM goes online.

This error was mentioned before but I still have it with the jar file from the initial post (I assume that is the newst)

I have a log on trace level attached.
matter.log (708.4 KB)

Yeah, i had a typo in that cluster, can you try the latest version i just pushed?

prefect works now. Thanks.
Another issue I have with the Pro 3EM. It only shows temperatur as channel. in matterbridge it does also show the more important data.

Sorry, i’m not following, whats missing, and on what endpoint ?

I have a Shelly Pro 3EM that only shows one channel: temperature. But its purpose is to measure the energy usage. In the matterbridge I see the data but it doesn t show up as channels.

Yep I see the same. There should be quite a bit more channels hidden in the JSON.

So i see this is exposing ElectricalPowerMeasurement and ElectricalEnergyMeasurement clusters, which are not yet implemented. Should not be difficult to add.

Are your sensors properly configured with that bridge? Looking at the file you posted, it seems like it’s setting null (so not set) values for the actual readings which we would create channels for:

"voltage": null,
"activeCurrent": null,
"activePower": null,
"frequency": null,

"cumulativeEnergyImported": null,
"cumulativeEnergyExported": null,
"cumulativeEnergyReset": null,

If thats the case (and i’m interpreting this correctly) it would help if there were actual values to test with.

@digitaldan maybe check my previous logs, I have the same device and it’s outputting data:


22:02:51.525] [shellypro3em-AC15187C5488]: Shelly message for device shellypro3em-AC15187C5488 PowerMeter:em1:0:act_power:748.1
info - [22:02:51.526] [shellypro3em-AC15187C5488]: Set endpoint MA-electricalSensor:81 attribute ElectricalPowerMeasurement.ActivePower from 744700 to 748100
info - [22:02:51.526] [shellypro3em-AC15187C5488]: Shelly message for device shellypro3em-AC15187C5488 PowerMeter:em1:0:aprt_power:918.5
info - [22:02:51.527] [shellypro3em-AC15187C5488]: Shelly message for device shellypro3em-AC15187C5488 PowerMeter:em1:0:current:3.918
info - [22:02:51.527] [shellypro3em-AC15187C5488]: Set endpoint MA-electricalSensor:81 attribute ElectricalPowerMeasurement.ActiveCurrent from 3937 to 3918
info - [22:02:51.527] [shellypro3em-AC15187C5488]: Shelly message for device shellypro3em-AC15187C5488 PowerMeter:em1:0:pf:0.81
info - [22:02:51.529] [shellypro3em-AC15187C5488]: Shelly message for device shellypro3em-AC15187C5488 PowerMeter:em1:1:act_power:213.1
info - [22:02:51.529] [shellypro3em-AC15187C5488]: Set endpoint MA-electricalSensor:82 attribute ElectricalPowerMeasurement.ActivePower from 216800 to 213100
info - [22:02:51.530] [shellypro3em-AC15187C5488]: Shelly message for device shellypro3em-AC15187C5488 PowerMeter:em1:1:aprt_power:330.9
info - [22:02:51.530] [shellypro3em-AC15187C5488]: Shelly message for device shellypro3em-AC15187C5488 PowerMeter:em1:1:current:1.415
info - [22:02:51.530] [shellypro3em-AC15187C5488]: Set endpoint MA-electricalSensor:82 attribute ElectricalPowerMeasurement.ActiveCurrent from 1433 to 1415
info - [22:02:51.530] [shellypro3em-AC15187C5488]: Shelly message for device shellypro3em-AC15187C5488 PowerMeter:em1:1:voltage:233.8
info - [22:02:51.530] [shellypro3em-AC15187C5488]: Set endpoint MA-electricalSensor:82 attribute ElectricalPowerMeasurement.Voltage from 235000 to 233800
info - [22:02:51.533] [shellypro3em-AC15187C5488]: Shelly message for device shellypro3em-AC15187C5488 PowerMeter:em1:2:act_power:7.8
info - [22:02:51.534] [shellypro3em-AC15187C5488]: Set endpoint MA-electricalSensor:83 attribute ElectricalPowerMeasurement.ActivePower from 8200 to 7800
info - [22:02:51.534] [shellypro3em-AC15187C5488]: Shelly message for device shellypro3em-AC15187C5488 PowerMeter:em1:2:aprt_power:70.6
info - [22:02:51.534] [shellypro3em-AC15187C5488]: Shelly message for device shellypro3em-AC15187C5488 PowerMeter:em1:2:current:0.302
info - [22:02:51.534] [shellypro3em-AC15187C5488]: Set endpoint MA-electricalSensor:83 attribute ElectricalPowerMeasurement.ActiveCurrent from 304 to 302
info - [22:02:51.534] [shellypro3em-AC15187C5488]: Shelly message for device shellypro3em-AC15187C5488 PowerMeter:em1:2:pf:0.11
info - [22:02:51.534] [shellypro3em-AC15187C5488]: Shelly message for device shellypro3em-AC15187C5488 PowerMeter:em1:2:voltage:233.8
info - [22:02:51.534] [shellypro3em-AC15187C5488]: Set endpoint MA-electricalSensor:83 attribute ElectricalPowerMeasurement.Voltage from 234500 to 233800

This isn’t the openHAB log, it’s the matter bridge container I linked before. Grabbing data there is quite easy for me. But my previous post with logs should have much of the same too.

I don’t know why it shoe null.
The data is shown correctly in the Matterbridge

info [18:01:00.841] [shellypro3em-3CE90E703484] Shelly message for device shellypro3em-3CE90E703484 PowerMeter:em:0:c_total_act_ret_energy:2835.15
info [18:01:00.842] [shellypro3em-3CE90E703484] Shelly message for device shellypro3em-3CE90E703484 PowerMeter:em:0:total_act_ret:5168.06
info [18:01:04.779] [shellypro3em-3CE90E703484] Shelly message for device shellypro3em-3CE90E703484 PowerMeter:em:0:a_act_power:0
info [18:01:04.780] [shellypro3em-3CE90E703484] Shelly message for device shellypro3em-3CE90E703484 PowerMeter:em:0:a_aprt_power:6.4
info [18:01:04.781] [shellypro3em-3CE90E703484] Shelly message for device shellypro3em-3CE90E703484 PowerMeter:em:0:a_current:0.028
info [18:01:04.782] [shellypro3em-3CE90E703484] Shelly message for device shellypro3em-3CE90E703484 PowerMeter:em:0:a_pf:0
info [18:01:04.783] [shellypro3em-3CE90E703484] Shelly message for device shellypro3em-3CE90E703484 PowerMeter:em:0:a_voltage:231.5
info [18:01:04.784] [shellypro3em-3CE90E703484] Shelly message for device shellypro3em-3CE90E703484 PowerMeter:em:0:b_voltage:233.5
info [18:01:04.785] [shellypro3em-3CE90E703484] Shelly message for device shellypro3em-3CE90E703484 PowerMeter:em:0:c_act_power:0
info [18:01:04.786] [shellypro3em-3CE90E703484] Shelly message for device shellypro3em-3CE90E703484 PowerMeter:em:0:c_aprt_power:6.4
info [18:01:04.787] [shellypro3em-3CE90E703484] Shelly message for device shellypro3em-3CE90E703484 PowerMeter:em:0:c_pf:0
info [18:01:04.787] [shellypro3em-3CE90E703484] Shelly message for device shellypro3em-3CE90E703484 PowerMeter:em:0:c_voltage:232.8
info [18:01:04.788] [shellypro3em-3CE90E703484] Shelly message for device shellypro3em-3CE90E703484 PowerMeter:em:0:total_act_power:0
info [18:01:04.789] [shellypro3em-3CE90E703484] Shelly message for device shellypro3em-3CE90E703484 PowerMeter:em:0:total_aprt_power:19.094
info [18:01:04.790] [shellypro3em-3CE90E703484] Shelly message for device shellypro3em-3CE90E703484 PowerMeter:em:0:total_current:0.082

Ok, i’ll just implement the channels and we can see what happens. When you look at your openHAB logs, do you see a message like :

onWebSocketText {"type":"event","message":{"type":"attributeChanged","data"....

for the power values that are changing?

Mind if I answer? I get this:

2025-01-06 18:56:49.523 [DEBUG] [al.controller.MatterControllerClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"2488850213006715957","endpointId":26,"clusterId":144,"attributeId":8,"attributeName":"activePower"},"version":3930668487,"value":158410}}}

That’s watts and this below is voltage

2025-01-06 18:56:49.524 [DEBUG] [al.controller.MatterControllerClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"2488850213006715957","endpointId":26,"clusterId":144,"attributeId":4,"attributeName":"voltage"},"version":3930668488,"value":236170}}}

And this is cumulative energy - there’s quite a few things here…


2025-01-06 19:02:05.014 [DEBUG] [al.controller.MatterControllerClient] - onWebSocketText {"type":"event","message":{"type":"attributeChanged","data":{"path":{"nodeId":"2488850213006715957","endpointId":51,"clusterId":145,"attributeId":1,"attributeName":"cumulativeEnergyImported"},"version":2321974911,"value":{"energy":1285129000}}}}

Also, in this thread: I’ve just found out I can filter in frontail xD

yes they change but not frequent. log attached,
matter.log (234.9 KB)