diff --git a/package-lock.json b/package-lock.json index ef63743d..1cd62f58 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "@seamapi/blueprint": "^1.12.0", "@seamapi/fake-seam-connect": "2.0.6", "@seamapi/smith": "^1.1.1", - "@seamapi/types": "1.1136.1", + "@seamapi/types": "1.1137.0", "change-case": "^5.4.4", "prettier": "^3.2.5" }, @@ -853,9 +853,9 @@ } }, "node_modules/@seamapi/types": { - "version": "1.1136.1", - "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.1136.1.tgz", - "integrity": "sha512-B3flfbWB4zi3KXhrser7u7MpmdVRQO46M1Kjd7BK9p0cEWi/N8dCNx2vzUYwoQ8EqxiLImu5Rrj/aMtxurx+xA==", + "version": "1.1137.0", + "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.1137.0.tgz", + "integrity": "sha512-AoIq3IlMsWfq8AKmezpcKydBvL6jKl/aBS0YkrrT6H3+qqksfQO1aXzJIOXGiXZ6RcXLAUwH74hs2uyLxlT2Iw==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index dfb9e116..939cb289 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "@seamapi/blueprint": "^1.12.0", "@seamapi/fake-seam-connect": "2.0.6", "@seamapi/smith": "^1.1.1", - "@seamapi/types": "1.1136.1", + "@seamapi/types": "1.1137.0", "change-case": "^5.4.4", "prettier": "^3.2.5" } diff --git a/seam/resources/device.py b/seam/resources/device.py index eaf00350..63f669eb 100644 --- a/seam/resources/device.py +++ b/seam/resources/device.py @@ -2253,18 +2253,47 @@ def from_dict(cls, d: Any): class TadoMetadata(ResourceMapping): """Metadata for a tado° device. - :ivar device_type: Device type for a tado° device. + :ivar device_serial_numbers: Serial numbers of all tado° devices in the zone. - :ivar serial_no: Serial number for a tado° device.""" + :ivar device_type: Device type of the main tado° device in the zone, such as ``RU02``, ``VA02`` or ``WR02``. + :ivar home_generation: Generation of the tado° home, such as ``PRE_LINE_X``. + + :ivar home_id: ID of the tado° home. + + :ivar home_name: Name of the tado° home. + + :ivar serial_no: Serial number of the main tado° device in the zone, such as its wall thermostat or Smart AC Control. + + :ivar zone_id: ID of the tado° zone within its home. + + :ivar zone_name: Name of the tado° zone. + + :ivar zone_type: Type of the tado° zone: ``HEATING`` or ``AIR_CONDITIONING``. + """ + + device_serial_numbers: Optional[List[str]] device_type: Optional[str] + home_generation: Optional[str] + home_id: Optional[str] + home_name: Optional[str] serial_no: Optional[str] + zone_id: Optional[str] + zone_name: Optional[str] + zone_type: Optional[str] @classmethod def from_dict(cls, d: Any): return cls( + device_serial_numbers=d.get("device_serial_numbers", None), device_type=d.get("device_type", None), + home_generation=d.get("home_generation", None), + home_id=d.get("home_id", None), + home_name=d.get("home_name", None), serial_no=d.get("serial_no", None), + zone_id=d.get("zone_id", None), + zone_name=d.get("zone_name", None), + zone_type=d.get("zone_type", None), ) @dataclass