diff --git a/README.md b/README.md index b1cbc9d..f0163d9 100644 --- a/README.md +++ b/README.md @@ -29,12 +29,12 @@ functionality. The format of the log is based on [Keep a Changelog][keepchangelog]. Releases are based on [Semantic Versioning][semver], and use the format -of ``MAJOR.MINOR.PATCH``. In a nutshell, the version will be incremented +of `MAJOR.MINOR.PATCH`. In a nutshell, the version will be incremented based on the following: -- ``MAJOR``: Incompatible or major changes. -- ``MINOR``: Backwards-compatible new features and enhancements. -- ``PATCH``: Backwards-compatible bugfixes and package updates. +- `MAJOR`: Incompatible or major changes. +- `MINOR`: Backwards-compatible new features and enhancements. +- `PATCH`: Backwards-compatible bugfixes and package updates. ## Contributing @@ -92,179 +92,179 @@ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. - "License" shall mean the terms and conditions for use, reproduction, and - distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by the - copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all other - entities that control, are controlled by, or are under common control with - that entity. For the purposes of this definition, "control" means (i) the - power, direct or indirect, to cause the direction or management of such - entity, whether by contract or otherwise, or (ii) ownership of - fifty percent (50%) or more of the outstanding shares, or (iii) beneficial - ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity exercising - permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation source, - and configuration files. - - "Object" form shall mean any form resulting from mechanical transformation - or translation of a Source form, including but not limited to compiled - object code, generated documentation, and conversions to - other media types. - - "Work" shall mean the work of authorship, whether in Source or Object - form, made available under the License, as indicated by a copyright notice - that is included in or attached to the work (an example is provided in the - Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object form, - that is based on (or derived from) the Work and for which the editorial - revisions, annotations, elaborations, or other modifications represent, - as a whole, an original work of authorship. For the purposes of this - License, Derivative Works shall not include works that remain separable - from, or merely link (or bind by name) to the interfaces of, the Work and - Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including the original - version of the Work and any modifications or additions to that Work or - Derivative Works thereof, that is intentionally submitted to Licensor for - inclusion in the Work by the copyright owner or by an individual or - Legal Entity authorized to submit on behalf of the copyright owner. - For the purposes of this definition, "submitted" means any form of - electronic, verbal, or written communication sent to the Licensor or its - representatives, including but not limited to communication on electronic - mailing lists, source code control systems, and issue tracking systems - that are managed by, or on behalf of, the Licensor for the purpose of - discussing and improving the Work, but excluding communication that is - conspicuously marked or otherwise designated in writing by the copyright - owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity on - behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. + "License" shall mean the terms and conditions for use, reproduction, and + distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by the + copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all other + entities that control, are controlled by, or are under common control with + that entity. For the purposes of this definition, "control" means (i) the + power, direct or indirect, to cause the direction or management of such + entity, whether by contract or otherwise, or (ii) ownership of + fifty percent (50%) or more of the outstanding shares, or (iii) beneficial + ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity exercising + permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation source, + and configuration files. + + "Object" form shall mean any form resulting from mechanical transformation + or translation of a Source form, including but not limited to compiled + object code, generated documentation, and conversions to + other media types. + + "Work" shall mean the work of authorship, whether in Source or Object + form, made available under the License, as indicated by a copyright notice + that is included in or attached to the work (an example is provided in the + Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object form, + that is based on (or derived from) the Work and for which the editorial + revisions, annotations, elaborations, or other modifications represent, + as a whole, an original work of authorship. For the purposes of this + License, Derivative Works shall not include works that remain separable + from, or merely link (or bind by name) to the interfaces of, the Work and + Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including the original + version of the Work and any modifications or additions to that Work or + Derivative Works thereof, that is intentionally submitted to Licensor for + inclusion in the Work by the copyright owner or by an individual or + Legal Entity authorized to submit on behalf of the copyright owner. + For the purposes of this definition, "submitted" means any form of + electronic, verbal, or written communication sent to the Licensor or its + representatives, including but not limited to communication on electronic + mailing lists, source code control systems, and issue tracking systems + that are managed by, or on behalf of, the Licensor for the purpose of + discussing and improving the Work, but excluding communication that is + conspicuously marked or otherwise designated in writing by the copyright + owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity on + behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. 2. Grant of Copyright License. - Subject to the terms and conditions of this License, each Contributor - hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, - royalty-free, irrevocable copyright license to reproduce, prepare - Derivative Works of, publicly display, publicly perform, sublicense, - and distribute the Work and such Derivative Works in - Source or Object form. + Subject to the terms and conditions of this License, each Contributor + hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, + royalty-free, irrevocable copyright license to reproduce, prepare + Derivative Works of, publicly display, publicly perform, sublicense, + and distribute the Work and such Derivative Works in + Source or Object form. 3. Grant of Patent License. - Subject to the terms and conditions of this License, each Contributor - hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, - royalty-free, irrevocable (except as stated in this section) patent - license to make, have made, use, offer to sell, sell, import, and - otherwise transfer the Work, where such license applies only to those - patent claims licensable by such Contributor that are necessarily - infringed by their Contribution(s) alone or by combination of their - Contribution(s) with the Work to which such Contribution(s) was submitted. - If You institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work or a - Contribution incorporated within the Work constitutes direct or - contributory patent infringement, then any patent licenses granted to - You under this License for that Work shall terminate as of the date such - litigation is filed. + Subject to the terms and conditions of this License, each Contributor + hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, + royalty-free, irrevocable (except as stated in this section) patent + license to make, have made, use, offer to sell, sell, import, and + otherwise transfer the Work, where such license applies only to those + patent claims licensable by such Contributor that are necessarily + infringed by their Contribution(s) alone or by combination of their + Contribution(s) with the Work to which such Contribution(s) was submitted. + If You institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work or a + Contribution incorporated within the Work constitutes direct or + contributory patent infringement, then any patent licenses granted to + You under this License for that Work shall terminate as of the date such + litigation is filed. 4. Redistribution. - You may reproduce and distribute copies of the Work or Derivative Works - thereof in any medium, with or without modifications, and in Source or - Object form, provided that You meet the following conditions: - - 1. You must give any other recipients of the Work or Derivative Works a - copy of this License; and - - 2. You must cause any modified files to carry prominent notices stating - that You changed the files; and - - 3. You must retain, in the Source form of any Derivative Works that You - distribute, all copyright, patent, trademark, and attribution notices from - the Source form of the Work, excluding those notices that do not pertain - to any part of the Derivative Works; and - - 4. If the Work includes a "NOTICE" text file as part of its distribution, - then any Derivative Works that You distribute must include a readable copy - of the attribution notices contained within such NOTICE file, excluding - those notices that do not pertain to any part of the Derivative Works, - in at least one of the following places: within a NOTICE text file - distributed as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, within a - display generated by the Derivative Works, if and wherever such - third-party notices normally appear. The contents of the NOTICE file are - for informational purposes only and do not modify the License. - You may add Your own attribution notices within Derivative Works that You - distribute, alongside or as an addendum to the NOTICE text from the Work, - provided that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and may - provide additional or different license terms and conditions for use, - reproduction, or distribution of Your modifications, or for any such - Derivative Works as a whole, provided Your use, reproduction, and - distribution of the Work otherwise complies with the conditions - stated in this License. + You may reproduce and distribute copies of the Work or Derivative Works + thereof in any medium, with or without modifications, and in Source or + Object form, provided that You meet the following conditions: + + 1. You must give any other recipients of the Work or Derivative Works a + copy of this License; and + + 2. You must cause any modified files to carry prominent notices stating + that You changed the files; and + + 3. You must retain, in the Source form of any Derivative Works that You + distribute, all copyright, patent, trademark, and attribution notices from + the Source form of the Work, excluding those notices that do not pertain + to any part of the Derivative Works; and + + 4. If the Work includes a "NOTICE" text file as part of its distribution, + then any Derivative Works that You distribute must include a readable copy + of the attribution notices contained within such NOTICE file, excluding + those notices that do not pertain to any part of the Derivative Works, + in at least one of the following places: within a NOTICE text file + distributed as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, within a + display generated by the Derivative Works, if and wherever such + third-party notices normally appear. The contents of the NOTICE file are + for informational purposes only and do not modify the License. + You may add Your own attribution notices within Derivative Works that You + distribute, alongside or as an addendum to the NOTICE text from the Work, + provided that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and may + provide additional or different license terms and conditions for use, + reproduction, or distribution of Your modifications, or for any such + Derivative Works as a whole, provided Your use, reproduction, and + distribution of the Work otherwise complies with the conditions + stated in this License. 5. Submission of Contributions. - Unless You explicitly state otherwise, any Contribution intentionally - submitted for inclusion in the Work by You to the Licensor shall be under - the terms and conditions of this License, without any additional - terms or conditions. Notwithstanding the above, nothing herein shall - supersede or modify the terms of any separate license agreement you may - have executed with Licensor regarding such Contributions. + Unless You explicitly state otherwise, any Contribution intentionally + submitted for inclusion in the Work by You to the Licensor shall be under + the terms and conditions of this License, without any additional + terms or conditions. Notwithstanding the above, nothing herein shall + supersede or modify the terms of any separate license agreement you may + have executed with Licensor regarding such Contributions. 6. Trademarks. - This License does not grant permission to use the trade names, trademarks, - service marks, or product names of the Licensor, except as required for - reasonable and customary use in describing the origin of the Work and - reproducing the content of the NOTICE file. + This License does not grant permission to use the trade names, trademarks, + service marks, or product names of the Licensor, except as required for + reasonable and customary use in describing the origin of the Work and + reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. - Unless required by applicable law or agreed to in writing, Licensor - provides the Work (and each Contributor provides its Contributions) - on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - either express or implied, including, without limitation, any warranties - or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS - FOR A PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any risks - associated with Your exercise of permissions under this License. + Unless required by applicable law or agreed to in writing, Licensor + provides the Work (and each Contributor provides its Contributions) + on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + either express or implied, including, without limitation, any warranties + or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS + FOR A PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any risks + associated with Your exercise of permissions under this License. 8. Limitation of Liability. - In no event and under no legal theory, whether in tort - (including negligence), contract, or otherwise, unless required by - applicable law (such as deliberate and grossly negligent acts) or agreed - to in writing, shall any Contributor be liable to You for damages, - including any direct, indirect, special, incidental, or consequential - damages of any character arising as a result of this License or out of - the use or inability to use the Work (including but not limited to damages - for loss of goodwill, work stoppage, computer failure or malfunction, - or any and all other commercial damages or losses), even if such - Contributor has been advised of the possibility of such damages. + In no event and under no legal theory, whether in tort + (including negligence), contract, or otherwise, unless required by + applicable law (such as deliberate and grossly negligent acts) or agreed + to in writing, shall any Contributor be liable to You for damages, + including any direct, indirect, special, incidental, or consequential + damages of any character arising as a result of this License or out of + the use or inability to use the Work (including but not limited to damages + for loss of goodwill, work stoppage, computer failure or malfunction, + or any and all other commercial damages or losses), even if such + Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. - While redistributing the Work or Derivative Works thereof, You may choose - to offer, and charge a fee for, acceptance of support, warranty, - indemnity, or other liability obligations and/or rights consistent with - this License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf of any - other Contributor, and only if You agree to indemnify, defend, and hold - each Contributor harmless for any liability incurred by, or claims - asserted against, such Contributor by reason of your accepting any such - warranty or additional liability. + While redistributing the Work or Derivative Works thereof, You may choose + to offer, and charge a fee for, acceptance of support, warranty, + indemnity, or other liability obligations and/or rights consistent with + this License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf of any + other Contributor, and only if You agree to indemnify, defend, and hold + each Contributor harmless for any liability incurred by, or claims + asserted against, such Contributor by reason of your accepting any such + warranty or additional liability. END OF TERMS AND CONDITIONS diff --git a/src/pysmartthings/models.py b/src/pysmartthings/models.py index 6d82a27..09383c6 100644 --- a/src/pysmartthings/models.py +++ b/src/pysmartthings/models.py @@ -260,6 +260,16 @@ class OCF(DataClassORJSONMixin): firmware_version: str | None = field( metadata=field_options(alias="firmwareVersion"), default=None ) + model_code: str | None = field( + metadata=field_options(alias="modelCode"), default=None + ) + + @classmethod + def __post_deserialize__(cls, obj: OCF) -> OCF: + """Post deserialize hook.""" + if obj.model_code in {"", "NONE"}: + obj.model_code = None + return obj @dataclass diff --git a/tests/__snapshots__/test_device.ambr b/tests/__snapshots__/test_device.ambr index 196b4c5..54ba38d 100644 --- a/tests/__snapshots__/test_device.ambr +++ b/tests/__snapshots__/test_device.ambr @@ -42,6 +42,7 @@ 'hardware_version': '', 'last_signup': '2023-06-11T21:54:49.635578Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'HW-S801B', 'name': 'Samsung Soundbar S801B', 'platform_os': 'Tizen', @@ -538,6 +539,7 @@ 'hardware_version': '', 'last_signup': '2023-06-16T10:53:52.162548Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'QE55QN95CATXXU', 'name': 'Samsung QN95CA 55', 'platform_os': 'Tizen', @@ -609,6 +611,7 @@ 'hardware_version': '', 'last_signup': '2023-06-10T23:08:07.878281Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'QE55LS03BGUXXU', 'name': 'Samsung The Frame 55', 'platform_os': 'Tizen', @@ -781,6 +784,7 @@ 'hardware_version': 'Realtek', 'last_signup': '2024-03-07T08:19:55.568142Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'DA_WM_TP1_21_COMMON|20334241|20010002001711664AA3025700000000', 'name': '[washer] Samsung', 'platform_os': 'TizenRT 3.1', @@ -1080,6 +1084,7 @@ 'hardware_version': 'Realtek', 'last_signup': '2023-01-30T23:59:32.300072Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'DA_WM_TP1_21_COMMON|20314341|20010002001611664AA3025700000000', 'name': '[washer] Samsung', 'platform_os': 'TizenRT 3.1', @@ -1150,6 +1155,7 @@ 'hardware_version': '', 'last_signup': '2024-11-27T14:49:37.112881149Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'LS49CG954SUXXU', 'name': '49" Odyssey OLED G9', 'platform_os': 'Tizen', @@ -1316,6 +1322,7 @@ 'hardware_version': 'Realtek', 'last_signup': '2024-07-02T16:00:12.877393Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'DA_WM_TP1_21_COMMON|20348141|20010002001711024ACB020200080000', 'name': '[washer] Samsung', 'platform_os': 'TizenRT 3.1', @@ -1417,6 +1424,7 @@ 'hardware_version': 'MediaTek', 'last_signup': '2021-07-18T15:39:59.543550Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'DA_WM_TP2_20_COMMON|20260041|20010102001411F702A3020700000000', 'name': '[washer] Samsung', 'platform_os': 'TizenRT 2.0 + IPv6', @@ -1487,6 +1495,7 @@ 'hardware_version': '', 'last_signup': '2023-11-21T19:38:22.417421Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'QE75QN95AATXXC', 'name': 'Samsung QN95AA 75 TV', 'platform_os': 'Tizen', @@ -1541,6 +1550,7 @@ 'hardware_version': '', 'last_signup': '2021-03-16T17:03:48.301555Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'HW-Q950T', 'name': 'Samsung Soundbar Q950T', 'platform_os': 'Tizen', @@ -1612,6 +1622,7 @@ 'hardware_version': '', 'last_signup': '2024-05-07T20:33:44.141230Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'TQ55LS03BGUXXC', 'name': 'Samsung The Frame 55', 'platform_os': 'Tizen', @@ -1711,6 +1722,7 @@ 'hardware_version': '0-0', 'last_signup': '2020-08-28T18:07:38.502Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'QE65Q70RATXXC', 'name': '[TV] Samsung Q70 Series (65)', 'platform_os': '4.1.10', @@ -1792,6 +1804,7 @@ 'hardware_version': '1.0', 'last_signup': '2023-05-05T15:28:35.130155Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'ARTIK051_GB_WO_003|40423141|50030018001211510200000000000000', 'name': '[oven] Samsung', 'platform_os': 'TizenRT2.0', @@ -2039,6 +2052,7 @@ 'hardware_version': 'Realtek', 'last_signup': '2025-02-02T13:55:41.197590135Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'TP1X_REF_21K|00175041|00040141041811304104000020010000', 'name': 'Samsung-Refrigerator', 'platform_os': 'TizenRT 4.0', @@ -2122,6 +2136,7 @@ 'hardware_version': 'MediaTek', 'last_signup': '2021-07-18T15:42:54.398759Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'DA_WM_TP2_20_COMMON|20262941|300101020014110002A3030700000000', 'name': '[dryer] Samsung', 'platform_os': 'TizenRT 2.0 + IPv6', @@ -2338,6 +2353,7 @@ 'hardware_version': 'Realtek', 'last_signup': '2024-05-26T09:28:58.205485Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'TP1X_REF_21K|00156941|00050126001611304100000030010000', 'name': 'Samsung-Refrigerator', 'platform_os': 'TizenRT 3.1', @@ -2435,6 +2451,7 @@ 'hardware_version': 'MediaTek', 'last_signup': '2023-06-28T11:51:21.719695Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'DA_WM_TP2_20_COMMON|20260041|20010002011411A302A3020700000000', 'name': '[washer] Samsung', 'platform_os': 'TizenRT 2.0 + IPv6', @@ -2533,6 +2550,7 @@ 'hardware_version': 'MediaTek', 'last_signup': '2023-06-23T16:00:36.793123Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'DA_DF_TP2_20_COMMON|20299141|3801010200151107020100FF00000000', 'name': '[airdresser] Samsung', 'platform_os': 'TizenRT 2.0 + IPv6', @@ -2581,6 +2599,7 @@ 'hardware_version': '', 'last_signup': '2024-11-15T22:21:35.866223906Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'QE55LS03DAUXXN', 'name': 'Sound Sensor - 55 The Frame', 'platform_os': 'Tizen', @@ -2655,6 +2674,7 @@ 'hardware_version': '', 'last_signup': '2024-11-15T21:05:22.877333957Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'QE55LS03DAUXXN', 'name': '55 The Frame', 'platform_os': 'Tizen', @@ -2702,6 +2722,7 @@ 'hardware_version': '', 'last_signup': '2024-11-15T22:21:27.933740026Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'QE55LS03DAUXXN', 'name': 'Light Sensor - 55 The Frame', 'platform_os': 'Tizen', @@ -2757,6 +2778,7 @@ 'hardware_version': '', 'last_signup': '2024-11-15T22:59:59.590782562Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'HW-S701D', 'name': 'Ultra Slim Soundbar', 'platform_os': 'Tizen', @@ -2817,6 +2839,7 @@ 'hardware_version': None, 'last_signup': '2025-01-08T02:32:04.631093137Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': None, 'name': None, 'platform_os': None, @@ -2866,6 +2889,7 @@ 'hardware_version': None, 'last_signup': '2023-12-03T02:57:50.221205Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'TP6X_WW6500|FF1BE000|', 'name': 'Washer', 'platform_os': None, @@ -2964,6 +2988,7 @@ 'hardware_version': 'MediaTek', 'last_signup': '2024-10-17T16:31:50.161629012Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'ARA-WW-TP2-21-OT9700|10236341|60010523001511000600001200800000', 'name': '[room a/c] Samsung', 'platform_os': 'TizenRT 1.0 + IPv6', @@ -3176,6 +3201,7 @@ 'hardware_version': 'Realtek', 'last_signup': '2024-12-01T06:45:53.249899752Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'TP1X_REF_21K|00130443|00090026001610304100000021010000', 'name': 'Samsung-Refrigerator', 'platform_os': 'TizenRT 3.1', @@ -3388,6 +3414,7 @@ 'hardware_version': 'Realtek', 'last_signup': '2024-11-27T07:08:32.745636184Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'TP1X_REF_21K|00127643|00080020001610304100000020010000', 'name': 'Samsung-Refrigerator', 'platform_os': 'TizenRT 3.1', @@ -3402,6 +3429,237 @@ 'type': , 'viper': None, }), + dict({ + 'components': dict({ + 'cooler': dict({ + 'capabilities': list([ + , + , + , + , + , + , + , + , + ]), + 'id': 'cooler', + 'label': 'cooler', + 'manufacturer_category': , + 'user_category': None, + }), + 'cvroom': dict({ + 'capabilities': list([ + , + , + , + , + , + ]), + 'id': 'cvroom', + 'label': 'cvroom', + 'manufacturer_category': , + 'user_category': None, + }), + 'freezer': dict({ + 'capabilities': list([ + , + , + , + , + , + , + , + , + , + ]), + 'id': 'freezer', + 'label': 'freezer', + 'manufacturer_category': , + 'user_category': None, + }), + 'icemaker': dict({ + 'capabilities': list([ + , + , + , + ]), + 'id': 'icemaker', + 'label': 'icemaker', + 'manufacturer_category': , + 'user_category': None, + }), + 'icemaker-02': dict({ + 'capabilities': list([ + , + , + , + ]), + 'id': 'icemaker-02', + 'label': 'icemaker-02', + 'manufacturer_category': , + 'user_category': None, + }), + 'icemaker-03': dict({ + 'capabilities': list([ + , + , + , + ]), + 'id': 'icemaker-03', + 'label': 'icemaker-03', + 'manufacturer_category': , + 'user_category': None, + }), + 'main': dict({ + 'capabilities': list([ + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ]), + 'id': 'main', + 'label': 'main', + 'manufacturer_category': , + 'user_category': None, + }), + 'onedoor': dict({ + 'capabilities': list([ + , + , + , + , + , + , + , + , + , + ]), + 'id': 'onedoor', + 'label': 'onedoor', + 'manufacturer_category': , + 'user_category': None, + }), + 'pantry-01': dict({ + 'capabilities': list([ + , + , + , + , + , + , + ]), + 'id': 'pantry-01', + 'label': 'pantry-01', + 'manufacturer_category': , + 'user_category': None, + }), + 'pantry-02': dict({ + 'capabilities': list([ + , + , + , + , + , + , + ]), + 'id': 'pantry-02', + 'label': 'pantry-02', + 'manufacturer_category': , + 'user_category': None, + }), + 'scale-10': dict({ + 'capabilities': list([ + , + , + , + , + ]), + 'id': 'scale-10', + 'label': 'scale-10', + 'manufacturer_category': , + 'user_category': None, + }), + 'scale-11': dict({ + 'capabilities': list([ + , + , + ]), + 'id': 'scale-11', + 'label': 'scale-11', + 'manufacturer_category': , + 'user_category': None, + }), + 'specialzone-01': dict({ + 'capabilities': list([ + , + , + ]), + 'id': 'specialzone-01', + 'label': 'specialzone-01', + 'manufacturer_category': , + 'user_category': None, + }), + }), + 'device_id': '271d82e0-5b0c-e4b8-058e-cdf23a188610', + 'device_manufacturer_code': 'Samsung Electronics', + 'device_network_type': None, + 'device_type_id': None, + 'device_type_name': 'Samsung OCF Refrigerator', + 'hub': None, + 'label': 'Fridge', + 'location_id': '5274d210-9bd8-4a14-ae55-52a9ffeedfb7', + 'name': 'Samsung-Refrigerator', + 'ocf': dict({ + 'additional_auth_code_required': False, + 'device_type': 'oic.d.refrigerator', + 'firmware_version': 'A-RFWW-TP1-24-T4-COM_20250706', + 'hardware_version': 'Realtek', + 'last_signup': '2025-08-12T12:35:56.864318132Z', + 'manufacturer_name': 'Samsung Electronics', + 'model_code': 'RR39C7EC5B1/EF', + 'model_number': 'TP1X_REF_21K|00130445|00090026001610304100000021010000', + 'name': 'Samsung-Refrigerator', + 'platform_os': 'TizenRT 4.0', + 'platform_version': 'SYSTEM 2.0', + 'spec_version': 'core.1.1.0', + 'spec_version_vertical': '1.2.1', + 'transfer_candidate': True, + 'vendor_id': 'DA-REF-NORMAL-01011', + }), + 'parent_device_id': None, + 'room_id': 'b19fa610-62f8-4109-b9cc-47f85fcefd29', + 'type': , + 'viper': None, + }), ]) # --- # name: test_fetching_devices[devices_2] @@ -4232,6 +4490,7 @@ 'hardware_version': 'Realtek', 'last_signup': '2023-11-28T22:49:01.876575Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'TP1X_DA-KS-RANGE-0101X|40445041|5001011E031511010200000000000000', 'name': 'Samsung Range', 'platform_os': 'TizenRT 3.1', @@ -4319,6 +4578,7 @@ 'hardware_version': 'ARTIK051', 'last_signup': '2021-06-01T22:54:22.826697Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'DA_WM_A51_20_COMMON|20233741|3000000100111100020B000000000000', 'name': '[dryer] Samsung', 'platform_os': 'TizenRT 1.0 + IPv6', @@ -4388,6 +4648,7 @@ 'hardware_version': 'ARTIK051', 'last_signup': '2021-10-16T17:28:59.984202Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'DA_DW_A51_20_COMMON|30007242|40010201001311000101000000000000', 'name': '[dishwasher] Samsung', 'platform_os': 'TizenRT 1.0 + IPv6', @@ -4464,6 +4725,7 @@ 'hardware_version': 'MediaTek', 'last_signup': '2022-04-17T15:33:11.063457Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'TP2X_DA-KS-MICROWAVE-0101X|40436241|50040100011411000200000000000000', 'name': 'Samsung Microwave', 'platform_os': 'TizenRT 2.0 + IPv6', @@ -4649,6 +4911,7 @@ 'hardware_version': '', 'last_signup': '2021-07-27T01:19:40.244392Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': '24K_REF_LCD_FHUB9.0|00113141|0002034e051324200103000000000000', 'name': 'Family Hub', 'platform_os': 'Tizen', @@ -4737,6 +5000,7 @@ 'hardware_version': '1.0', 'last_signup': '2020-11-03T04:43:02.729Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'powerbot_7000_17M|50016055|80010404011141000100000000000000', 'name': '[robot vacuum] Samsung', 'platform_os': 'Tizen(3/0)', @@ -4834,6 +5098,7 @@ 'hardware_version': 'MediaTek', 'last_signup': '2021-06-01T22:52:13.923649Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'DA_WM_TP2_20_COMMON|20233741|2001000100131100022B010000000000', 'name': '[washer] Samsung', 'platform_os': 'TizenRT 2.0 + IPv6', @@ -4974,6 +5239,7 @@ 'hardware_version': 'MediaTek', 'last_signup': '2021-11-22T16:51:01.344572Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'DA_WM_TP2_20_COMMON|20260041|200100020014112302A3020700000000', 'name': '[washer] Samsung', 'platform_os': 'TizenRT 2.0 + IPv6', @@ -5266,6 +5532,7 @@ 'hardware_version': 'Realtek', 'last_signup': '2025-01-28T21:31:30.090416369Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'ARA-WW-TP1-22-COMMON|10229641|60010523001511014600083200800000', 'name': 'Samsung-Room-Air-Conditioner', 'platform_os': 'TizenRT 3.1', @@ -5320,6 +5587,7 @@ 'hardware_version': '', 'last_signup': '2024-10-26T02:58:36.491256384Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'HW-Q990C', 'name': 'Soundbar Living', 'platform_os': 'Tizen', @@ -5370,6 +5638,7 @@ 'hardware_version': '', 'last_signup': '2025-01-29T22:00:53.860224354Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'MIM-H04N|240611|61FFFF00001411000000000000000000', 'name': '[system a/c] Samsung', 'platform_os': 'Tizen', @@ -5442,6 +5711,7 @@ 'hardware_version': '', 'last_signup': '2025-01-29T22:00:56.103552240Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'SAC_RAC|230127|610C0A00001700890400010000000000', 'name': 'Air Conditioner', 'platform_os': 'Tizen', @@ -5535,6 +5805,7 @@ 'hardware_version': 'Realtek', 'last_signup': '2025-01-28T21:37:25.560252649Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'ARA-WW-TP1-23-GLOBAL|10247441|60010535001711F54E00082200910000', 'name': 'Samsung-Room-Air-Conditioner', 'platform_os': 'TizenRT 3.1', @@ -5649,6 +5920,7 @@ 'hardware_version': '1.0', 'last_signup': '2021-04-06T16:43:27.889445Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'ARTIK051_KRAC_18K|10193441|60010132001111110200000000000000', 'name': '[room a/c] Samsung', 'platform_os': 'TizenRT2.0', @@ -6118,6 +6390,7 @@ 'hardware_version': '', 'last_signup': '2024-12-04T00:04:45.014259608Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'LS27BM501ENXZA', 'name': '27" Smart Monitor M5', 'platform_os': 'Tizen', @@ -6437,6 +6710,7 @@ 'hardware_version': 'MediaTek', 'last_signup': '2024-08-06T15:24:29.362093Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'TP2X_REF_20K|00115641|0004014D011411200103000020000000', 'name': '[refrigerator] Samsung', 'platform_os': 'TizenRT 1.0 + IPv6', @@ -7005,6 +7279,7 @@ 'hardware_version': '0-0', 'last_signup': '2021-08-21T18:52:56.748359Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'UN49MU8000', 'name': '[TV] Samsung 8 Series (49)', 'platform_os': '4.1.10', @@ -8637,6 +8912,7 @@ 'hardware_version': 'MediaTek', 'last_signup': '2025-01-10T17:54:58.789830031Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'TP2X_RAC_20K|10256941|60010519001411014600003200800000', 'name': 'Samsung-Room-Air-Conditioner', 'platform_os': 'TizenRT 2.0 + IPv6', @@ -8718,6 +8994,7 @@ 'hardware_version': 'MediaTek', 'last_signup': '2025-01-10T17:58:57.743228490Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'TP2X_RAC_20K|10256941|60010519001411014600003200800000', 'name': 'Samsung-Room-Air-Conditioner', 'platform_os': 'TizenRT 2.0 + IPv6', @@ -8792,6 +9069,7 @@ 'hardware_version': '', 'last_signup': '2024-09-10T10:22:36.130198Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'TQ65S90CATXXC', 'name': 'TV', 'platform_os': 'Tizen', @@ -8873,6 +9151,7 @@ 'hardware_version': 'MediaTek', 'last_signup': '2025-01-10T17:41:25.828330803Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'TP2X_RAC_20K|10217841|60010523001411014200003000000000', 'name': 'Samsung-Room-Air-Conditioner', 'platform_os': 'TizenRT 2.0 + IPv6', @@ -8954,6 +9233,7 @@ 'hardware_version': 'MediaTek', 'last_signup': '2025-01-10T18:05:33.189051506Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'TP2X_RAC_20K|10256941|60010519001411014600003200800000', 'name': 'Samsung-Room-Air-Conditioner', 'platform_os': 'TizenRT 2.0 + IPv6', @@ -9035,6 +9315,7 @@ 'hardware_version': 'MediaTek', 'last_signup': '2025-01-10T17:50:04.649099407Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': 'TP2X_RAC_20K|10217841|60010519001411014200003000000000', 'name': 'Samsung-Room-Air-Conditioner', 'platform_os': 'TizenRT 2.0 + IPv6', @@ -9081,6 +9362,7 @@ 'hardware_version': '', 'last_signup': '2021-07-27T01:19:40.244392Z', 'manufacturer_name': 'Samsung Electronics', + 'model_code': None, 'model_number': '24K_REF_LCD_FHUB9.0|00113141|0002034e051324200103000000000000', 'name': 'Family Hub', 'platform_os': 'Tizen', @@ -10903,6 +11185,7 @@ 'hwVersion': 'Realtek', 'lastSignupTime': '2024-12-01T06:45:53.249899752Z', 'manufacturerName': 'Samsung Electronics', + 'modelCode': 'NONE', 'modelNumber': 'TP1X_REF_21K|00130443|00090026001610304100000021010000', 'name': 'Samsung-Refrigerator', 'ocfDeviceType': 'oic.d.refrigerator', @@ -11421,6 +11704,7 @@ 'hwVersion': 'Realtek', 'lastSignupTime': '2024-11-27T07:08:32.745636184Z', 'manufacturerName': 'Samsung Electronics', + 'modelCode': '', 'modelNumber': 'TP1X_REF_21K|00127643|00080020001610304100000020010000', 'name': 'Samsung-Refrigerator', 'ocfDeviceType': 'oic.d.refrigerator', @@ -11443,6 +11727,590 @@ 'roomId': '14591410-f1b4-4e5a-af3f-2dd0424c580a', 'type': 'OCF', }), + dict({ + 'allowed': None, + 'components': list([ + dict({ + 'capabilities': list([ + dict({ + 'id': 'contactSensor', + 'version': 1, + }), + dict({ + 'id': 'execute', + 'version': 1, + }), + dict({ + 'id': 'ocf', + 'version': 1, + }), + dict({ + 'id': 'powerConsumptionReport', + 'version': 1, + }), + dict({ + 'id': 'demandResponseLoadControl', + 'version': 1, + }), + dict({ + 'id': 'refresh', + 'version': 1, + }), + dict({ + 'id': 'refrigeration', + 'version': 1, + }), + dict({ + 'id': 'temperatureMeasurement', + 'version': 1, + }), + dict({ + 'id': 'thermostatCoolingSetpoint', + 'version': 1, + }), + dict({ + 'id': 'custom.deodorFilter', + 'version': 1, + }), + dict({ + 'id': 'custom.dustFilter', + 'version': 1, + }), + dict({ + 'id': 'custom.deviceReportStateConfiguration', + 'version': 1, + }), + dict({ + 'id': 'custom.energyType', + 'version': 1, + }), + dict({ + 'id': 'custom.fridgeMode', + 'version': 1, + }), + dict({ + 'id': 'custom.disabledCapabilities', + 'version': 1, + }), + dict({ + 'id': 'custom.disabledComponents', + 'version': 1, + }), + dict({ + 'id': 'custom.waterFilter', + 'version': 1, + }), + dict({ + 'id': 'samsungce.softwareUpdate', + 'version': 1, + }), + dict({ + 'id': 'samsungce.deviceIdentification', + 'version': 1, + }), + dict({ + 'id': 'samsungce.driverVersion', + 'version': 1, + }), + dict({ + 'id': 'samsungce.driverState', + 'version': 1, + }), + dict({ + 'id': 'samsungce.fridgeVacationMode', + 'version': 1, + }), + dict({ + 'id': 'samsungce.powerCool', + 'version': 1, + }), + dict({ + 'id': 'samsungce.powerFreeze', + 'version': 1, + }), + dict({ + 'id': 'samsungce.sabbathMode', + 'version': 1, + }), + dict({ + 'id': 'samsungce.selfCheck', + 'version': 1, + }), + dict({ + 'id': 'samsungce.viewInside', + 'version': 1, + }), + dict({ + 'id': 'samsungce.fridgeWelcomeLighting', + 'version': 1, + }), + dict({ + 'id': 'samsungce.quickControl', + 'version': 1, + }), + dict({ + 'id': 'samsungce.softwareVersion', + 'version': 1, + }), + dict({ + 'id': 'sec.diagnosticsInformation', + 'version': 1, + }), + dict({ + 'id': 'sec.wifiConfiguration', + 'version': 1, + }), + dict({ + 'ephemeral': True, + 'id': 'sec.smartthingsHub', + 'version': 1, + }), + ]), + 'categories': list([ + dict({ + 'categoryType': 'manufacturer', + 'name': 'Refrigerator', + }), + ]), + 'id': 'main', + 'label': 'main', + 'optional': False, + }), + dict({ + 'capabilities': list([ + dict({ + 'id': 'contactSensor', + 'version': 1, + }), + dict({ + 'id': 'temperatureMeasurement', + 'version': 1, + }), + dict({ + 'id': 'thermostatCoolingSetpoint', + 'version': 1, + }), + dict({ + 'id': 'custom.disabledCapabilities', + 'version': 1, + }), + dict({ + 'id': 'custom.fridgeMode', + 'version': 1, + }), + dict({ + 'id': 'custom.thermostatSetpointControl', + 'version': 1, + }), + dict({ + 'id': 'samsungce.temperatureSetting', + 'version': 1, + }), + dict({ + 'id': 'samsungce.freezerConvertMode', + 'version': 1, + }), + dict({ + 'id': 'samsungce.unavailableCapabilities', + 'version': 1, + }), + ]), + 'categories': list([ + dict({ + 'categoryType': 'manufacturer', + 'name': 'Other', + }), + ]), + 'id': 'freezer', + 'label': 'freezer', + 'optional': False, + }), + dict({ + 'capabilities': list([ + dict({ + 'id': 'contactSensor', + 'version': 1, + }), + dict({ + 'id': 'temperatureMeasurement', + 'version': 1, + }), + dict({ + 'id': 'thermostatCoolingSetpoint', + 'version': 1, + }), + dict({ + 'id': 'custom.disabledCapabilities', + 'version': 1, + }), + dict({ + 'id': 'custom.fridgeMode', + 'version': 1, + }), + dict({ + 'id': 'custom.thermostatSetpointControl', + 'version': 1, + }), + dict({ + 'id': 'samsungce.temperatureSetting', + 'version': 1, + }), + dict({ + 'id': 'samsungce.unavailableCapabilities', + 'version': 1, + }), + ]), + 'categories': list([ + dict({ + 'categoryType': 'manufacturer', + 'name': 'Other', + }), + ]), + 'id': 'cooler', + 'label': 'cooler', + 'optional': False, + }), + dict({ + 'capabilities': list([ + dict({ + 'id': 'contactSensor', + 'version': 1, + }), + dict({ + 'id': 'temperatureMeasurement', + 'version': 1, + }), + dict({ + 'id': 'thermostatCoolingSetpoint', + 'version': 1, + }), + dict({ + 'id': 'custom.disabledCapabilities', + 'version': 1, + }), + dict({ + 'id': 'custom.fridgeMode', + 'version': 1, + }), + ]), + 'categories': list([ + dict({ + 'categoryType': 'manufacturer', + 'name': 'Other', + }), + ]), + 'id': 'cvroom', + 'label': 'cvroom', + 'optional': False, + }), + dict({ + 'capabilities': list([ + dict({ + 'id': 'contactSensor', + 'version': 1, + }), + dict({ + 'id': 'temperatureMeasurement', + 'version': 1, + }), + dict({ + 'id': 'thermostatCoolingSetpoint', + 'version': 1, + }), + dict({ + 'id': 'custom.disabledCapabilities', + 'version': 1, + }), + dict({ + 'id': 'custom.fridgeMode', + 'version': 1, + }), + dict({ + 'id': 'custom.thermostatSetpointControl', + 'version': 1, + }), + dict({ + 'id': 'samsungce.temperatureSetting', + 'version': 1, + }), + dict({ + 'id': 'samsungce.freezerConvertMode', + 'version': 1, + }), + dict({ + 'id': 'samsungce.unavailableCapabilities', + 'version': 1, + }), + ]), + 'categories': list([ + dict({ + 'categoryType': 'manufacturer', + 'name': 'Other', + }), + ]), + 'id': 'onedoor', + 'label': 'onedoor', + 'optional': False, + }), + dict({ + 'capabilities': list([ + dict({ + 'id': 'switch', + 'version': 1, + }), + dict({ + 'id': 'samsungce.fridgeIcemakerInfo', + 'version': 1, + }), + dict({ + 'id': 'custom.disabledCapabilities', + 'version': 1, + }), + ]), + 'categories': list([ + dict({ + 'categoryType': 'manufacturer', + 'name': 'Other', + }), + ]), + 'id': 'icemaker', + 'label': 'icemaker', + 'optional': False, + }), + dict({ + 'capabilities': list([ + dict({ + 'id': 'switch', + 'version': 1, + }), + dict({ + 'id': 'samsungce.fridgeIcemakerInfo', + 'version': 1, + }), + dict({ + 'id': 'custom.disabledCapabilities', + 'version': 1, + }), + ]), + 'categories': list([ + dict({ + 'categoryType': 'manufacturer', + 'name': 'Other', + }), + ]), + 'id': 'icemaker-02', + 'label': 'icemaker-02', + 'optional': False, + }), + dict({ + 'capabilities': list([ + dict({ + 'id': 'switch', + 'version': 1, + }), + dict({ + 'id': 'samsungce.fridgeIcemakerInfo', + 'version': 1, + }), + dict({ + 'id': 'custom.disabledCapabilities', + 'version': 1, + }), + ]), + 'categories': list([ + dict({ + 'categoryType': 'manufacturer', + 'name': 'Other', + }), + ]), + 'id': 'icemaker-03', + 'label': 'icemaker-03', + 'optional': False, + }), + dict({ + 'capabilities': list([ + dict({ + 'id': 'samsungce.weightMeasurement', + 'version': 1, + }), + dict({ + 'id': 'samsungce.weightMeasurementCalibration', + 'version': 1, + }), + dict({ + 'id': 'samsungce.connectionState', + 'version': 1, + }), + dict({ + 'id': 'custom.disabledCapabilities', + 'version': 1, + }), + ]), + 'categories': list([ + dict({ + 'categoryType': 'manufacturer', + 'name': 'Other', + }), + ]), + 'id': 'scale-10', + 'label': 'scale-10', + 'optional': False, + }), + dict({ + 'capabilities': list([ + dict({ + 'id': 'samsungce.weightMeasurement', + 'version': 1, + }), + dict({ + 'id': 'custom.disabledCapabilities', + 'version': 1, + }), + ]), + 'categories': list([ + dict({ + 'categoryType': 'manufacturer', + 'name': 'Other', + }), + ]), + 'id': 'scale-11', + 'label': 'scale-11', + 'optional': False, + }), + dict({ + 'capabilities': list([ + dict({ + 'id': 'custom.fridgeMode', + 'version': 1, + }), + dict({ + 'id': 'samsungce.fridgePantryInfo', + 'version': 1, + }), + dict({ + 'id': 'samsungce.fridgePantryMode', + 'version': 1, + }), + dict({ + 'id': 'samsungce.meatAging', + 'version': 1, + }), + dict({ + 'id': 'samsungce.foodDefrost', + 'version': 1, + }), + dict({ + 'id': 'custom.disabledCapabilities', + 'version': 1, + }), + ]), + 'categories': list([ + dict({ + 'categoryType': 'manufacturer', + 'name': 'Other', + }), + ]), + 'id': 'pantry-01', + 'label': 'pantry-01', + 'optional': False, + }), + dict({ + 'capabilities': list([ + dict({ + 'id': 'custom.fridgeMode', + 'version': 1, + }), + dict({ + 'id': 'samsungce.fridgePantryInfo', + 'version': 1, + }), + dict({ + 'id': 'samsungce.fridgePantryMode', + 'version': 1, + }), + dict({ + 'id': 'samsungce.meatAging', + 'version': 1, + }), + dict({ + 'id': 'samsungce.foodDefrost', + 'version': 1, + }), + dict({ + 'id': 'custom.disabledCapabilities', + 'version': 1, + }), + ]), + 'categories': list([ + dict({ + 'categoryType': 'manufacturer', + 'name': 'Other', + }), + ]), + 'id': 'pantry-02', + 'label': 'pantry-02', + 'optional': False, + }), + dict({ + 'capabilities': list([ + dict({ + 'id': 'custom.fridgeMode', + 'version': 1, + }), + dict({ + 'id': 'custom.disabledCapabilities', + 'version': 1, + }), + ]), + 'categories': list([ + dict({ + 'categoryType': 'manufacturer', + 'name': 'Other', + }), + ]), + 'id': 'specialzone-01', + 'label': 'specialzone-01', + 'optional': False, + }), + ]), + 'createTime': '2025-08-12T12:35:56.924Z', + 'deviceId': '271d82e0-5b0c-e4b8-058e-cdf23a188610', + 'deviceManufacturerCode': 'Samsung Electronics', + 'deviceTypeName': 'Samsung OCF Refrigerator', + 'executionContext': 'CLOUD', + 'label': 'Fridge', + 'locationId': '5274d210-9bd8-4a14-ae55-52a9ffeedfb7', + 'manufacturerName': 'Samsung Electronics', + 'name': 'Samsung-Refrigerator', + 'ocf': dict({ + 'additionalAuthCodeRequired': False, + 'firmwareVersion': 'A-RFWW-TP1-24-T4-COM_20250706', + 'hwVersion': 'Realtek', + 'lastSignupTime': '2025-08-12T12:35:56.864318132Z', + 'manufacturerName': 'Samsung Electronics', + 'modelCode': 'RR39C7EC5B1/EF', + 'modelNumber': 'TP1X_REF_21K|00130445|00090026001610304100000021010000', + 'name': 'Samsung-Refrigerator', + 'ocfDeviceType': 'oic.d.refrigerator', + 'platformOS': 'TizenRT 4.0', + 'platformVersion': 'SYSTEM 2.0', + 'specVersion': 'core.1.1.0', + 'transferCandidate': True, + 'vendorId': 'DA-REF-NORMAL-01011', + 'vendorResourceClientServerVersion': 'MediaTek Release 250706', + 'verticalDomainSpecVersion': '1.2.1', + }), + 'ownerId': 'd40034d0-c87b-3fa6-da98-108c42c36a6b', + 'presentationId': 'DA-REF-NORMAL-01011', + 'profile': dict({ + 'id': '840ff773-857b-324b-a54e-ba31a8155c4d', + }), + 'relationships': list([ + ]), + 'restrictionTier': 0, + 'roomId': 'b19fa610-62f8-4109-b9cc-47f85fcefd29', + 'type': 'OCF', + }), ]), }), ]) diff --git a/tests/fixtures/device_status/da_ac_therac_01011.json b/tests/fixtures/device_status/da_ac_therac_01011.json index e7919cb..b576aeb 100644 --- a/tests/fixtures/device_status/da_ac_therac_01011.json +++ b/tests/fixtures/device_status/da_ac_therac_01011.json @@ -1,298 +1,264 @@ { - "components": { - "main": { - "samsungce.unavailableCapabilities": { - "unavailableCommands": { - "value": null - } - }, - "samsungce.alwaysOnSensing": { - "origins": { - "value": [], - "timestamp": "2025-03-06T23:31:05.535Z" - }, - "alwaysOn": { - "value": "off", - "timestamp": "2025-03-06T23:31:05.535Z" - } - }, - "refresh": {}, - "custom.thermostatSetpointControl": { - "minimumSetpoint": { - "value": 8, - "unit": "C", - "timestamp": "2025-03-07T05:06:27.498Z" - }, - "maximumSetpoint": { - "value": 30, - "unit": "C", - "timestamp": "2025-03-07T05:06:27.498Z" - } - }, - "airConditionerMode": { - "availableAcModes": { - "value": null - }, - "supportedAcModes": { - "value": [ - "auto", - "cool", - "dry", - "wind", - "heat" - ], - "timestamp": "2025-03-07T07:40:57.236Z" - }, - "airConditionerMode": { - "value": "heat", - "timestamp": "2025-03-07T07:40:57.236Z" - } - }, - "execute": { - "data": { - "value": { - "payload": { - "rt": [ - "oic.r.temperature" - ], - "if": [ - "oic.if.baseline", - "oic.if.s" - ], - "range": [ - 8, - 30 - ], - "units": "C", - "temperature": 20.0 - } - }, - "data": { - "href": "/temperature/current/0" - }, - "timestamp": "2025-02-03T06:05:54.925Z" - } - }, - "samsungce.deviceIdentification": { - "micomAssayCode": { - "value": null - }, - "modelName": { - "value": null - }, - "serialNumber": { - "value": null - }, - "serialNumberExtra": { - "value": null - }, - "modelClassificationCode": { - "value": null - }, - "description": { - "value": null - }, - "releaseYear": { - "value": 21, - "timestamp": "2024-10-24T07:46:24.038Z" - }, - "binaryId": { - "value": "ARA-WW-TP2-21-OT9700", - "timestamp": "2025-03-06T23:31:05.535Z" - } - }, - "custom.airConditionerOptionalMode": { - "supportedAcOptionalMode": { - "value": [ - "off", - "sleep", - "quiet", - "smart", - "speed" - ], - "timestamp": "2025-03-06T23:31:05.535Z" - }, - "acOptionalMode": { - "value": "off", - "timestamp": "2025-03-06T23:31:05.535Z" - } - }, - "samsungce.welcomeCooling": { - "latestRequestId": { - "value": null - }, - "operatingState": { - "value": null - } - }, - "switch": { - "switch": { - "value": "on", - "timestamp": "2025-03-06T23:31:05.535Z" - } - }, - "ocf": { - "st": { - "value": null - }, - "mndt": { - "value": null - }, - "mnfv": { - "value": "ARA-WW-TP2-21-OT9700_11210729", - "timestamp": "2024-11-07T23:06:27.538Z" - }, - "mnhw": { - "value": "MediaTek", - "timestamp": "2024-11-07T23:06:27.538Z" - }, - "di": { - "value": "d424e86b-15cf-79e2-48d5-480a6c0d18f9", - "timestamp": "2024-11-07T23:06:27.538Z" - }, - "mnsl": { - "value": "http://www.samsung.com", - "timestamp": "2024-11-07T23:06:27.538Z" - }, - "dmv": { - "value": "res.1.1.0,sh.1.1.0", - "timestamp": "2024-11-07T23:06:27.538Z" - }, - "n": { - "value": "[room a/c] Samsung", - "timestamp": "2024-11-07T23:06:27.538Z" - }, - "mnmo": { - "value": "ARA-WW-TP2-21-OT9700|10236341|60010523001511000600001200800000", - "timestamp": "2024-11-07T23:06:27.538Z" - }, - "vid": { - "value": "DA-AC-THERAC-01011", - "timestamp": "2024-11-07T23:06:27.538Z" - }, - "mnmn": { - "value": "Samsung Electronics", - "timestamp": "2024-11-07T23:06:27.538Z" - }, - "mnml": { - "value": "http://www.samsung.com", - "timestamp": "2024-11-07T23:06:27.538Z" - }, - "mnpv": { - "value": "DAWIT 2.0", - "timestamp": "2024-11-07T23:06:27.538Z" - }, - "mnos": { - "value": "TizenRT 1.0 + IPv6", - "timestamp": "2024-11-07T23:06:27.538Z" - }, - "pi": { - "value": "d424e86b-15cf-79e2-48d5-480a6c0d18f9", - "timestamp": "2024-11-07T23:06:27.538Z" - }, - "icv": { - "value": "core.1.1.0", - "timestamp": "2024-11-07T23:06:27.538Z" - } - }, - "airConditionerFanMode": { - "fanMode": { - "value": "auto", - "timestamp": "2025-03-06T23:31:05.535Z" - }, - "supportedAcFanModes": { - "value": [ - "auto", - "low", - "medium", - "high", - "turbo" - ], - "timestamp": "2025-03-06T23:31:05.535Z" - }, - "availableAcFanModes": { - "value": null - } - }, - "custom.disabledCapabilities": { - "disabledCapabilities": { - "value": [ - "samsungce.welcomeCooling", - "samsungce.alwaysOnSensing" - ], - "timestamp": "2024-10-24T23:31:03.376Z" - } - }, - "samsungce.softwareUpdate": { - "targetModule": { - "value": null - }, - "otnDUID": { - "value": "BDCPH4AIXBPHY", - "timestamp": "2025-03-06T23:31:05.535Z" - }, - "lastUpdatedDate": { - "value": null - }, - "availableModules": { - "value": [], - "timestamp": "2024-10-23T23:31:04.385Z" - }, - "newVersionAvailable": { - "value": false, - "timestamp": "2025-03-06T23:31:05.535Z" - }, - "operatingState": { - "value": null - }, - "progress": { - "value": null - } - }, - "samsungce.driverVersion": { - "versionNumber": { - "value": 24090101, - "timestamp": "2024-10-24T07:46:24.038Z" - } - }, - "fanOscillationMode": { - "supportedFanOscillationModes": { - "value": [ - "fixed", - "all", - "vertical", - "horizontal" - ], - "timestamp": "2025-03-06T23:31:05.535Z" - }, - "availableFanOscillationModes": { - "value": null - }, - "fanOscillationMode": { - "value": "vertical", - "timestamp": "2025-03-06T23:31:05.535Z" + "components": { + "main": { + "samsungce.unavailableCapabilities": { + "unavailableCommands": { + "value": null + } + }, + "samsungce.alwaysOnSensing": { + "origins": { + "value": [], + "timestamp": "2025-03-06T23:31:05.535Z" + }, + "alwaysOn": { + "value": "off", + "timestamp": "2025-03-06T23:31:05.535Z" + } + }, + "refresh": {}, + "custom.thermostatSetpointControl": { + "minimumSetpoint": { + "value": 8, + "unit": "C", + "timestamp": "2025-03-07T05:06:27.498Z" + }, + "maximumSetpoint": { + "value": 30, + "unit": "C", + "timestamp": "2025-03-07T05:06:27.498Z" + } + }, + "airConditionerMode": { + "availableAcModes": { + "value": null + }, + "supportedAcModes": { + "value": ["auto", "cool", "dry", "wind", "heat"], + "timestamp": "2025-03-07T07:40:57.236Z" + }, + "airConditionerMode": { + "value": "heat", + "timestamp": "2025-03-07T07:40:57.236Z" + } + }, + "execute": { + "data": { + "value": { + "payload": { + "rt": ["oic.r.temperature"], + "if": ["oic.if.baseline", "oic.if.s"], + "range": [8, 30], + "units": "C", + "temperature": 20.0 } }, - "temperatureMeasurement": { - "temperatureRange": { - "value": null - }, - "temperature": { - "value": 23, - "unit": "C", - "timestamp": "2025-03-07T08:01:04.926Z" - } + "data": { + "href": "/temperature/current/0" }, - "thermostatCoolingSetpoint": { - "coolingSetpointRange": { - "value": null - }, - "coolingSetpoint": { - "value": 22, - "unit": "C", - "timestamp": "2025-03-07T05:06:27.498Z" - } - } + "timestamp": "2025-02-03T06:05:54.925Z" + } + }, + "samsungce.deviceIdentification": { + "micomAssayCode": { + "value": null + }, + "modelName": { + "value": null + }, + "serialNumber": { + "value": null + }, + "serialNumberExtra": { + "value": null + }, + "modelClassificationCode": { + "value": null + }, + "description": { + "value": null + }, + "releaseYear": { + "value": 21, + "timestamp": "2024-10-24T07:46:24.038Z" + }, + "binaryId": { + "value": "ARA-WW-TP2-21-OT9700", + "timestamp": "2025-03-06T23:31:05.535Z" + } + }, + "custom.airConditionerOptionalMode": { + "supportedAcOptionalMode": { + "value": ["off", "sleep", "quiet", "smart", "speed"], + "timestamp": "2025-03-06T23:31:05.535Z" + }, + "acOptionalMode": { + "value": "off", + "timestamp": "2025-03-06T23:31:05.535Z" + } + }, + "samsungce.welcomeCooling": { + "latestRequestId": { + "value": null + }, + "operatingState": { + "value": null + } + }, + "switch": { + "switch": { + "value": "on", + "timestamp": "2025-03-06T23:31:05.535Z" + } + }, + "ocf": { + "st": { + "value": null + }, + "mndt": { + "value": null + }, + "mnfv": { + "value": "ARA-WW-TP2-21-OT9700_11210729", + "timestamp": "2024-11-07T23:06:27.538Z" + }, + "mnhw": { + "value": "MediaTek", + "timestamp": "2024-11-07T23:06:27.538Z" + }, + "di": { + "value": "d424e86b-15cf-79e2-48d5-480a6c0d18f9", + "timestamp": "2024-11-07T23:06:27.538Z" + }, + "mnsl": { + "value": "http://www.samsung.com", + "timestamp": "2024-11-07T23:06:27.538Z" + }, + "dmv": { + "value": "res.1.1.0,sh.1.1.0", + "timestamp": "2024-11-07T23:06:27.538Z" + }, + "n": { + "value": "[room a/c] Samsung", + "timestamp": "2024-11-07T23:06:27.538Z" + }, + "mnmo": { + "value": "ARA-WW-TP2-21-OT9700|10236341|60010523001511000600001200800000", + "timestamp": "2024-11-07T23:06:27.538Z" + }, + "vid": { + "value": "DA-AC-THERAC-01011", + "timestamp": "2024-11-07T23:06:27.538Z" + }, + "mnmn": { + "value": "Samsung Electronics", + "timestamp": "2024-11-07T23:06:27.538Z" + }, + "mnml": { + "value": "http://www.samsung.com", + "timestamp": "2024-11-07T23:06:27.538Z" + }, + "mnpv": { + "value": "DAWIT 2.0", + "timestamp": "2024-11-07T23:06:27.538Z" + }, + "mnos": { + "value": "TizenRT 1.0 + IPv6", + "timestamp": "2024-11-07T23:06:27.538Z" + }, + "pi": { + "value": "d424e86b-15cf-79e2-48d5-480a6c0d18f9", + "timestamp": "2024-11-07T23:06:27.538Z" + }, + "icv": { + "value": "core.1.1.0", + "timestamp": "2024-11-07T23:06:27.538Z" + } + }, + "airConditionerFanMode": { + "fanMode": { + "value": "auto", + "timestamp": "2025-03-06T23:31:05.535Z" + }, + "supportedAcFanModes": { + "value": ["auto", "low", "medium", "high", "turbo"], + "timestamp": "2025-03-06T23:31:05.535Z" + }, + "availableAcFanModes": { + "value": null + } + }, + "custom.disabledCapabilities": { + "disabledCapabilities": { + "value": ["samsungce.welcomeCooling", "samsungce.alwaysOnSensing"], + "timestamp": "2024-10-24T23:31:03.376Z" + } + }, + "samsungce.softwareUpdate": { + "targetModule": { + "value": null + }, + "otnDUID": { + "value": "BDCPH4AIXBPHY", + "timestamp": "2025-03-06T23:31:05.535Z" + }, + "lastUpdatedDate": { + "value": null + }, + "availableModules": { + "value": [], + "timestamp": "2024-10-23T23:31:04.385Z" + }, + "newVersionAvailable": { + "value": false, + "timestamp": "2025-03-06T23:31:05.535Z" + }, + "operatingState": { + "value": null + }, + "progress": { + "value": null + } + }, + "samsungce.driverVersion": { + "versionNumber": { + "value": 24090101, + "timestamp": "2024-10-24T07:46:24.038Z" + } + }, + "fanOscillationMode": { + "supportedFanOscillationModes": { + "value": ["fixed", "all", "vertical", "horizontal"], + "timestamp": "2025-03-06T23:31:05.535Z" + }, + "availableFanOscillationModes": { + "value": null + }, + "fanOscillationMode": { + "value": "vertical", + "timestamp": "2025-03-06T23:31:05.535Z" + } + }, + "temperatureMeasurement": { + "temperatureRange": { + "value": null + }, + "temperature": { + "value": 23, + "unit": "C", + "timestamp": "2025-03-07T08:01:04.926Z" + } + }, + "thermostatCoolingSetpoint": { + "coolingSetpointRange": { + "value": null + }, + "coolingSetpoint": { + "value": 22, + "unit": "C", + "timestamp": "2025-03-07T05:06:27.498Z" } } } + } +} diff --git a/tests/fixtures/devices_18.json b/tests/fixtures/devices_18.json index 3f3d615..5d0e8a0 100644 --- a/tests/fixtures/devices_18.json +++ b/tests/fixtures/devices_18.json @@ -1,1161 +1,1746 @@ { - "items": [ - { - "deviceId": "d424e86b-15cf-79e2-48d5-480a6c0d18f9", + "items": [ + { + "deviceId": "d424e86b-15cf-79e2-48d5-480a6c0d18f9", + "name": "[room a/c] Samsung", + "label": "Rumsluftkonditionering", + "manufacturerName": "Samsung Electronics", + "presentationId": "DA-AC-THERAC-01011", + "deviceManufacturerCode": "Samsung Electronics", + "locationId": "f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19", + "ownerId": "83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a", + "roomId": "14591410-f1b4-4e5a-af3f-2dd0424c580a", + "deviceTypeName": "Samsung OCF Air Conditioner", + "components": [ + { + "id": "main", + "label": "main", + "capabilities": [ + { + "id": "ocf", + "version": 1 + }, + { + "id": "switch", + "version": 1 + }, + { + "id": "refresh", + "version": 1 + }, + { + "id": "execute", + "version": 1 + }, + { + "id": "airConditionerMode", + "version": 1 + }, + { + "id": "airConditionerFanMode", + "version": 1 + }, + { + "id": "fanOscillationMode", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.airConditionerOptionalMode", + "version": 1 + }, + { + "id": "custom.thermostatSetpointControl", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "samsungce.alwaysOnSensing", + "version": 1 + }, + { + "id": "samsungce.deviceIdentification", + "version": 1 + }, + { + "id": "samsungce.softwareUpdate", + "version": 1 + }, + { + "id": "samsungce.driverVersion", + "version": 1 + }, + { + "id": "samsungce.unavailableCapabilities", + "version": 1 + }, + { + "id": "samsungce.welcomeCooling", + "version": 1 + } + ], + "categories": [ + { + "name": "AirConditioner", + "categoryType": "manufacturer" + } + ] + } + ], + "createTime": "2024-10-17T16:31:53.794Z", + "profile": { + "id": "81d37656-87e9-3f45-b649-5cfd382830b7" + }, + "ocf": { + "ocfDeviceType": "oic.d.airconditioner", "name": "[room a/c] Samsung", - "label": "Rumsluftkonditionering", + "specVersion": "core.1.1.0", + "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", - "presentationId": "DA-AC-THERAC-01011", - "deviceManufacturerCode": "Samsung Electronics", - "locationId": "f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19", - "ownerId": "83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a", - "roomId": "14591410-f1b4-4e5a-af3f-2dd0424c580a", - "deviceTypeName": "Samsung OCF Air Conditioner", - "components": [ - { - "id": "main", - "label": "main", - "capabilities": [ - { - "id": "ocf", - "version": 1 - }, - { - "id": "switch", - "version": 1 - }, - { - "id": "refresh", - "version": 1 - }, - { - "id": "execute", - "version": 1 - }, - { - "id": "airConditionerMode", - "version": 1 - }, - { - "id": "airConditionerFanMode", - "version": 1 - }, - { - "id": "fanOscillationMode", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.airConditionerOptionalMode", - "version": 1 - }, - { - "id": "custom.thermostatSetpointControl", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "samsungce.alwaysOnSensing", - "version": 1 - }, - { - "id": "samsungce.deviceIdentification", - "version": 1 - }, - { - "id": "samsungce.softwareUpdate", - "version": 1 - }, - { - "id": "samsungce.driverVersion", - "version": 1 - }, - { - "id": "samsungce.unavailableCapabilities", - "version": 1 - }, - { - "id": "samsungce.welcomeCooling", - "version": 1 - } - ], - "categories": [ - { - "name": "AirConditioner", - "categoryType": "manufacturer" - } - ] - } - ], - "createTime": "2024-10-17T16:31:53.794Z", - "profile": { - "id": "81d37656-87e9-3f45-b649-5cfd382830b7" + "modelNumber": "ARA-WW-TP2-21-OT9700|10236341|60010523001511000600001200800000", + "platformVersion": "DAWIT 2.0", + "platformOS": "TizenRT 1.0 + IPv6", + "hwVersion": "MediaTek", + "firmwareVersion": "ARA-WW-TP2-21-OT9700_11210729", + "vendorId": "DA-AC-THERAC-01011", + "vendorResourceClientServerVersion": "MediaTek Release 2.210630.1", + "lastSignupTime": "2024-10-17T16:31:50.161629012Z", + "transferCandidate": false, + "additionalAuthCodeRequired": false + }, + "type": "OCF", + "restrictionTier": 0, + "allowed": [], + "executionContext": "CLOUD", + "relationships": [] + }, + { + "deviceId": "a4b78a08-11e6-6d41-2abc-dcbfddcfea65", + "name": "Samsung-Refrigerator", + "label": "Kylsk\u00e5p", + "manufacturerName": "Samsung Electronics", + "presentationId": "DA-REF-NORMAL-01011", + "deviceManufacturerCode": "Samsung Electronics", + "locationId": "f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19", + "ownerId": "83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a", + "roomId": "14591410-f1b4-4e5a-af3f-2dd0424c580a", + "deviceTypeName": "Samsung OCF Refrigerator", + "components": [ + { + "id": "main", + "label": "main", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "execute", + "version": 1 + }, + { + "id": "ocf", + "version": 1 + }, + { + "id": "powerConsumptionReport", + "version": 1 + }, + { + "id": "demandResponseLoadControl", + "version": 1 + }, + { + "id": "refresh", + "version": 1 + }, + { + "id": "refrigeration", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.deodorFilter", + "version": 1 + }, + { + "id": "custom.dustFilter", + "version": 1 + }, + { + "id": "custom.deviceReportStateConfiguration", + "version": 1 + }, + { + "id": "custom.energyType", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.disabledComponents", + "version": 1 + }, + { + "id": "custom.waterFilter", + "version": 1 + }, + { + "id": "samsungce.softwareUpdate", + "version": 1 + }, + { + "id": "samsungce.deviceIdentification", + "version": 1 + }, + { + "id": "samsungce.driverVersion", + "version": 1 + }, + { + "id": "samsungce.fridgeVacationMode", + "version": 1 + }, + { + "id": "samsungce.powerCool", + "version": 1 + }, + { + "id": "samsungce.powerFreeze", + "version": 1 + }, + { + "id": "samsungce.sabbathMode", + "version": 1 + }, + { + "id": "samsungce.selfCheck", + "version": 1 + }, + { + "id": "samsungce.viewInside", + "version": 1 + }, + { + "id": "samsungce.fridgeWelcomeLighting", + "version": 1 + }, + { + "id": "samsungce.quickControl", + "version": 1 + }, + { + "id": "sec.diagnosticsInformation", + "version": 1 + }, + { + "id": "sec.wifiConfiguration", + "version": 1 + } + ], + "categories": [ + { + "name": "Refrigerator", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "freezer", + "label": "freezer", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.thermostatSetpointControl", + "version": 1 + }, + { + "id": "samsungce.temperatureSetting", + "version": 1 + }, + { + "id": "samsungce.freezerConvertMode", + "version": 1 + }, + { + "id": "samsungce.unavailableCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "cooler", + "label": "cooler", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.thermostatSetpointControl", + "version": 1 + }, + { + "id": "samsungce.temperatureSetting", + "version": 1 + }, + { + "id": "samsungce.unavailableCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "cvroom", + "label": "cvroom", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "onedoor", + "label": "onedoor", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.thermostatSetpointControl", + "version": 1 + }, + { + "id": "samsungce.temperatureSetting", + "version": 1 + }, + { + "id": "samsungce.freezerConvertMode", + "version": 1 + }, + { + "id": "samsungce.unavailableCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "icemaker", + "label": "icemaker", + "capabilities": [ + { + "id": "switch", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "icemaker-02", + "label": "icemaker-02", + "capabilities": [ + { + "id": "switch", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "icemaker-03", + "label": "icemaker-03", + "capabilities": [ + { + "id": "switch", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] }, - "ocf": { - "ocfDeviceType": "oic.d.airconditioner", - "name": "[room a/c] Samsung", - "specVersion": "core.1.1.0", - "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", - "manufacturerName": "Samsung Electronics", - "modelNumber": "ARA-WW-TP2-21-OT9700|10236341|60010523001511000600001200800000", - "platformVersion": "DAWIT 2.0", - "platformOS": "TizenRT 1.0 + IPv6", - "hwVersion": "MediaTek", - "firmwareVersion": "ARA-WW-TP2-21-OT9700_11210729", - "vendorId": "DA-AC-THERAC-01011", - "vendorResourceClientServerVersion": "MediaTek Release 2.210630.1", - "lastSignupTime": "2024-10-17T16:31:50.161629012Z", - "transferCandidate": false, - "additionalAuthCodeRequired": false + { + "id": "scale-10", + "label": "scale-10", + "capabilities": [ + { + "id": "samsungce.weightMeasurement", + "version": 1 + }, + { + "id": "samsungce.weightMeasurementCalibration", + "version": 1 + }, + { + "id": "samsungce.connectionState", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] }, - "type": "OCF", - "restrictionTier": 0, - "allowed": [], - "executionContext": "CLOUD", - "relationships": [] + { + "id": "scale-11", + "label": "scale-11", + "capabilities": [ + { + "id": "samsungce.weightMeasurement", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "pantry-01", + "label": "pantry-01", + "capabilities": [ + { + "id": "samsungce.fridgePantryInfo", + "version": 1 + }, + { + "id": "samsungce.fridgePantryMode", + "version": 1 + }, + { + "id": "samsungce.meatAging", + "version": 1 + }, + { + "id": "samsungce.foodDefrost", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "pantry-02", + "label": "pantry-02", + "capabilities": [ + { + "id": "samsungce.fridgePantryInfo", + "version": 1 + }, + { + "id": "samsungce.fridgePantryMode", + "version": 1 + }, + { + "id": "samsungce.meatAging", + "version": 1 + }, + { + "id": "samsungce.foodDefrost", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + } + ], + "createTime": "2024-12-01T06:45:53.319Z", + "profile": { + "id": "37c7b355-bdaa-371b-b246-dbdf2a7f9c84" }, - { - "deviceId": "a4b78a08-11e6-6d41-2abc-dcbfddcfea65", + "ocf": { + "ocfDeviceType": "oic.d.refrigerator", "name": "Samsung-Refrigerator", - "label": "Kylsk\u00e5p", + "specVersion": "core.1.1.0", + "verticalDomainSpecVersion": "1.2.1", "manufacturerName": "Samsung Electronics", - "presentationId": "DA-REF-NORMAL-01011", - "deviceManufacturerCode": "Samsung Electronics", - "locationId": "f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19", - "ownerId": "83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a", - "roomId": "14591410-f1b4-4e5a-af3f-2dd0424c580a", - "deviceTypeName": "Samsung OCF Refrigerator", - "components": [ - { - "id": "main", - "label": "main", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "execute", - "version": 1 - }, - { - "id": "ocf", - "version": 1 - }, - { - "id": "powerConsumptionReport", - "version": 1 - }, - { - "id": "demandResponseLoadControl", - "version": 1 - }, - { - "id": "refresh", - "version": 1 - }, - { - "id": "refrigeration", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.deodorFilter", - "version": 1 - }, - { - "id": "custom.dustFilter", - "version": 1 - }, - { - "id": "custom.deviceReportStateConfiguration", - "version": 1 - }, - { - "id": "custom.energyType", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.disabledComponents", - "version": 1 - }, - { - "id": "custom.waterFilter", - "version": 1 - }, - { - "id": "samsungce.softwareUpdate", - "version": 1 - }, - { - "id": "samsungce.deviceIdentification", - "version": 1 - }, - { - "id": "samsungce.driverVersion", - "version": 1 - }, - { - "id": "samsungce.fridgeVacationMode", - "version": 1 - }, - { - "id": "samsungce.powerCool", - "version": 1 - }, - { - "id": "samsungce.powerFreeze", - "version": 1 - }, - { - "id": "samsungce.sabbathMode", - "version": 1 - }, - { - "id": "samsungce.selfCheck", - "version": 1 - }, - { - "id": "samsungce.viewInside", - "version": 1 - }, - { - "id": "samsungce.fridgeWelcomeLighting", - "version": 1 - }, - { - "id": "samsungce.quickControl", - "version": 1 - }, - { - "id": "sec.diagnosticsInformation", - "version": 1 - }, - { - "id": "sec.wifiConfiguration", - "version": 1 - } - ], - "categories": [ - { - "name": "Refrigerator", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "freezer", - "label": "freezer", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - }, - { - "id": "custom.thermostatSetpointControl", - "version": 1 - }, - { - "id": "samsungce.temperatureSetting", - "version": 1 - }, - { - "id": "samsungce.freezerConvertMode", - "version": 1 - }, - { - "id": "samsungce.unavailableCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "cooler", - "label": "cooler", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - }, - { - "id": "custom.thermostatSetpointControl", - "version": 1 - }, - { - "id": "samsungce.temperatureSetting", - "version": 1 - }, - { - "id": "samsungce.unavailableCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "cvroom", - "label": "cvroom", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "onedoor", - "label": "onedoor", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - }, - { - "id": "custom.thermostatSetpointControl", - "version": 1 - }, - { - "id": "samsungce.temperatureSetting", - "version": 1 - }, - { - "id": "samsungce.freezerConvertMode", - "version": 1 - }, - { - "id": "samsungce.unavailableCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "icemaker", - "label": "icemaker", - "capabilities": [ - { - "id": "switch", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "icemaker-02", - "label": "icemaker-02", - "capabilities": [ - { - "id": "switch", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "icemaker-03", - "label": "icemaker-03", - "capabilities": [ - { - "id": "switch", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "scale-10", - "label": "scale-10", - "capabilities": [ - { - "id": "samsungce.weightMeasurement", - "version": 1 - }, - { - "id": "samsungce.weightMeasurementCalibration", - "version": 1 - }, - { - "id": "samsungce.connectionState", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "scale-11", - "label": "scale-11", - "capabilities": [ - { - "id": "samsungce.weightMeasurement", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "pantry-01", - "label": "pantry-01", - "capabilities": [ - { - "id": "samsungce.fridgePantryInfo", - "version": 1 - }, - { - "id": "samsungce.fridgePantryMode", - "version": 1 - }, - { - "id": "samsungce.meatAging", - "version": 1 - }, - { - "id": "samsungce.foodDefrost", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "pantry-02", - "label": "pantry-02", - "capabilities": [ - { - "id": "samsungce.fridgePantryInfo", - "version": 1 - }, - { - "id": "samsungce.fridgePantryMode", - "version": 1 - }, - { - "id": "samsungce.meatAging", - "version": 1 - }, - { - "id": "samsungce.foodDefrost", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - } - ], - "createTime": "2024-12-01T06:45:53.319Z", - "profile": { - "id": "37c7b355-bdaa-371b-b246-dbdf2a7f9c84" + "modelNumber": "TP1X_REF_21K|00130443|00090026001610304100000021010000", + "platformVersion": "DAWIT 2.0", + "platformOS": "TizenRT 3.1", + "hwVersion": "Realtek", + "firmwareVersion": "A-RFWW-TP1-22-REV1_20241030", + "vendorId": "DA-REF-NORMAL-01011", + "vendorResourceClientServerVersion": "Realtek Release 3.1.240221", + "lastSignupTime": "2024-12-01T06:45:53.249899752Z", + "transferCandidate": false, + "additionalAuthCodeRequired": false, + "modelCode": "NONE" + }, + "type": "OCF", + "restrictionTier": 0, + "allowed": [], + "executionContext": "CLOUD", + "relationships": [] + }, + { + "deviceId": "b851a083-4b2c-9e68-e344-0312024e9fa0", + "name": "Samsung-Refrigerator", + "label": "Freezer", + "manufacturerName": "Samsung Electronics", + "presentationId": "DA-REF-NORMAL-01011", + "deviceManufacturerCode": "Samsung Electronics", + "locationId": "f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19", + "ownerId": "83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a", + "roomId": "14591410-f1b4-4e5a-af3f-2dd0424c580a", + "deviceTypeName": "Samsung OCF Refrigerator", + "components": [ + { + "id": "main", + "label": "main", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "execute", + "version": 1 + }, + { + "id": "ocf", + "version": 1 + }, + { + "id": "powerConsumptionReport", + "version": 1 + }, + { + "id": "demandResponseLoadControl", + "version": 1 + }, + { + "id": "refresh", + "version": 1 + }, + { + "id": "refrigeration", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.deodorFilter", + "version": 1 + }, + { + "id": "custom.dustFilter", + "version": 1 + }, + { + "id": "custom.deviceReportStateConfiguration", + "version": 1 + }, + { + "id": "custom.energyType", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.disabledComponents", + "version": 1 + }, + { + "id": "custom.waterFilter", + "version": 1 + }, + { + "id": "samsungce.softwareUpdate", + "version": 1 + }, + { + "id": "samsungce.deviceIdentification", + "version": 1 + }, + { + "id": "samsungce.driverVersion", + "version": 1 + }, + { + "id": "samsungce.fridgeVacationMode", + "version": 1 + }, + { + "id": "samsungce.powerCool", + "version": 1 + }, + { + "id": "samsungce.powerFreeze", + "version": 1 + }, + { + "id": "samsungce.sabbathMode", + "version": 1 + }, + { + "id": "samsungce.selfCheck", + "version": 1 + }, + { + "id": "samsungce.viewInside", + "version": 1 + }, + { + "id": "samsungce.fridgeWelcomeLighting", + "version": 1 + }, + { + "id": "samsungce.quickControl", + "version": 1 + }, + { + "id": "sec.diagnosticsInformation", + "version": 1 + }, + { + "id": "sec.wifiConfiguration", + "version": 1 + } + ], + "categories": [ + { + "name": "Refrigerator", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "freezer", + "label": "freezer", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.thermostatSetpointControl", + "version": 1 + }, + { + "id": "samsungce.temperatureSetting", + "version": 1 + }, + { + "id": "samsungce.freezerConvertMode", + "version": 1 + }, + { + "id": "samsungce.unavailableCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "cooler", + "label": "cooler", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.thermostatSetpointControl", + "version": 1 + }, + { + "id": "samsungce.temperatureSetting", + "version": 1 + }, + { + "id": "samsungce.unavailableCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "cvroom", + "label": "cvroom", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "onedoor", + "label": "onedoor", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.thermostatSetpointControl", + "version": 1 + }, + { + "id": "samsungce.temperatureSetting", + "version": 1 + }, + { + "id": "samsungce.freezerConvertMode", + "version": 1 + }, + { + "id": "samsungce.unavailableCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "icemaker", + "label": "icemaker", + "capabilities": [ + { + "id": "switch", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "icemaker-02", + "label": "icemaker-02", + "capabilities": [ + { + "id": "switch", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] }, - "ocf": { - "ocfDeviceType": "oic.d.refrigerator", - "name": "Samsung-Refrigerator", - "specVersion": "core.1.1.0", - "verticalDomainSpecVersion": "1.2.1", - "manufacturerName": "Samsung Electronics", - "modelNumber": "TP1X_REF_21K|00130443|00090026001610304100000021010000", - "platformVersion": "DAWIT 2.0", - "platformOS": "TizenRT 3.1", - "hwVersion": "Realtek", - "firmwareVersion": "A-RFWW-TP1-22-REV1_20241030", - "vendorId": "DA-REF-NORMAL-01011", - "vendorResourceClientServerVersion": "Realtek Release 3.1.240221", - "lastSignupTime": "2024-12-01T06:45:53.249899752Z", - "transferCandidate": false, - "additionalAuthCodeRequired": false + { + "id": "icemaker-03", + "label": "icemaker-03", + "capabilities": [ + { + "id": "switch", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] }, - "type": "OCF", - "restrictionTier": 0, - "allowed": [], - "executionContext": "CLOUD", - "relationships": [] + { + "id": "scale-10", + "label": "scale-10", + "capabilities": [ + { + "id": "samsungce.weightMeasurement", + "version": 1 + }, + { + "id": "samsungce.weightMeasurementCalibration", + "version": 1 + }, + { + "id": "samsungce.connectionState", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "scale-11", + "label": "scale-11", + "capabilities": [ + { + "id": "samsungce.weightMeasurement", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "pantry-01", + "label": "pantry-01", + "capabilities": [ + { + "id": "samsungce.fridgePantryInfo", + "version": 1 + }, + { + "id": "samsungce.fridgePantryMode", + "version": 1 + }, + { + "id": "samsungce.meatAging", + "version": 1 + }, + { + "id": "samsungce.foodDefrost", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "pantry-02", + "label": "pantry-02", + "capabilities": [ + { + "id": "samsungce.fridgePantryInfo", + "version": 1 + }, + { + "id": "samsungce.fridgePantryMode", + "version": 1 + }, + { + "id": "samsungce.meatAging", + "version": 1 + }, + { + "id": "samsungce.foodDefrost", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + } + ], + "createTime": "2024-06-18T15:47:42.985Z", + "profile": { + "id": "37c7b355-bdaa-371b-b246-dbdf2a7f9c84" }, - { - "deviceId": "b851a083-4b2c-9e68-e344-0312024e9fa0", + "ocf": { + "ocfDeviceType": "oic.d.refrigerator", "name": "Samsung-Refrigerator", - "label": "Freezer", + "specVersion": "core.1.1.0", + "verticalDomainSpecVersion": "1.2.1", "manufacturerName": "Samsung Electronics", - "presentationId": "DA-REF-NORMAL-01011", - "deviceManufacturerCode": "Samsung Electronics", - "locationId": "f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19", - "ownerId": "83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a", - "roomId": "14591410-f1b4-4e5a-af3f-2dd0424c580a", - "deviceTypeName": "Samsung OCF Refrigerator", - "components": [ - { - "id": "main", - "label": "main", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "execute", - "version": 1 - }, - { - "id": "ocf", - "version": 1 - }, - { - "id": "powerConsumptionReport", - "version": 1 - }, - { - "id": "demandResponseLoadControl", - "version": 1 - }, - { - "id": "refresh", - "version": 1 - }, - { - "id": "refrigeration", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.deodorFilter", - "version": 1 - }, - { - "id": "custom.dustFilter", - "version": 1 - }, - { - "id": "custom.deviceReportStateConfiguration", - "version": 1 - }, - { - "id": "custom.energyType", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.disabledComponents", - "version": 1 - }, - { - "id": "custom.waterFilter", - "version": 1 - }, - { - "id": "samsungce.softwareUpdate", - "version": 1 - }, - { - "id": "samsungce.deviceIdentification", - "version": 1 - }, - { - "id": "samsungce.driverVersion", - "version": 1 - }, - { - "id": "samsungce.fridgeVacationMode", - "version": 1 - }, - { - "id": "samsungce.powerCool", - "version": 1 - }, - { - "id": "samsungce.powerFreeze", - "version": 1 - }, - { - "id": "samsungce.sabbathMode", - "version": 1 - }, - { - "id": "samsungce.selfCheck", - "version": 1 - }, - { - "id": "samsungce.viewInside", - "version": 1 - }, - { - "id": "samsungce.fridgeWelcomeLighting", - "version": 1 - }, - { - "id": "samsungce.quickControl", - "version": 1 - }, - { - "id": "sec.diagnosticsInformation", - "version": 1 - }, - { - "id": "sec.wifiConfiguration", - "version": 1 - } - ], - "categories": [ - { - "name": "Refrigerator", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "freezer", - "label": "freezer", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - }, - { - "id": "custom.thermostatSetpointControl", - "version": 1 - }, - { - "id": "samsungce.temperatureSetting", - "version": 1 - }, - { - "id": "samsungce.freezerConvertMode", - "version": 1 - }, - { - "id": "samsungce.unavailableCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "cooler", - "label": "cooler", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - }, - { - "id": "custom.thermostatSetpointControl", - "version": 1 - }, - { - "id": "samsungce.temperatureSetting", - "version": 1 - }, - { - "id": "samsungce.unavailableCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "cvroom", - "label": "cvroom", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "onedoor", - "label": "onedoor", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - }, - { - "id": "custom.thermostatSetpointControl", - "version": 1 - }, - { - "id": "samsungce.temperatureSetting", - "version": 1 - }, - { - "id": "samsungce.freezerConvertMode", - "version": 1 - }, - { - "id": "samsungce.unavailableCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "icemaker", - "label": "icemaker", - "capabilities": [ - { - "id": "switch", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "icemaker-02", - "label": "icemaker-02", - "capabilities": [ - { - "id": "switch", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "icemaker-03", - "label": "icemaker-03", - "capabilities": [ - { - "id": "switch", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "scale-10", - "label": "scale-10", - "capabilities": [ - { - "id": "samsungce.weightMeasurement", - "version": 1 - }, - { - "id": "samsungce.weightMeasurementCalibration", - "version": 1 - }, - { - "id": "samsungce.connectionState", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "scale-11", - "label": "scale-11", - "capabilities": [ - { - "id": "samsungce.weightMeasurement", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "pantry-01", - "label": "pantry-01", - "capabilities": [ - { - "id": "samsungce.fridgePantryInfo", - "version": 1 - }, - { - "id": "samsungce.fridgePantryMode", - "version": 1 - }, - { - "id": "samsungce.meatAging", - "version": 1 - }, - { - "id": "samsungce.foodDefrost", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "pantry-02", - "label": "pantry-02", - "capabilities": [ - { - "id": "samsungce.fridgePantryInfo", - "version": 1 - }, - { - "id": "samsungce.fridgePantryMode", - "version": 1 - }, - { - "id": "samsungce.meatAging", - "version": 1 - }, - { - "id": "samsungce.foodDefrost", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - } - ], - "createTime": "2024-06-18T15:47:42.985Z", - "profile": { - "id": "37c7b355-bdaa-371b-b246-dbdf2a7f9c84" + "modelNumber": "TP1X_REF_21K|00127643|00080020001610304100000020010000", + "platformVersion": "DAWIT 2.0", + "platformOS": "TizenRT 3.1", + "hwVersion": "Realtek", + "firmwareVersion": "A-RFWW-TP1-22-REV1_20241030", + "vendorId": "DA-REF-NORMAL-01011", + "vendorResourceClientServerVersion": "Realtek Release 3.1.240221", + "lastSignupTime": "2024-11-27T07:08:32.745636184Z", + "transferCandidate": false, + "additionalAuthCodeRequired": false, + "modelCode": "" + }, + "type": "OCF", + "restrictionTier": 0, + "allowed": [], + "executionContext": "CLOUD", + "relationships": [] + }, + { + "deviceId": "271d82e0-5b0c-e4b8-058e-cdf23a188610", + "name": "Samsung-Refrigerator", + "label": "Fridge", + "manufacturerName": "Samsung Electronics", + "presentationId": "DA-REF-NORMAL-01011", + "deviceManufacturerCode": "Samsung Electronics", + "locationId": "5274d210-9bd8-4a14-ae55-52a9ffeedfb7", + "ownerId": "d40034d0-c87b-3fa6-da98-108c42c36a6b", + "roomId": "b19fa610-62f8-4109-b9cc-47f85fcefd29", + "deviceTypeName": "Samsung OCF Refrigerator", + "components": [ + { + "id": "main", + "label": "main", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "execute", + "version": 1 + }, + { + "id": "ocf", + "version": 1 + }, + { + "id": "powerConsumptionReport", + "version": 1 + }, + { + "id": "demandResponseLoadControl", + "version": 1 + }, + { + "id": "refresh", + "version": 1 + }, + { + "id": "refrigeration", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.deodorFilter", + "version": 1 + }, + { + "id": "custom.dustFilter", + "version": 1 + }, + { + "id": "custom.deviceReportStateConfiguration", + "version": 1 + }, + { + "id": "custom.energyType", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.disabledComponents", + "version": 1 + }, + { + "id": "custom.waterFilter", + "version": 1 + }, + { + "id": "samsungce.softwareUpdate", + "version": 1 + }, + { + "id": "samsungce.deviceIdentification", + "version": 1 + }, + { + "id": "samsungce.driverVersion", + "version": 1 + }, + { + "id": "samsungce.driverState", + "version": 1 + }, + { + "id": "samsungce.fridgeVacationMode", + "version": 1 + }, + { + "id": "samsungce.powerCool", + "version": 1 + }, + { + "id": "samsungce.powerFreeze", + "version": 1 + }, + { + "id": "samsungce.sabbathMode", + "version": 1 + }, + { + "id": "samsungce.selfCheck", + "version": 1 + }, + { + "id": "samsungce.viewInside", + "version": 1 + }, + { + "id": "samsungce.fridgeWelcomeLighting", + "version": 1 + }, + { + "id": "samsungce.quickControl", + "version": 1 + }, + { + "id": "samsungce.softwareVersion", + "version": 1 + }, + { + "id": "sec.diagnosticsInformation", + "version": 1 + }, + { + "id": "sec.wifiConfiguration", + "version": 1 + }, + { + "id": "sec.smartthingsHub", + "version": 1, + "ephemeral": true + } + ], + "categories": [ + { + "name": "Refrigerator", + "categoryType": "manufacturer" + } + ], + "optional": false + }, + { + "id": "freezer", + "label": "freezer", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.thermostatSetpointControl", + "version": 1 + }, + { + "id": "samsungce.temperatureSetting", + "version": 1 + }, + { + "id": "samsungce.freezerConvertMode", + "version": 1 + }, + { + "id": "samsungce.unavailableCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ], + "optional": false + }, + { + "id": "cooler", + "label": "cooler", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.thermostatSetpointControl", + "version": 1 + }, + { + "id": "samsungce.temperatureSetting", + "version": 1 + }, + { + "id": "samsungce.unavailableCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ], + "optional": false + }, + { + "id": "cvroom", + "label": "cvroom", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ], + "optional": false + }, + { + "id": "onedoor", + "label": "onedoor", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.thermostatSetpointControl", + "version": 1 + }, + { + "id": "samsungce.temperatureSetting", + "version": 1 + }, + { + "id": "samsungce.freezerConvertMode", + "version": 1 + }, + { + "id": "samsungce.unavailableCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ], + "optional": false + }, + { + "id": "icemaker", + "label": "icemaker", + "capabilities": [ + { + "id": "switch", + "version": 1 + }, + { + "id": "samsungce.fridgeIcemakerInfo", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ], + "optional": false }, - "ocf": { - "ocfDeviceType": "oic.d.refrigerator", - "name": "Samsung-Refrigerator", - "specVersion": "core.1.1.0", - "verticalDomainSpecVersion": "1.2.1", - "manufacturerName": "Samsung Electronics", - "modelNumber": "TP1X_REF_21K|00127643|00080020001610304100000020010000", - "platformVersion": "DAWIT 2.0", - "platformOS": "TizenRT 3.1", - "hwVersion": "Realtek", - "firmwareVersion": "A-RFWW-TP1-22-REV1_20241030", - "vendorId": "DA-REF-NORMAL-01011", - "vendorResourceClientServerVersion": "Realtek Release 3.1.240221", - "lastSignupTime": "2024-11-27T07:08:32.745636184Z", - "transferCandidate": false, - "additionalAuthCodeRequired": false + { + "id": "icemaker-02", + "label": "icemaker-02", + "capabilities": [ + { + "id": "switch", + "version": 1 + }, + { + "id": "samsungce.fridgeIcemakerInfo", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ], + "optional": false }, - "type": "OCF", - "restrictionTier": 0, - "allowed": [], - "executionContext": "CLOUD", - "relationships": [] - } - ], - "_links": {} - } + { + "id": "icemaker-03", + "label": "icemaker-03", + "capabilities": [ + { + "id": "switch", + "version": 1 + }, + { + "id": "samsungce.fridgeIcemakerInfo", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ], + "optional": false + }, + { + "id": "scale-10", + "label": "scale-10", + "capabilities": [ + { + "id": "samsungce.weightMeasurement", + "version": 1 + }, + { + "id": "samsungce.weightMeasurementCalibration", + "version": 1 + }, + { + "id": "samsungce.connectionState", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ], + "optional": false + }, + { + "id": "scale-11", + "label": "scale-11", + "capabilities": [ + { + "id": "samsungce.weightMeasurement", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ], + "optional": false + }, + { + "id": "pantry-01", + "label": "pantry-01", + "capabilities": [ + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "samsungce.fridgePantryInfo", + "version": 1 + }, + { + "id": "samsungce.fridgePantryMode", + "version": 1 + }, + { + "id": "samsungce.meatAging", + "version": 1 + }, + { + "id": "samsungce.foodDefrost", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ], + "optional": false + }, + { + "id": "pantry-02", + "label": "pantry-02", + "capabilities": [ + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "samsungce.fridgePantryInfo", + "version": 1 + }, + { + "id": "samsungce.fridgePantryMode", + "version": 1 + }, + { + "id": "samsungce.meatAging", + "version": 1 + }, + { + "id": "samsungce.foodDefrost", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ], + "optional": false + }, + { + "id": "specialzone-01", + "label": "specialzone-01", + "capabilities": [ + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ], + "optional": false + } + ], + "createTime": "2025-08-12T12:35:56.924Z", + "profile": { + "id": "840ff773-857b-324b-a54e-ba31a8155c4d" + }, + "ocf": { + "ocfDeviceType": "oic.d.refrigerator", + "name": "Samsung-Refrigerator", + "specVersion": "core.1.1.0", + "verticalDomainSpecVersion": "1.2.1", + "manufacturerName": "Samsung Electronics", + "modelNumber": "TP1X_REF_21K|00130445|00090026001610304100000021010000", + "platformVersion": "SYSTEM 2.0", + "platformOS": "TizenRT 4.0", + "hwVersion": "Realtek", + "firmwareVersion": "A-RFWW-TP1-24-T4-COM_20250706", + "vendorId": "DA-REF-NORMAL-01011", + "vendorResourceClientServerVersion": "MediaTek Release 250706", + "lastSignupTime": "2025-08-12T12:35:56.864318132Z", + "transferCandidate": true, + "additionalAuthCodeRequired": false, + "modelCode": "RR39C7EC5B1/EF" + }, + "type": "OCF", + "restrictionTier": 0, + "allowed": null, + "executionContext": "CLOUD", + "relationships": [] + } + ], + "_links": {} +} diff --git a/tests/fixtures/devices_continued.json b/tests/fixtures/devices_continued.json index 9b8dbdd..8e428ee 100644 --- a/tests/fixtures/devices_continued.json +++ b/tests/fixtures/devices_continued.json @@ -1,1165 +1,1165 @@ { - "items": [ - { - "deviceId": "d424e86b-15cf-79e2-48d5-480a6c0d18f9", + "items": [ + { + "deviceId": "d424e86b-15cf-79e2-48d5-480a6c0d18f9", + "name": "[room a/c] Samsung", + "label": "Rumsluftkonditionering", + "manufacturerName": "Samsung Electronics", + "presentationId": "DA-AC-THERAC-01011", + "deviceManufacturerCode": "Samsung Electronics", + "locationId": "f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19", + "ownerId": "83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a", + "roomId": "14591410-f1b4-4e5a-af3f-2dd0424c580a", + "deviceTypeName": "Samsung OCF Air Conditioner", + "components": [ + { + "id": "main", + "label": "main", + "capabilities": [ + { + "id": "ocf", + "version": 1 + }, + { + "id": "switch", + "version": 1 + }, + { + "id": "refresh", + "version": 1 + }, + { + "id": "execute", + "version": 1 + }, + { + "id": "airConditionerMode", + "version": 1 + }, + { + "id": "airConditionerFanMode", + "version": 1 + }, + { + "id": "fanOscillationMode", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.airConditionerOptionalMode", + "version": 1 + }, + { + "id": "custom.thermostatSetpointControl", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "samsungce.alwaysOnSensing", + "version": 1 + }, + { + "id": "samsungce.deviceIdentification", + "version": 1 + }, + { + "id": "samsungce.softwareUpdate", + "version": 1 + }, + { + "id": "samsungce.driverVersion", + "version": 1 + }, + { + "id": "samsungce.unavailableCapabilities", + "version": 1 + }, + { + "id": "samsungce.welcomeCooling", + "version": 1 + } + ], + "categories": [ + { + "name": "AirConditioner", + "categoryType": "manufacturer" + } + ] + } + ], + "createTime": "2024-10-17T16:31:53.794Z", + "profile": { + "id": "81d37656-87e9-3f45-b649-5cfd382830b7" + }, + "ocf": { + "ocfDeviceType": "oic.d.airconditioner", "name": "[room a/c] Samsung", - "label": "Rumsluftkonditionering", + "specVersion": "core.1.1.0", + "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", - "presentationId": "DA-AC-THERAC-01011", - "deviceManufacturerCode": "Samsung Electronics", - "locationId": "f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19", - "ownerId": "83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a", - "roomId": "14591410-f1b4-4e5a-af3f-2dd0424c580a", - "deviceTypeName": "Samsung OCF Air Conditioner", - "components": [ - { - "id": "main", - "label": "main", - "capabilities": [ - { - "id": "ocf", - "version": 1 - }, - { - "id": "switch", - "version": 1 - }, - { - "id": "refresh", - "version": 1 - }, - { - "id": "execute", - "version": 1 - }, - { - "id": "airConditionerMode", - "version": 1 - }, - { - "id": "airConditionerFanMode", - "version": 1 - }, - { - "id": "fanOscillationMode", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.airConditionerOptionalMode", - "version": 1 - }, - { - "id": "custom.thermostatSetpointControl", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "samsungce.alwaysOnSensing", - "version": 1 - }, - { - "id": "samsungce.deviceIdentification", - "version": 1 - }, - { - "id": "samsungce.softwareUpdate", - "version": 1 - }, - { - "id": "samsungce.driverVersion", - "version": 1 - }, - { - "id": "samsungce.unavailableCapabilities", - "version": 1 - }, - { - "id": "samsungce.welcomeCooling", - "version": 1 - } - ], - "categories": [ - { - "name": "AirConditioner", - "categoryType": "manufacturer" - } - ] - } - ], - "createTime": "2024-10-17T16:31:53.794Z", - "profile": { - "id": "81d37656-87e9-3f45-b649-5cfd382830b7" + "modelNumber": "ARA-WW-TP2-21-OT9700|10236341|60010523001511000600001200800000", + "platformVersion": "DAWIT 2.0", + "platformOS": "TizenRT 1.0 + IPv6", + "hwVersion": "MediaTek", + "firmwareVersion": "ARA-WW-TP2-21-OT9700_11210729", + "vendorId": "DA-AC-THERAC-01011", + "vendorResourceClientServerVersion": "MediaTek Release 2.210630.1", + "lastSignupTime": "2024-10-17T16:31:50.161629012Z", + "transferCandidate": false, + "additionalAuthCodeRequired": false + }, + "type": "OCF", + "restrictionTier": 0, + "allowed": [], + "executionContext": "CLOUD", + "relationships": [] + }, + { + "deviceId": "a4b78a08-11e6-6d41-2abc-dcbfddcfea65", + "name": "Samsung-Refrigerator", + "label": "Kylsk\u00e5p", + "manufacturerName": "Samsung Electronics", + "presentationId": "DA-REF-NORMAL-01011", + "deviceManufacturerCode": "Samsung Electronics", + "locationId": "f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19", + "ownerId": "83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a", + "roomId": "14591410-f1b4-4e5a-af3f-2dd0424c580a", + "deviceTypeName": "Samsung OCF Refrigerator", + "components": [ + { + "id": "main", + "label": "main", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "execute", + "version": 1 + }, + { + "id": "ocf", + "version": 1 + }, + { + "id": "powerConsumptionReport", + "version": 1 + }, + { + "id": "demandResponseLoadControl", + "version": 1 + }, + { + "id": "refresh", + "version": 1 + }, + { + "id": "refrigeration", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.deodorFilter", + "version": 1 + }, + { + "id": "custom.dustFilter", + "version": 1 + }, + { + "id": "custom.deviceReportStateConfiguration", + "version": 1 + }, + { + "id": "custom.energyType", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.disabledComponents", + "version": 1 + }, + { + "id": "custom.waterFilter", + "version": 1 + }, + { + "id": "samsungce.softwareUpdate", + "version": 1 + }, + { + "id": "samsungce.deviceIdentification", + "version": 1 + }, + { + "id": "samsungce.driverVersion", + "version": 1 + }, + { + "id": "samsungce.fridgeVacationMode", + "version": 1 + }, + { + "id": "samsungce.powerCool", + "version": 1 + }, + { + "id": "samsungce.powerFreeze", + "version": 1 + }, + { + "id": "samsungce.sabbathMode", + "version": 1 + }, + { + "id": "samsungce.selfCheck", + "version": 1 + }, + { + "id": "samsungce.viewInside", + "version": 1 + }, + { + "id": "samsungce.fridgeWelcomeLighting", + "version": 1 + }, + { + "id": "samsungce.quickControl", + "version": 1 + }, + { + "id": "sec.diagnosticsInformation", + "version": 1 + }, + { + "id": "sec.wifiConfiguration", + "version": 1 + } + ], + "categories": [ + { + "name": "Refrigerator", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "freezer", + "label": "freezer", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.thermostatSetpointControl", + "version": 1 + }, + { + "id": "samsungce.temperatureSetting", + "version": 1 + }, + { + "id": "samsungce.freezerConvertMode", + "version": 1 + }, + { + "id": "samsungce.unavailableCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "cooler", + "label": "cooler", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.thermostatSetpointControl", + "version": 1 + }, + { + "id": "samsungce.temperatureSetting", + "version": 1 + }, + { + "id": "samsungce.unavailableCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "cvroom", + "label": "cvroom", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "onedoor", + "label": "onedoor", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.thermostatSetpointControl", + "version": 1 + }, + { + "id": "samsungce.temperatureSetting", + "version": 1 + }, + { + "id": "samsungce.freezerConvertMode", + "version": 1 + }, + { + "id": "samsungce.unavailableCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "icemaker", + "label": "icemaker", + "capabilities": [ + { + "id": "switch", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] }, - "ocf": { - "ocfDeviceType": "oic.d.airconditioner", - "name": "[room a/c] Samsung", - "specVersion": "core.1.1.0", - "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", - "manufacturerName": "Samsung Electronics", - "modelNumber": "ARA-WW-TP2-21-OT9700|10236341|60010523001511000600001200800000", - "platformVersion": "DAWIT 2.0", - "platformOS": "TizenRT 1.0 + IPv6", - "hwVersion": "MediaTek", - "firmwareVersion": "ARA-WW-TP2-21-OT9700_11210729", - "vendorId": "DA-AC-THERAC-01011", - "vendorResourceClientServerVersion": "MediaTek Release 2.210630.1", - "lastSignupTime": "2024-10-17T16:31:50.161629012Z", - "transferCandidate": false, - "additionalAuthCodeRequired": false + { + "id": "icemaker-02", + "label": "icemaker-02", + "capabilities": [ + { + "id": "switch", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] }, - "type": "OCF", - "restrictionTier": 0, - "allowed": [], - "executionContext": "CLOUD", - "relationships": [] + { + "id": "icemaker-03", + "label": "icemaker-03", + "capabilities": [ + { + "id": "switch", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "scale-10", + "label": "scale-10", + "capabilities": [ + { + "id": "samsungce.weightMeasurement", + "version": 1 + }, + { + "id": "samsungce.weightMeasurementCalibration", + "version": 1 + }, + { + "id": "samsungce.connectionState", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "scale-11", + "label": "scale-11", + "capabilities": [ + { + "id": "samsungce.weightMeasurement", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "pantry-01", + "label": "pantry-01", + "capabilities": [ + { + "id": "samsungce.fridgePantryInfo", + "version": 1 + }, + { + "id": "samsungce.fridgePantryMode", + "version": 1 + }, + { + "id": "samsungce.meatAging", + "version": 1 + }, + { + "id": "samsungce.foodDefrost", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "pantry-02", + "label": "pantry-02", + "capabilities": [ + { + "id": "samsungce.fridgePantryInfo", + "version": 1 + }, + { + "id": "samsungce.fridgePantryMode", + "version": 1 + }, + { + "id": "samsungce.meatAging", + "version": 1 + }, + { + "id": "samsungce.foodDefrost", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + } + ], + "createTime": "2024-12-01T06:45:53.319Z", + "profile": { + "id": "37c7b355-bdaa-371b-b246-dbdf2a7f9c84" }, - { - "deviceId": "a4b78a08-11e6-6d41-2abc-dcbfddcfea65", + "ocf": { + "ocfDeviceType": "oic.d.refrigerator", "name": "Samsung-Refrigerator", - "label": "Kylsk\u00e5p", + "specVersion": "core.1.1.0", + "verticalDomainSpecVersion": "1.2.1", "manufacturerName": "Samsung Electronics", - "presentationId": "DA-REF-NORMAL-01011", - "deviceManufacturerCode": "Samsung Electronics", - "locationId": "f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19", - "ownerId": "83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a", - "roomId": "14591410-f1b4-4e5a-af3f-2dd0424c580a", - "deviceTypeName": "Samsung OCF Refrigerator", - "components": [ - { - "id": "main", - "label": "main", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "execute", - "version": 1 - }, - { - "id": "ocf", - "version": 1 - }, - { - "id": "powerConsumptionReport", - "version": 1 - }, - { - "id": "demandResponseLoadControl", - "version": 1 - }, - { - "id": "refresh", - "version": 1 - }, - { - "id": "refrigeration", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.deodorFilter", - "version": 1 - }, - { - "id": "custom.dustFilter", - "version": 1 - }, - { - "id": "custom.deviceReportStateConfiguration", - "version": 1 - }, - { - "id": "custom.energyType", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.disabledComponents", - "version": 1 - }, - { - "id": "custom.waterFilter", - "version": 1 - }, - { - "id": "samsungce.softwareUpdate", - "version": 1 - }, - { - "id": "samsungce.deviceIdentification", - "version": 1 - }, - { - "id": "samsungce.driverVersion", - "version": 1 - }, - { - "id": "samsungce.fridgeVacationMode", - "version": 1 - }, - { - "id": "samsungce.powerCool", - "version": 1 - }, - { - "id": "samsungce.powerFreeze", - "version": 1 - }, - { - "id": "samsungce.sabbathMode", - "version": 1 - }, - { - "id": "samsungce.selfCheck", - "version": 1 - }, - { - "id": "samsungce.viewInside", - "version": 1 - }, - { - "id": "samsungce.fridgeWelcomeLighting", - "version": 1 - }, - { - "id": "samsungce.quickControl", - "version": 1 - }, - { - "id": "sec.diagnosticsInformation", - "version": 1 - }, - { - "id": "sec.wifiConfiguration", - "version": 1 - } - ], - "categories": [ - { - "name": "Refrigerator", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "freezer", - "label": "freezer", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - }, - { - "id": "custom.thermostatSetpointControl", - "version": 1 - }, - { - "id": "samsungce.temperatureSetting", - "version": 1 - }, - { - "id": "samsungce.freezerConvertMode", - "version": 1 - }, - { - "id": "samsungce.unavailableCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "cooler", - "label": "cooler", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - }, - { - "id": "custom.thermostatSetpointControl", - "version": 1 - }, - { - "id": "samsungce.temperatureSetting", - "version": 1 - }, - { - "id": "samsungce.unavailableCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "cvroom", - "label": "cvroom", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "onedoor", - "label": "onedoor", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - }, - { - "id": "custom.thermostatSetpointControl", - "version": 1 - }, - { - "id": "samsungce.temperatureSetting", - "version": 1 - }, - { - "id": "samsungce.freezerConvertMode", - "version": 1 - }, - { - "id": "samsungce.unavailableCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "icemaker", - "label": "icemaker", - "capabilities": [ - { - "id": "switch", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "icemaker-02", - "label": "icemaker-02", - "capabilities": [ - { - "id": "switch", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "icemaker-03", - "label": "icemaker-03", - "capabilities": [ - { - "id": "switch", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "scale-10", - "label": "scale-10", - "capabilities": [ - { - "id": "samsungce.weightMeasurement", - "version": 1 - }, - { - "id": "samsungce.weightMeasurementCalibration", - "version": 1 - }, - { - "id": "samsungce.connectionState", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "scale-11", - "label": "scale-11", - "capabilities": [ - { - "id": "samsungce.weightMeasurement", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "pantry-01", - "label": "pantry-01", - "capabilities": [ - { - "id": "samsungce.fridgePantryInfo", - "version": 1 - }, - { - "id": "samsungce.fridgePantryMode", - "version": 1 - }, - { - "id": "samsungce.meatAging", - "version": 1 - }, - { - "id": "samsungce.foodDefrost", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "pantry-02", - "label": "pantry-02", - "capabilities": [ - { - "id": "samsungce.fridgePantryInfo", - "version": 1 - }, - { - "id": "samsungce.fridgePantryMode", - "version": 1 - }, - { - "id": "samsungce.meatAging", - "version": 1 - }, - { - "id": "samsungce.foodDefrost", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - } - ], - "createTime": "2024-12-01T06:45:53.319Z", - "profile": { - "id": "37c7b355-bdaa-371b-b246-dbdf2a7f9c84" + "modelNumber": "TP1X_REF_21K|00130443|00090026001610304100000021010000", + "platformVersion": "DAWIT 2.0", + "platformOS": "TizenRT 3.1", + "hwVersion": "Realtek", + "firmwareVersion": "A-RFWW-TP1-22-REV1_20241030", + "vendorId": "DA-REF-NORMAL-01011", + "vendorResourceClientServerVersion": "Realtek Release 3.1.240221", + "lastSignupTime": "2024-12-01T06:45:53.249899752Z", + "transferCandidate": false, + "additionalAuthCodeRequired": false + }, + "type": "OCF", + "restrictionTier": 0, + "allowed": [], + "executionContext": "CLOUD", + "relationships": [] + }, + { + "deviceId": "b851a083-4b2c-9e68-e344-0312024e9fa0", + "name": "Samsung-Refrigerator", + "label": "Freezer", + "manufacturerName": "Samsung Electronics", + "presentationId": "DA-REF-NORMAL-01011", + "deviceManufacturerCode": "Samsung Electronics", + "locationId": "f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19", + "ownerId": "83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a", + "roomId": "14591410-f1b4-4e5a-af3f-2dd0424c580a", + "deviceTypeName": "Samsung OCF Refrigerator", + "components": [ + { + "id": "main", + "label": "main", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "execute", + "version": 1 + }, + { + "id": "ocf", + "version": 1 + }, + { + "id": "powerConsumptionReport", + "version": 1 + }, + { + "id": "demandResponseLoadControl", + "version": 1 + }, + { + "id": "refresh", + "version": 1 + }, + { + "id": "refrigeration", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.deodorFilter", + "version": 1 + }, + { + "id": "custom.dustFilter", + "version": 1 + }, + { + "id": "custom.deviceReportStateConfiguration", + "version": 1 + }, + { + "id": "custom.energyType", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.disabledComponents", + "version": 1 + }, + { + "id": "custom.waterFilter", + "version": 1 + }, + { + "id": "samsungce.softwareUpdate", + "version": 1 + }, + { + "id": "samsungce.deviceIdentification", + "version": 1 + }, + { + "id": "samsungce.driverVersion", + "version": 1 + }, + { + "id": "samsungce.fridgeVacationMode", + "version": 1 + }, + { + "id": "samsungce.powerCool", + "version": 1 + }, + { + "id": "samsungce.powerFreeze", + "version": 1 + }, + { + "id": "samsungce.sabbathMode", + "version": 1 + }, + { + "id": "samsungce.selfCheck", + "version": 1 + }, + { + "id": "samsungce.viewInside", + "version": 1 + }, + { + "id": "samsungce.fridgeWelcomeLighting", + "version": 1 + }, + { + "id": "samsungce.quickControl", + "version": 1 + }, + { + "id": "sec.diagnosticsInformation", + "version": 1 + }, + { + "id": "sec.wifiConfiguration", + "version": 1 + } + ], + "categories": [ + { + "name": "Refrigerator", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "freezer", + "label": "freezer", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.thermostatSetpointControl", + "version": 1 + }, + { + "id": "samsungce.temperatureSetting", + "version": 1 + }, + { + "id": "samsungce.freezerConvertMode", + "version": 1 + }, + { + "id": "samsungce.unavailableCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] }, - "ocf": { - "ocfDeviceType": "oic.d.refrigerator", - "name": "Samsung-Refrigerator", - "specVersion": "core.1.1.0", - "verticalDomainSpecVersion": "1.2.1", - "manufacturerName": "Samsung Electronics", - "modelNumber": "TP1X_REF_21K|00130443|00090026001610304100000021010000", - "platformVersion": "DAWIT 2.0", - "platformOS": "TizenRT 3.1", - "hwVersion": "Realtek", - "firmwareVersion": "A-RFWW-TP1-22-REV1_20241030", - "vendorId": "DA-REF-NORMAL-01011", - "vendorResourceClientServerVersion": "Realtek Release 3.1.240221", - "lastSignupTime": "2024-12-01T06:45:53.249899752Z", - "transferCandidate": false, - "additionalAuthCodeRequired": false + { + "id": "cooler", + "label": "cooler", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.thermostatSetpointControl", + "version": 1 + }, + { + "id": "samsungce.temperatureSetting", + "version": 1 + }, + { + "id": "samsungce.unavailableCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] }, - "type": "OCF", - "restrictionTier": 0, - "allowed": [], - "executionContext": "CLOUD", - "relationships": [] + { + "id": "cvroom", + "label": "cvroom", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "onedoor", + "label": "onedoor", + "capabilities": [ + { + "id": "contactSensor", + "version": 1 + }, + { + "id": "temperatureMeasurement", + "version": 1 + }, + { + "id": "thermostatCoolingSetpoint", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.fridgeMode", + "version": 1 + }, + { + "id": "custom.thermostatSetpointControl", + "version": 1 + }, + { + "id": "samsungce.temperatureSetting", + "version": 1 + }, + { + "id": "samsungce.freezerConvertMode", + "version": 1 + }, + { + "id": "samsungce.unavailableCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "icemaker", + "label": "icemaker", + "capabilities": [ + { + "id": "switch", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "icemaker-02", + "label": "icemaker-02", + "capabilities": [ + { + "id": "switch", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "icemaker-03", + "label": "icemaker-03", + "capabilities": [ + { + "id": "switch", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "scale-10", + "label": "scale-10", + "capabilities": [ + { + "id": "samsungce.weightMeasurement", + "version": 1 + }, + { + "id": "samsungce.weightMeasurementCalibration", + "version": 1 + }, + { + "id": "samsungce.connectionState", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "scale-11", + "label": "scale-11", + "capabilities": [ + { + "id": "samsungce.weightMeasurement", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "pantry-01", + "label": "pantry-01", + "capabilities": [ + { + "id": "samsungce.fridgePantryInfo", + "version": 1 + }, + { + "id": "samsungce.fridgePantryMode", + "version": 1 + }, + { + "id": "samsungce.meatAging", + "version": 1 + }, + { + "id": "samsungce.foodDefrost", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + }, + { + "id": "pantry-02", + "label": "pantry-02", + "capabilities": [ + { + "id": "samsungce.fridgePantryInfo", + "version": 1 + }, + { + "id": "samsungce.fridgePantryMode", + "version": 1 + }, + { + "id": "samsungce.meatAging", + "version": 1 + }, + { + "id": "samsungce.foodDefrost", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + } + ], + "categories": [ + { + "name": "Other", + "categoryType": "manufacturer" + } + ] + } + ], + "createTime": "2024-06-18T15:47:42.985Z", + "profile": { + "id": "37c7b355-bdaa-371b-b246-dbdf2a7f9c84" }, - { - "deviceId": "b851a083-4b2c-9e68-e344-0312024e9fa0", + "ocf": { + "ocfDeviceType": "oic.d.refrigerator", "name": "Samsung-Refrigerator", - "label": "Freezer", + "specVersion": "core.1.1.0", + "verticalDomainSpecVersion": "1.2.1", "manufacturerName": "Samsung Electronics", - "presentationId": "DA-REF-NORMAL-01011", - "deviceManufacturerCode": "Samsung Electronics", - "locationId": "f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19", - "ownerId": "83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a", - "roomId": "14591410-f1b4-4e5a-af3f-2dd0424c580a", - "deviceTypeName": "Samsung OCF Refrigerator", - "components": [ - { - "id": "main", - "label": "main", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "execute", - "version": 1 - }, - { - "id": "ocf", - "version": 1 - }, - { - "id": "powerConsumptionReport", - "version": 1 - }, - { - "id": "demandResponseLoadControl", - "version": 1 - }, - { - "id": "refresh", - "version": 1 - }, - { - "id": "refrigeration", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.deodorFilter", - "version": 1 - }, - { - "id": "custom.dustFilter", - "version": 1 - }, - { - "id": "custom.deviceReportStateConfiguration", - "version": 1 - }, - { - "id": "custom.energyType", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.disabledComponents", - "version": 1 - }, - { - "id": "custom.waterFilter", - "version": 1 - }, - { - "id": "samsungce.softwareUpdate", - "version": 1 - }, - { - "id": "samsungce.deviceIdentification", - "version": 1 - }, - { - "id": "samsungce.driverVersion", - "version": 1 - }, - { - "id": "samsungce.fridgeVacationMode", - "version": 1 - }, - { - "id": "samsungce.powerCool", - "version": 1 - }, - { - "id": "samsungce.powerFreeze", - "version": 1 - }, - { - "id": "samsungce.sabbathMode", - "version": 1 - }, - { - "id": "samsungce.selfCheck", - "version": 1 - }, - { - "id": "samsungce.viewInside", - "version": 1 - }, - { - "id": "samsungce.fridgeWelcomeLighting", - "version": 1 - }, - { - "id": "samsungce.quickControl", - "version": 1 - }, - { - "id": "sec.diagnosticsInformation", - "version": 1 - }, - { - "id": "sec.wifiConfiguration", - "version": 1 - } - ], - "categories": [ - { - "name": "Refrigerator", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "freezer", - "label": "freezer", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - }, - { - "id": "custom.thermostatSetpointControl", - "version": 1 - }, - { - "id": "samsungce.temperatureSetting", - "version": 1 - }, - { - "id": "samsungce.freezerConvertMode", - "version": 1 - }, - { - "id": "samsungce.unavailableCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "cooler", - "label": "cooler", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - }, - { - "id": "custom.thermostatSetpointControl", - "version": 1 - }, - { - "id": "samsungce.temperatureSetting", - "version": 1 - }, - { - "id": "samsungce.unavailableCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "cvroom", - "label": "cvroom", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "onedoor", - "label": "onedoor", - "capabilities": [ - { - "id": "contactSensor", - "version": 1 - }, - { - "id": "temperatureMeasurement", - "version": 1 - }, - { - "id": "thermostatCoolingSetpoint", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - }, - { - "id": "custom.fridgeMode", - "version": 1 - }, - { - "id": "custom.thermostatSetpointControl", - "version": 1 - }, - { - "id": "samsungce.temperatureSetting", - "version": 1 - }, - { - "id": "samsungce.freezerConvertMode", - "version": 1 - }, - { - "id": "samsungce.unavailableCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "icemaker", - "label": "icemaker", - "capabilities": [ - { - "id": "switch", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "icemaker-02", - "label": "icemaker-02", - "capabilities": [ - { - "id": "switch", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "icemaker-03", - "label": "icemaker-03", - "capabilities": [ - { - "id": "switch", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "scale-10", - "label": "scale-10", - "capabilities": [ - { - "id": "samsungce.weightMeasurement", - "version": 1 - }, - { - "id": "samsungce.weightMeasurementCalibration", - "version": 1 - }, - { - "id": "samsungce.connectionState", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "scale-11", - "label": "scale-11", - "capabilities": [ - { - "id": "samsungce.weightMeasurement", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "pantry-01", - "label": "pantry-01", - "capabilities": [ - { - "id": "samsungce.fridgePantryInfo", - "version": 1 - }, - { - "id": "samsungce.fridgePantryMode", - "version": 1 - }, - { - "id": "samsungce.meatAging", - "version": 1 - }, - { - "id": "samsungce.foodDefrost", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - }, - { - "id": "pantry-02", - "label": "pantry-02", - "capabilities": [ - { - "id": "samsungce.fridgePantryInfo", - "version": 1 - }, - { - "id": "samsungce.fridgePantryMode", - "version": 1 - }, - { - "id": "samsungce.meatAging", - "version": 1 - }, - { - "id": "samsungce.foodDefrost", - "version": 1 - }, - { - "id": "custom.disabledCapabilities", - "version": 1 - } - ], - "categories": [ - { - "name": "Other", - "categoryType": "manufacturer" - } - ] - } - ], - "createTime": "2024-06-18T15:47:42.985Z", - "profile": { - "id": "37c7b355-bdaa-371b-b246-dbdf2a7f9c84" - }, - "ocf": { - "ocfDeviceType": "oic.d.refrigerator", - "name": "Samsung-Refrigerator", - "specVersion": "core.1.1.0", - "verticalDomainSpecVersion": "1.2.1", - "manufacturerName": "Samsung Electronics", - "modelNumber": "TP1X_REF_21K|00127643|00080020001610304100000020010000", - "platformVersion": "DAWIT 2.0", - "platformOS": "TizenRT 3.1", - "hwVersion": "Realtek", - "firmwareVersion": "A-RFWW-TP1-22-REV1_20241030", - "vendorId": "DA-REF-NORMAL-01011", - "vendorResourceClientServerVersion": "Realtek Release 3.1.240221", - "lastSignupTime": "2024-11-27T07:08:32.745636184Z", - "transferCandidate": false, - "additionalAuthCodeRequired": false - }, - "type": "OCF", - "restrictionTier": 0, - "allowed": [], - "executionContext": "CLOUD", - "relationships": [] - } - ], - "_links": { - "next": { - "href": "https://api.smartthings.com/devices?max=200&page=1" - } + "modelNumber": "TP1X_REF_21K|00127643|00080020001610304100000020010000", + "platformVersion": "DAWIT 2.0", + "platformOS": "TizenRT 3.1", + "hwVersion": "Realtek", + "firmwareVersion": "A-RFWW-TP1-22-REV1_20241030", + "vendorId": "DA-REF-NORMAL-01011", + "vendorResourceClientServerVersion": "Realtek Release 3.1.240221", + "lastSignupTime": "2024-11-27T07:08:32.745636184Z", + "transferCandidate": false, + "additionalAuthCodeRequired": false + }, + "type": "OCF", + "restrictionTier": 0, + "allowed": [], + "executionContext": "CLOUD", + "relationships": [] + } + ], + "_links": { + "next": { + "href": "https://api.smartthings.com/devices?max=200&page=1" } } +} diff --git a/tests/fixtures/health.json b/tests/fixtures/health.json index a635692..7ae42d6 100644 --- a/tests/fixtures/health.json +++ b/tests/fixtures/health.json @@ -1,5 +1,5 @@ { - "deviceId": "612ab3c2-3bb0-48f7-b2c0-15b169cb2fc3", - "state": "ONLINE", - "lastUpdatedDate": "2025-04-28T11:43:31.600Z" + "deviceId": "612ab3c2-3bb0-48f7-b2c0-15b169cb2fc3", + "state": "ONLINE", + "lastUpdatedDate": "2025-04-28T11:43:31.600Z" } diff --git a/tests/fixtures/sse_subscription.json b/tests/fixtures/sse_subscription.json index 74c32cf..80f3744 100644 --- a/tests/fixtures/sse_subscription.json +++ b/tests/fixtures/sse_subscription.json @@ -1,20 +1,16 @@ { - "subscriptionId": "f5768ce8-c9e5-4507-9020-912c0c60e0ab", - "registrationUrl": "https://spigot-regional.api.smartthings.com/filters/f5768ce8-c9e5-4507-9020-912c0c60e0ab/activate?filterRegion=eu-west-1", - "name": "My Home Assistant sub", - "version": 20250122, - "subscriptionFilters": [ - { - "type": "LOCATIONIDS", - "value": [ - "88a3a314-f0c8-40b4-bb44-44ba06c9c42e" - ], - "eventType": [ - "DEVICE_EVENT" - ], - "attribute": null, - "capability": null, - "component": null - } - ] + "subscriptionId": "f5768ce8-c9e5-4507-9020-912c0c60e0ab", + "registrationUrl": "https://spigot-regional.api.smartthings.com/filters/f5768ce8-c9e5-4507-9020-912c0c60e0ab/activate?filterRegion=eu-west-1", + "name": "My Home Assistant sub", + "version": 20250122, + "subscriptionFilters": [ + { + "type": "LOCATIONIDS", + "value": ["88a3a314-f0c8-40b4-bb44-44ba06c9c42e"], + "eventType": ["DEVICE_EVENT"], + "attribute": null, + "capability": null, + "component": null + } + ] } diff --git a/tests/test_device.py b/tests/test_device.py index 4aeffe7..426e55e 100644 --- a/tests/test_device.py +++ b/tests/test_device.py @@ -376,7 +376,7 @@ async def test_fetching_multiple_pages( status=200, body=load_fixture("devices_18.json"), ) - assert len(await client.get_devices()) == 6 + assert len(await client.get_devices()) == 7 responses.assert_called_with( f"{MOCK_URL}/v1/devices", METH_GET,