fairecasoimeme / Zlinky_TIC

Téléinformation Linky autoalimenté ZigBee 3.0
289 stars 21 forks source link

Z2T Cannot receive attribute reporting after subscription #243

Open xav-git opened 3 months ago

xav-git commented 3 months ago

Hello,

I have integrated the Lixee dongle on a Sonoff ZBbridge Pro running Tasmota 13.4.0.2, using Z2T to push the Sensor information to MQTT broker. Zigbee integration is successfull and I can read data:

20:16:14.302 CMD: ZbSend { "device":"0xCDAB", "endpoint":"0x01", "cluster":"0x0702", "read":["0x0000", "0x0100","0x0102"]}
20:16:14.317 MQT: stat/tasmota_lixee/RESULT = {"ZbSend":"Done"}
20:16:14.858 MQT: tele/tasmota_lixee/SENSOR = {"ZbReceived":{"0xCDAB":{"Device":"0xCDAB","Name":"Lixee","CurrentSummationDelivered":"0x000004A36C4D","0702/0100":"0x00000293D209","0702/0102":"0x0000020F9A44","Endpoint":1,"LinkQuality":29}}}

I am also able to bind to cluster 0x0702 :

21:45:32.948 CMD: Zbbind {"Device":"0xCDAB","Cluster":"0x0702","Endpoint":1}
21:45:32.958 MQT: stat/tasmota_lixee/RESULT = {"ZbBind":"Done"}
21:45:33.098 MQT: tele/tasmota_lixee/RESULT = {"ZbBind":{"Device":"0xCDAB","Name":"Lixee","Status":0,"StatusMessage":"SUCCESS"}}

And Verify bind is successful :

21:46:11.373 CMD: zbbindstate 0xCDAB
21:46:11.385 MQT: stat/tasmota_lixee/RESULT = {"ZbBindState":"Done"}
21:46:11.476 MQT: tele/tasmota_lixee/RESULT = {"ZbBindState":{"Device":"0xCDAB","Name":"Lixee","Status":0,"StatusMessage":"SUCCESS","Total":1,"Start":1,"Bindings":[{"Cluster":"0x0702","Endpoint":1,"ToDevice":"0x00124B002C400527","ToEndpoint":1}]}}

However the issue I have is that the lixee is not sending the reportable information availble in cluster 0x0702

yes I am not sure if the problem comes from Tasmota or Lixee, but I would like to confirm that sensor reporting is supported and that the bind to cluster is the correct way to receive such reports.

Thanks.

fairecasoimeme commented 3 months ago

Hi, You need to do a "Configure Report" after a "Bind" to get reportable information. Just a bind is not enough Fred

xav-git commented 3 months ago

Hi thanks for the quick feedback

It seems that read config is not implemented by Lixee:

13:40:21.594 CMD: ZbSend { "device":"Lixee", "endpoint":"0x01", "cluster":"0x0702", "readconfig":["0x0000", "0x0100","0x0102"]}
13:40:21.606 MQT: stat/tasmota_lixee/RESULT = {"ZbSend":"Done"}
13:40:21.757 MQT: tele/tasmota_lixee/SENSOR = {"ZbReceived":{"0xCDAB":{"Device":"0xCDAB","Name":"Lixee","ReadConfig":{"0702/0000":{"CurrentSummationDelivered":true,"Status":140,"StatusMsg":"UNREPORTABLE_ATTRIBUTE"},"0702/0100":{"Status":140,"StatusMsg":"UNREPORTABLE_ATTRIBUTE"},"0702/0102":{"Status":140,"StatusMsg":"UNREPORTABLE_ATTRIBUTE"}},"Endpoint":1,"LinkQuality":29}}}

I will check with the zigbee implementation on Tasmota.

fairecasoimeme commented 3 months ago

Hi,

It's not "read config" but "config report"

D'après la doc ça ressemble à ça (même si ça suit pas les mots clef config report) ZIG: auto-bind ZbSend {"Device":"0x2916","Config":{"BatteryVoltage":{"MinInterval":3600,"MaxInterval":14400,"ReportableChange":0.2},"BatteryPercentage":{"MinInterval":3600,"MaxInterval":14400,"ReportableChange":5}}}

xav-git commented 3 months ago

Yes, indeed I was hopping to get more information on the syntax of config report with the help of a read config.

I have started this thread https://github.com/arendst/Tasmota/discussions/20952 to try to get some help from tasmota side.

xav-git commented 3 months ago

This problem has been resolved in https://github.com/arendst/Tasmota/discussions/20952 with a fix in tasmota. Tasmota now successfully receives sensor report from Lixee.

However it seems that ReportableChange is not taken into account by Lixee. Indeed the lixee will always report sensor values after MaxInterval is passed, although it can be verified that counters always changes. Is this an expected behavior ? Thanks.

fairecasoimeme commented 3 months ago

Sorry but reportable change works with others systems

xav-git commented 3 months ago

Thanks, for your answer. From your comment I understand that you suspect that the coordinator (in this case Tasmoata Z2T) is the problem ?

So if if this is the case it should be the report config of ReportableChange that is not achieved correctly ?