Best structure for an AirZone HVAC binding

Hello,

I have a AirZone HVAC system here and it has a nice local web server with a documented API that others have already fiddled with as can be seen here

While creating a few manual rules that do POST/PUT requests is feasible, it’s not really friendly as it does not integrate properly as things with channels inside the entire openHAB system.
This leads me to thinking about creating a binding for it but after reading the documentation on the subject, I’d like to make sure I get things right in what the binding would offer.

An AirZone controller manages one or more “systems”, each system contains “zones” which in turn have several values and parameters.
Thing is, the API does not return any information on systems apart from their Id and only directly reported on the zones values like this:

{
	"systems": [
		{
			"data": [
				{
					"systemID": 1,
					"zoneID": 1,
					"name": "Office",
					"thermos_type": 4,
					"thermos_firmware": "3.61",
					"thermos_radio": 1,
					"on": 1,

So to me there is little point in representing the “system” concept as a sub-bridge of the main AirZone bridge and I end up with the following structure:

  • AirZone bridge with Ip address / name as the only parameter
  • AirZone zone thing with parameters (AirZone bridge, systemID, zoneID) multiple channels (on/off, setpoint, current temperature…)

Considering how the API works, all zones could be auto discovered.

Does this make sense to you?
Are there similar bindings from which I could get some example code?

And finally, with v4 just around the corner, I assume it makes more sense to develop the binding for v4, right?

Thanks for your help

Each system is related to the number of master thermostats you have in the installation. In my case and in most cases I only have one in the ground floor of the house (12 rooms with thermostats or zones connected to a single master) so I think it makes sense to ignore that parameter. In the end what you are interested in are the data of the zones and to be able to act on them.

On the other hand in my case the web server crashes constantly and I do not recover data. There are many people suffering from this problem so I do not know if I can help you much on this since I have it blocked and only Airzone technicians can unblock it apparently (it is not solved by cutting the power)