tree ac2fa392116fc14e5338dad8e52d87a0f651e50a
parent 64f859b9854cd9139d3d790cfea05e313b69fab3
author Stefan Agner <stefan@agner.ch> 1726581076 +0200
committer GitHub <noreply@github.com> 1726581076 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJm6YlUCRC1aQ7uu5UhlAAARIkQAHYAezuMT7NcJzgN/EpON0v7
 ShqbXntw9W6Et7VzOkKhAUsfKLVQYmuZhzwKtWR/A3NGf4gAtRgsmUzycXdatPvL
 RJA+UlEQ3+FDvBNfFWYkHfwXCjLElXMg7R908D5WSyNyBGcqRAQZkzKdOubPHt7N
 E+MiljsB7cTfr1a46YFCRlUro61rQ32z625oQkUL2sVTOv1uOjp6JT31BKPC02CH
 1AfZyJ25gX4i74nZakaLd7OGx4SkSowrGjlNereKprMv1QylDs2htSlHohnW7kXZ
 Quo7RhsSE/f1oBoiv8G0C7Y14RwTKBePzjpQB++dLY4+p6u73KaKWiIiW0PjVWmF
 Q6+iMo48QdETgPsTj5h+Q7bgmfU+4KNsJNLDrFyCFo/yIdDE/DX3tvo+3u7vSqmy
 7pJegNJjpHxoB/NREkAWhHhIqIVFrKFtEQ9TdlfTIc1f2c6eSyyZJBoTZBdrMBrh
 SJNn8I1wmYhtveWsjFKsO/gsSFNA5PcQCyc08cMpr4ijmoj5s3q0ML8JXMBL4kKe
 kYOWgH+MttKWdYow0qcf22vD3yIQ9vUmYllmHkbrbnEFWeeQQNlgA6500k9IuQfc
 kjTyAJY/2QA5/b96b3bS+Vu5nSu5+nFMOblKlddM2/cXl/dK9/sS10acDtTXX6Tw
 6DnjLvWTXOkLHranUgz9
 =MZUJ
 -----END PGP SIGNATURE-----
 

[Python] Process attribute cache updates in Python thread (#35557)

* [Python] Process attribute cache updates in Python thread

Instead of processing the attribute update in the SDK thread, process
them on request in the Python thread. This avoids acks being sent back
too late to the device  after the last DataReport if there are many
attribute updates sent at once.

Currently still the same data model and processing is done. There is
certainly also room for optimization to make this more efficient.

* Get updated attribute values

Make sure to get the attribute values again after each command to get
the updated attribute cache.

* Reference ReadEvent/ReadAttribute APIs on dev controller object