tree 0a5fe559634ac28ef7251ee6ba68b5b60927b93b
parent 219e1980c751c1b5fba2ef33a47cd3b6ffb480b5
author Stefan Agner <stefan@agner.ch> 1715843580 +0200
committer GitHub <noreply@github.com> 1715843580 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmRbH8CRC1aQ7uu5UhlAAAGMwQAGspMiIdvizXatQBjVnEXWlk
 wpbzML2fu0GDYcCwIxI7SUNAREMq+yw1HI7Kemv3FRWbM8zWZRjFgWVYP0Kq2kne
 c4sSaleeXQKLs6/K5+yF2NTasGntiwUB1Hl26zeOY8667JwxalLJwBEvKQZ6tH2G
 2ODBc1S/9zG5Rnv37cflGM7Q+r4BRrvT3531VJuXX+9yyk4sHgW81mIJKeTKnx6j
 +SCSTgTlDvJkxr37Q7iLpl9CsqEdUz45+s2s72ds46CC1rqeed72b7ANYrlUXhtA
 lSjqRJlpmGmn9lMqQSxli66hSLNG3vmtk049cssA4XddQW0EqiFeZKGsn0DwA9eN
 x1CCcGWDCcBm1mqQsJog/If+k2Uona4Hy7zzeo3dhDfZhf47UuOdxWe1ZQ6AA79g
 V38Zzr53nJubx0GUpWe1wmAr2ZHWD9gX7G+Bpwi8H2SE6vUYY/yI+Mdxn4Pcserg
 l7Ti7EArfxYZ8fGPvRMbIEZ1kk1BDGe9pN9ggVS5RfPZ7mB0dIql4Y2M/kEV0E64
 u3/p6czk1aPwzogQzywuRvn1xATjGZ4OLGQg3Q4uoZjma8/hFMt1z9oAPqw7CiOv
 imCeV1IF0vB5lTamcZVRMVb/OmoYwY+F/uYYUDeZ1yDcg+jlGFncfVDxvzh4lIhW
 1ct0tCqT8AvKbJAqaJHL
 =uu+Q
 -----END PGP SIGNATURE-----
 

[Python] Eliminate ZCLReadAttribute/ZCLSend (#33428)

* Convert TestLevelControlCluster to asyncio

Remove ZCLReadAttribute and ZCLSend API use from the level control
test TestLevelControlCluster and convert to asyncio.

* Convert TestReadBasicAttributes to asyncio

Remove ZCLReadAttribute API use from basic information cluster test
and convert to use asyncio.

* Use SendCommand directly in send_zcl_command

Avoid using ZCLSend API instead use SendCommand directly in the
send_zcl_command helper function.

* Convert TestFailsafe to use asyncio/SendCommand

Remove ZCLSend API usage and call SendCommand directly. Also convert
the test to a test using asyncio.

* Convert TestOnOffCluster to use asyncio/SendCommand

Remove ZCLSend API usage and call SendCommand directly. Also convert
the test to a test using asyncio.

* Drop TestResult helper class

The class is no longer required. Test results are tested directly.

* Fix send_zcl_command argument formatting

* Catch exception more specifically

* Fix TestWriteBasicAttributes for all cases

It seems TestWriteBasicAttributes did not correctly write
the attributes. The broad exception handling seems to have hidden
this issue even.  Make sure the attributes with the correct value
get written, and check for unexpected and expected IM errors
in the per-attribute results specifically.

* Fix TestFailsafe by catching correct exception

* Drop unused import