[Zigbee] What unit is the maximum reporting interval?

I have a Blitzwolf SHP13 “smart plug” and while it got added well into openHab, I’m having a hard time getting it to update its current and power channels.
I used to ssh console to run the following command:

zigbee endpoint 51205/1

Which gave me a very long list of attributes, among which the two that I’m interested in like this:

    S    1288 r-- UNSIGNED_16_BIT_INTEGER   RMS Current                              Sun Sep 18 12:05:20 CEST 2022 139
    S    1291 r-- SIGNED_16_BIT_INTEGER     Active Power                             Sun Sep 18 12:04:52 CEST 2022 18

I then used the reportcfg command on the 1288 attribute which gave me the following result:

Cluster 2820, Attribute 1288, type UNSIGNED_16_BIT_INTEGER, minimum reporting interval: 3, maximum reporting interval: 7200, timeout: 0

What is the unit of time used for “maximum reporting interval”? I’m asking because, if it’s seconds, then 7200 is 2 hours and yet, according to the reportcfg result, the last update to the values has been more than 24 hours ago.

If it’s indeed seconds, what could explain that it does not update on a regular basis? In particular, why doesn’t it update when the plug gets turned off?

Well, I left it untouched for 5 days, and the zigbee endpoint report showed that the value has not been updated ever since.
However, if I open the “Thing” page and simply click the Save text at the top right, then the value is immediately updated.
I also tried showing the “Channel details” page for any of the channel. When I click “Done” at the top right, it also updates the values, and for all channels.

It’s as if the device needs to be queried for values, rather than sending them on a periodical basis.
Is this something plausible? If yes, is there a way to setup some sort of a polling read?

Reporting interval is in seconds.

This gives the reporting configuration, but this doesn’t necessarily mean that there will be ANY reporting. You should also check the binding table to see if the destination of your coordinator is configured. If not, there will be no reporting, and no update.

Could you give me hints at what command I should use to get this?
I’m a bit lost in all the information that is available in the ssh console, I’m more used to the Paper UI part of openHab

Ok, here is what I ran:

openhab> zigbee bindtable 51205
Binding table for node 51205 [003C84FFFE9062D0]
Src Address          | Dest Address         | Group | Mode    | Cluster
003C84FFFE9062D0/1   | 000D6F000DBA13AC/1   |       | Address | 0B04:ELECTRICAL_MEASUREMENT
003C84FFFE9062D0/1   | 000D6F000DBA13AC/1   |       | Address | 0006:ON_OFF
003C84FFFE9062D0/1   | 000D6F000DBA13AC/1   |       | Address | 0702:METERING

And the 1288 and 1291 attributes are under the 0B04 Electrical Measurement section, so I believe this is expected.
What is missing here to get reporting on a regular basis instead of only when I press the Done button?

Assuming that 000D6F000DBA13AC is your coordinator, then the device should be sending reports based on the fact that reporting is also configured (as per the info in your previous post). It looks like the binding has this all configured correctly so I’m not sure why you’re not getting any data.

As a matter of interest, what do you receive if you manually read those channels (using the zigbee read command).

Yes, that’s my coordinator.
Here is what zigbee read 51205/1 2820 is giving:

Reading endpoint C805/1, cluster server cluster Electrical Measurement (0B04), attributes RMS Voltage, RMS Current, Active Power, Cluster Revision
Response for cluster 0x0b04
Attribute 1285  RMS Voltage                                         UNSIGNED_16_BIT_INTEGER         232
Attribute 1288  RMS Current                                         UNSIGNED_16_BIT_INTEGER         171
Attribute 1291  Active Power                                        SIGNED_16_BIT_INTEGER           23
Attribute 65533  Cluster Revision                                    UNSIGNED_16_BIT_INTEGER         1

And after that, the timestamp indicated by reportcfg is updated to the date time the command was run. This behavior is pretty much the same as the one I see when I press the “Done” text in the paperUI interface for the channel details.

So it seems everything is configured properly for communication is happening alright when asked for manually. But I don’t know why this does not happen automatically, nor if there is a way to setup a polling mechanism for this.