tree 89f99e490e7760b7721e142e658d5897bbd121f6
parent bf9d4318141bf5759c388628a3059b3dc1ffc149
author jamesharrow <93921463+jamesharrow@users.noreply.github.com> 1723155706 +0100
committer GitHub <noreply@github.com> 1723155706 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmtUT6CRC1aQ7uu5UhlAAAIgcQAE67uJjfKUuET30RoSNI32LM
 cd8o85ZPX1IFyzsafSYaBlVMVQ8XDB5PoP/sIt2mGefXNHk+YBd1YRRZAbx5Ah7m
 rLefTk1wIqJbF3uSBY/i6x4ERNBuYfbfVhvO7ptDS3bsoMn/SyYiEXTSAiomE6i7
 ORtMkHhbFnqcwvLFL04rdbduCUIoL+sMfum/6TBanLjcC2zFKJCsqLFN641Zs1YI
 mo5NPq4s3PtwQ03f6BXlxoUxKieBKEpsCpv0Nw3unXOH7Kt/BVHjwaC7miWvk3TR
 NDpdmDFy2sVf8KLWopI58Qi9BjyOrbHjzyIe8QfJ3hgvW9pxtw/00d3WepFhzE0b
 gjeIS8OtRJ7NoW8qEccLiVoiNCKD6EW+q7sFXxpp7P1d1v6T4qGdUETr2AqtnDPP
 XyGkhDfZg01wQ/0MBZhM7VS4iasnCRkt46PuWwlgT80T2hlsiZFBCOfv+s4JVUM+
 fbuP9jkTn2zb5F/95QSvNGbUBKENencdTZuB0CmKjk2IZASnV4GQ4AhhRHTnVW+K
 vI78rTOL5glHAmPTJOdR+sGfIeJSa+4dG0NGMqvn76aq7zYPJuxZlPgnVYDqNqzL
 url/cv7G9NvQx/RPCsrPnLqO3HNauo4am1Ial4Ru8iAs881ctXVkKQFtCdYzZcFW
 8IVCCouFasohAS5pdoNl
 =AO+/
 -----END PGP SIGNATURE-----
 

Updated WHM XML to align to spec PR 10028 (#34560)

* Updated XML to align to spec PR 10028, (Adds Events and simplifies data types and command).

* Bumped cluster revision to 2

* Added missing Descriptions to the Events to avoid ZAP regen_all.py failing with unhelpful error message.

* Updated autogen'd files from regen_all.py

* Renamed WaterHeaterTypeBitmap/WaterHeaterDemandBitmap -> WaterHeaterHeatSourceBitmap. Added boostInfo structure into command. Now All-clusters-app compiles again. Some brief reformatting.

* Added missing new Java files.

* Updated test scripts to work with new types and boostInfo structure. Added to the tests.yaml which was missing.

* Corrected test-runner command linewrap issue

* Removed featureSet command flag in test runner which is not in All-cluster-app.

* Added missing apiMaturity="provisional" to WaterHeaterHeatSourceBitmap.

* Update .github/workflows/tests.yaml

* Re-aligned the XML after some late changes to the constraints in the spec.

---------

Co-authored-by: Hasty Granbery <hasty@granbery.org>