Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compatibilité Alfea Extensa Duo A.I. 3 R32 #12

Open
Eoras opened this issue Jun 25, 2024 · 42 comments
Open

Compatibilité Alfea Extensa Duo A.I. 3 R32 #12

Eoras opened this issue Jun 25, 2024 · 42 comments

Comments

@Eoras
Copy link

Eoras commented Jun 25, 2024

Bonjour,
J'ai une PAC Alfea Extensa Duo A.I. 3 R32 qui gère la production d'eau chaude sanitaire et mes deux zones de chauffage.

Mon chauffage est réglé en loi d'eau (donc je met seulement une température de consigne sur mon thermostat 1 et mon thermostat 2

Lors de l'installation voici ce que j'ai eu :
001

Ma PAC est bien reconnu, par contre UI_0, 1 2 3 et 4 c'est quoi ? Est-ce que se sont mes SPLIT TAKAO M3 de ma climatisation (connectée avec cozytouch aussi). Jusqu'à là, je ne les ai pas ajoutée.

Ensuite sur mon appareil j'ai :
image
Dans devices, modelId = 211 il me le sort en Unknown (Unknown product (211))

Ensuite j'ai deux chauffage (surement zone 1 et zone 2, ma zone 1 = Etage et ma zone 2 = RdC)
unknown_product_211_chauffage && unknown_product_211_chauffage_2
Dans le json visiblement "capabilityId": 154 est le nom du chauffage de la zone 1 et "capabilityId": 155 est le nom de la zone de chauffage 2
Se serait bien que les nom des chauffages soit les nom des "capabilityId": 154 (zone 1) et "capabilityId": 155 (zone 2)
exemple: climate.xxxxxxxxxx_chauffage_rdc et climate.xxxxxxxxxx_chauffage_etage

"capabilityId": 22 et "capabilityId": 23
Température de consigne du ballon d'eau chaude et température réelle du ballon ?

"capabilityId": 110 semble être la température du thermostat de la zone 1 (chez moi l'étage, actuellement 27.1)
"capability 118 remonté de témpérature du thermostat de la zone 2 (RDC chez moi)

Actuellement le chauffage est éteint, j'ai un Mode Chauffage : Undefined, c'est normal ? (Il devrait être sur Eteint non ?)

Petites idées d'améliorations :
entitée switch.xxxxx_eau_chaude devrait être = switch.xxxxx_production_eau_chaude

Après il y a plein d'autre information non listée :
image

Et dans les Diagnotstic:
image
image
image

Je suis disponible en tout cas pour améliorer ton extension qui semble bien plus complète que celle de Overkidz :)

Cozytouch.json

@gduteil
Copy link
Owner

gduteil commented Jun 25, 2024

Bonsoir,

"CLIF_Default" est le hub Naviclim, les clims sont ROOM_x, les UI_x sont des appareils "enfants" de chacune, je ne suis pas sûr de savoir à quoi ça correspond, mais il n'y a qu'une seule entité à chaque fois qui n'a pas l'air d'évoluer donc je ne pense pas que ça soit très interessant. Je pense que ça doit correspondre au récepteur des télécommandes (UI -> User Interface ?).

Je ne suis pas encore tombé sur ce modèle de PAC, c'est pour ça que le modelId 211 n'est pas encore reconnu, je vais l'ajouter, l'intégration se comporte differemment selon le type d'appareil lorsqu'il est reconnu (surtout les entités climate).

Les 154 et 155 sont bien les identifiants des zones, pour leur nommages je vais voir pour les renommer correctement si c'est pas trop galère (il y a pas mal de caractères interdits dans les ID d'entités), sinon au pire je pourais mettre "xxx_zone_1" et "xxx_zone_2", sachant qu'elle sont facilement renommables via l'interface.

Les 22 et 23 n'ont pas encore été identifiés, il faudrait confirmer avec leur evolutions sur plusieurs jours pour voir si c'est effectivement ça.

110 n'a pas encore été identifié, j'avais 118 pour la température Z2 et 119 température Z1 mais il est possible qu'il y ait une erreur.

Le "mode chauffage" correspond à la 87, et l'entité doit savoir à quel mode correspond les différentes valeurs, pour le moment c'est mappé que pour cumulus. Dans le cas d'une PAC, je pense que ça correspond à la partie eau chaude.
Si c'est bien le cas il faudrait que je renomme l'entité, et les valeurs que j'avais vu étaient :

  • 0 : Manuel
  • 3 : Eco Plus
  • 4 : Prog

Quels sont les modes dispo dans l'appli pour la partie eau chaude ?

Pour le renommage "switch.xxxxx_eau_chaude" -> "switch.xxxxx_production_eau_chaude", l'ID est pris depuis le nom de l'entité, et en général j'évite d'avoir des noms trop longs pour ne pas que ça soit coupé à l'affichage dans HA.

Pour information l'intégration permet de récupérer toutes les infos envoyées par l'API Cozytouch, mais chaque "capability" doit être identifiée. Les identifiants sont identiques d'un type d'appareil à un autre, les PAC sont les appareils qui ont le plus de travail d'identification restant, les clims devraient être assez complètes.

Je suis preneur d'identifications pour les capabilities manquantes, particulièrement pour les PAC.
La seule solution est de regarder les valeurs et voir leur évolution, en comparant avec ce qui est affiché dans l'appli Cozytouch (ou sur la PAC elle-même).

Si tu te sens à l'aise avec la modification des scripts je peux te guider, sinon on peut envisager que je fasse les modifs dans la branche "main", tu peux regarder dans HACS s'il te propose de choisir la version "main" dans "retélécharger" (menu avec les 3 petits points en haut à droite dans la page de Cozytouch dans HACS)

@Eoras
Copy link
Author

Eoras commented Jun 26, 2024

Hello, merci pour ta réponse rapide ;)

Concernant les identifiants des zone, tu peux utiliser encode() ou unicode() je crois en python pour remplacer les caractères spéciaux et majuscules etcs...

Pour les 22 et 23 ont comme valeur 55, et la seule configuration que j'ai sur la PAC avec ce chiffre c'est la température de consigne de la production d'eau chaude sanitaire.
A mon avis, le 22 c'est la consigne (car j'ai un switch avec le 22, donc je peux régler la consigne de l'eau chaude sanitaire) et le 23 c'est la température réelle de l'eau du ballon (Pour l'instant dans mon historique elle n'a pas changé cette valeur est toujours à 50) par contre j'ai vu que la 111 était bien mappé et j'ai 55.734375 ça semble correspondre à la température réelle de l'eau actuellement dans le ballon (DHW Temperature (domestic hot water))
image

Je te confirme bien, 118 c'est la température de la zone 2 et 119 c'est la température de la zone 1

Le Mode chauffage correspond effectivement au mode pour le cumullus, par contre les différentes valeurs je sais pas du tout.
Je sais que moi je suis en mode "production quand nécessaire" donc je dirais manuel (et je suis bien à 0) sur l'application je n'ai as de choix de mode pour la production d'eau chaude (car la pompe à chaleur est réglée pour ne pas pouvoir changer ça justement).
Par contre sur l'appli j'ai bien le mode "boost" en switch

Pour le chauffage, j'ai remarqué que lorsque j'active le mode Chauffe, rien ne se passe et ça ne l'active pas :
image

Pour les clim effectivement, j'ai trouvé tout mon bonheur c'est top ;) merci beaucoup

Pour les autre capabilities, je vais fouiner dans les réglage de ma PAC et je vais essayer de voir un peur ce qu'il y a de noté pour essayer de déceler celles manquantes.

Voici ce que j'ai remarqué :
1, 2 et 3 sont des switch (ON / OFF) => 1 et 2 s'active quand j'active mon chauffage (comme si c'était la chauffe de la zone 1 et de la zone 2). 3 s'active quand mon chauffe-eau se met en route.

Capability_107106 est passé en 3 quand la PAC est passé en production d'eau chaude. (en même temps que la capability 3

Je veux bien être guidé si tu veux, je suis dev (web) mais si tu m'explique je pourrais faire les modifs de mon côté pour t'aider.
Par default, ça télécharge le dernier tag dans HACS c'est ça ? Je peux pointer sur main si tu veux.

Par ailleurs voici quelques erreurs au niveaux des logs :

Enregistreur: homeassistant.util.loop
Source: util/loop.py:84
S'est produit pour la première fois: 25 juin 2024 à 18:22:35 (99 occurrences)
Dernier enregistrement: 26 juin 2024 à 23:33:22

Detected blocking call to sleep inside the event loop by custom integration 'cozytouch' at custom_components/cozytouch/hub.py, line 491: time.sleep(1) (offender: /config/custom_components/cozytouch/hub.py, line 491: time.sleep(1)), please create a bug report at https://github.com/gduteil/cozytouch/issues Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module> sys.exit(main()) File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 672, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 639, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1988, in _run_once handle._run() File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 760, in async_handle_set_swing_mode_service await self.async_set_swing_mode(swing_mode) File "/config/custom_components/cozytouch/climate.py", line 438, in async_set_swing_mode await self.coordinator.set_capability_value( File "/config/custom_components/cozytouch/hub.py", line 491, in set_capability_value time.sleep(1)
Detected blocking call to sleep inside the event loop by custom integration 'cozytouch' at custom_components/cozytouch/hub.py, line 491: time.sleep(1) (offender: /config/custom_components/cozytouch/hub.py, line 491: time.sleep(1)), please create a bug report at https://github.com/gduteil/cozytouch/issues Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module> sys.exit(main()) File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 672, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 639, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1988, in _run_once handle._run() File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 760, in async_handle_set_swing_mode_service await self.async_set_swing_mode(swing_mode) File "/config/custom_components/cozytouch/climate.py", line 424, in async_set_swing_mode await self.coordinator.set_capability_value( File "/config/custom_components/cozytouch/hub.py", line 491, in set_capability_value time.sleep(1)
Detected blocking call to sleep inside the event loop by custom integration 'cozytouch' at custom_components/cozytouch/hub.py, line 491: time.sleep(1) (offender: /config/custom_components/cozytouch/hub.py, line 491: time.sleep(1)), please create a bug report at https://github.com/gduteil/cozytouch/issues Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module> sys.exit(main()) File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 672, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 639, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1988, in _run_once handle._run() File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 922, in async_service_temperature_set await entity.async_set_temperature(**kwargs) File "/config/custom_components/cozytouch/climate.py", line 372, in async_set_temperature await self.coordinator.set_capability_value( File "/config/custom_components/cozytouch/hub.py", line 491, in set_capability_value time.sleep(1)
Detected blocking call to sleep inside the event loop by custom integration 'cozytouch' at custom_components/cozytouch/hub.py, line 491: time.sleep(1) (offender: /config/custom_components/cozytouch/hub.py, line 491: time.sleep(1)), please create a bug report at https://github.com/gduteil/cozytouch/issues Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module> sys.exit(main()) File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 672, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 639, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1988, in _run_once handle._run() File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/config/custom_components/cozytouch/climate.py", line 389, in async_set_hvac_mode await self.coordinator.set_capability_value( File "/config/custom_components/cozytouch/hub.py", line 491, in set_capability_value time.sleep(1)
Detected blocking call to sleep inside the event loop by custom integration 'cozytouch' at custom_components/cozytouch/hub.py, line 491: time.sleep(1) (offender: /config/custom_components/cozytouch/hub.py, line 491: time.sleep(1)), please create a bug report at https://github.com/gduteil/cozytouch/issues Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module> sys.exit(main()) File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 672, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 639, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1988, in _run_once handle._run() File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/config/custom_components/cozytouch/switch.py", line 101, in async_turn_on await self.coordinator.set_capability_value( File "/config/custom_components/cozytouch/hub.py", line 491, in set_capability_value time.sleep(1)
Enregistreur: custom_components.cozytouch.hub
Source: helpers/update_coordinator.py:325
intégration: Cozytouch ([documentation](https://github.com/gduteil/cozytouch), [problèmes](https://github.com/gduteil/cozytouch/issues))
S'est produit pour la première fois: 26 juin 2024 à 03:59:52 (4 occurrences)
Dernier enregistrement: 26 juin 2024 à 21:14:37

Error requesting Cozytouch_3127386 data: 0, message='Attempt to decode JSON with unexpected mimetype: application/xml; charset=utf-8', url=URL('https://apis.groupe-atlantic.com/magellan/cozytouch/setupview')
Error requesting Cozytouch_3182934 data: 0, message='Attempt to decode JSON with unexpected mimetype: text/html', url=URL('https://apis.groupe-atlantic.com/users/token')
Error requesting Cozytouch_3182932 data: 0, message='Attempt to decode JSON with unexpected mimetype: text/html', url=URL('https://apis.groupe-atlantic.com/users/token')
Enregistreur: homeassistant
Source: custom_components/cozytouch/sensor.py:380
intégration: Cozytouch ([documentation](https://github.com/gduteil/cozytouch), [problèmes](https://github.com/gduteil/cozytouch/issues))
S'est produit pour la première fois: 26 juin 2024 à 02:22:33 (9 occurrences)
Dernier enregistrement: 26 juin 2024 à 18:35:38

Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 255, in _handle_refresh_interval
    await self._async_refresh(log_failures=True, scheduled=True)
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 411, in _async_refresh
    self.async_update_listeners()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 165, in async_update_listeners
    update_callback()
  File "/config/custom_components/cozytouch/sensor.py", line 380, in _handle_coordinator_update
    self._attr_name,
    ^^^^^^^^^^^^^^^
AttributeError: 'CozytouchSelect' object has no attribute '__attr_name'. Did you mean: '_attr_name'?

@gduteil
Copy link
Owner

gduteil commented Jun 30, 2024

Bonsoir,

Le "Temp_22" était pour un test, j'ai oublié de l'enlever. 22 et 23 n'ont toujours pas évolué ?

Je confirme que le 111 est mappé comme la température d'eau, c'est ce que j'avais trouvé sur ma chaudière gaz, les identifiants de capability sont commun sur tous les type d'appareils.

Pour 1 et 2, ça correspondrait à l'activation du mode chauffage sur les entités climate de la capture d'écran ? il faudrait tester si c'est un juste une valeur d'état en lecture ou si c'est une valeur de consigne, tout comme 3 et 107106 .

Je vais regarder pour les erreurs de logs, je ne les ai pas vues chez moi.

Je viens d'ajouter le mapping de la PAC dans la branche main, le mieux est de passer sur cette branche pour commencer à faire des modifs pour tester.

Dans les grandes lignes, les 2 fichiers de mapping sont :

  • model.py : identification de l'appareil (type, options et certains enums utilisés par les entités climate ou select)
  • capability.py : mapping des capabilities avec des entités définies dans l'intégration

Le principal fichier à modifier va être le capability.py, en regardant les autres mapping ça devrait donner des exemples sur comment faire.

Voici 2 petits exemples de mapping d'entités modifiables (switch et slider de température) :

    elif capabilityId == 1:
        capability["name"] = "test_capability_1"
        capability["type"] = "switch"
        capability["category"] = "sensor"

Pour ajouter une valeur de réglage de température :

    elif capabilityId == 22:
        capability["name"] = "test_temp_22"
        capability["type"] = "temperature_adjustment_number"
        capability["category"] = "sensor"

Il faut penser à redémarrer HA pour que ça soit pris en compte.

@Eoras
Copy link
Author

Eoras commented Jul 9, 2024

J'ai vu que tu avais commit la version 0.9, je vais tester ça dès que je peux voir si le chauffage s'allume désormais, je te tiens au courant dès que je suis rentré chez moi pour tester ça.

Merci ;)

@Eoras
Copy link
Author

Eoras commented Sep 13, 2024

Bonjour, je reviens sur le sujet, désolé le boulot m'a submergé ces derniers temps.

Actuellement, je suis en version 0.9 sur mon HA, et la ZONE 2 est "indisponible", ça n'a pas l'air de fonctionner correctement.

Mon chauffage est éteint actuellement, j'ai bien ma PAC Z1 (Eteint, actuellement: 9,9°C) mais la Zone 2 est "Indisponible":
image

Capability_118 je confirme, c'est bien : Température actuelle de la pièce relevée par le thermostat de la zone 1.

Du coup pour le moment je ne peux plus contrôler ma zone 2 car indisponible. Tu pourrais m'aider à régler le problème ? :)

En réactivant ma ZONE 2 depuis la PAC, j'ai eu les modifications suivantes dans le journal :
Capability_178 = passée de 8.0 (Surement la valeur consigne hors gel) à 19.0 (C'est la température de consigne de la zone 2)
Capability_18 = passée de 8.0 (Surement la valeur consigne hors gel) 19.0 (C'est aussi la température de consigne de la zone 2)

Par contre j'ai eu aucune donnée qui m'a dit que j'avais activé le chauffage... un bool passé de 0 à 1 ou quelques chose... très bizzare.

Ce dont je suis sur (quand j'ai réactivé le chauffage de la ZONE 2) :

  • Capability_118 = ZONE 2 : Température actuelle relevée par le thermostat
  • Capability_18 & Capability_178 = ZONE 2 = Consigne renseigné sur le thermostat
  • Capability_178 = ZONE 2 = IDEM

Quand j'ai fait la modification de la température de consigne sur le thermostat, Capability_2 à changé en 7 (était à 0). Je pense que 0 = OFF, et en changeant j'ai eu la petit main pour dire que je passe en manuel au niveau de la consigne. Je dirais donc que Capability_2 = Mode (Manuel, programmation, eco...) de la ZONE 2.

  • Capability_187 = A changé de 0 à 1436. Je sais pas ce que c'est.

  • Capability_41 / 42 / 43 = Se sont les consigne "confort" Zone 1 ou 2, je vais faire les tests pour savoir.

Ensuite, j'ai éteins le chauffage de la zone 2 (ce qui à fait que tout était éteint)

  • Capability_118 et 18 sont repassées à 8 (Température de consigne hors gel)
  • Capability_2 est passé de 7 à 0 - Surement OFF, le fait d'avoir eteint
  • Capability_187 = A changé de 1436 à 0. Je sais pas ce que c'est.

@Eoras
Copy link
Author

Eoras commented Sep 23, 2024

Hello, je reviens vers toi car je n’arrive plus à afficher ma pac correctement.
image

je n’ai plus ma zone 2 et la température actuelle est de 14° (cap 41 ou 43) alors qu’elle est de 23,3°

Est-ce que tu aurais moyen de jeter un coup d’œil quand tu auras un peu de temps stp ?

j’ai supprimé l’appareil et re-importé voir si ça changeai quelque chose mais non :/

je te remercie grandement.

@gduteil
Copy link
Owner

gduteil commented Sep 24, 2024

Désolé de répondre tard, pas mal de boulot ces derniers temps.

C'est bizarre, tu peux m'envoyer ton json ?

@Eoras
Copy link
Author

Eoras commented Sep 24, 2024

Pas de soucis tkt.

Déjà j'ai cette erreur là :

2024-09-24 10:51:04.410 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to open with args ('/config/Cozytouch.json', 'w') inside the event loop by custom integration 'cozytouch' at custom_components/cozytouch/hub.py, line 187: with open( (offender: /config/custom_components/cozytouch/hub.py, line 187: with open(), please create a bug report at https://github.com/gduteil/cozytouch/issues For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#open Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module> sys.exit(main()) File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py", line 189, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once handle._run() File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 752, in async_setup_locked await self.async_setup(hass, integration=integration) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup result = await component.async_setup_entry(hass, self) File "/config/custom_components/cozytouch/__init__.py", line 44, in async_setup_entry await theHub.connect() File "/config/custom_components/cozytouch/hub.py", line 160, in connect self.update_devices_from_json_data(json_data) File "/config/custom_components/cozytouch/hub.py", line 187, in update_devices_from_json_data with open(
Error requesting Cozytouch_3182936 data: 504, message='Attempt to decode JSON with unexpected mimetype: text/html', url='https://apis.groupe-atlantic.com/users/token'
Error requesting Cozytouch_3182932 data: 502, message='Attempt to decode JSON with unexpected mimetype: text/html', url='https://apis.groupe-atlantic.com/users/token'

et celle ci :

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 258, in _handle_refresh_interval
    await self._async_refresh(log_failures=True, scheduled=True)
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 453, in _async_refresh
    self.async_update_listeners()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 168, in async_update_listeners
    update_callback()
  File "/config/custom_components/cozytouch/climate.py", line 189, in _handle_coordinator_update
    self.coordinator.get_capability_value(self._capability["capabilityId"])
  File "/config/custom_components/cozytouch/hub.py", line 406, in get_capability_value
    if capabilityId == capability["capabilityId"]:
                       ~~~~~~~~~~^^^^^^^^^^^^^^^^
TypeError: string indices must be integers, not 'str'

et aussi :

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 258, in _handle_refresh_interval
    await self._async_refresh(log_failures=True, scheduled=True)
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 453, in _async_refresh
    self.async_update_listeners()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 168, in async_update_listeners
    update_callback()
  File "/config/custom_components/cozytouch/sensor.py", line 380, in _handle_coordinator_update
    self._attr_name,
    ^^^^^^^^^^^^^^^
AttributeError: 'CozytouchSensor' object has no attribute '__attr_name'. Did you mean: '_attr_name'?

et voici mon JSON :

{
  "devices": [
    {
      "customName": "Alfea Extensa Duo A.I. 3 R32",
      "deviceId": 3127386,
      "deviceUrl": "xxxxxxxxxxx",
      "gatewayId": 00000,
      "masterDeviceId": null,
      "modelId": 211,
      "name": "Alfea Extensa Duo A.I. 3 R32",
      "productId": 2,
      "tags": [],
      "gatewaySerialNumber": "2049-8183-7417",
      "longName": "Alfea Extensa Duo A.I. 3 R32",
      "productRange": null,
      "isAvailable": true,
      "isAvailableTimestamp": 1712060693,
      "isRemoteMaintainable": true,
      "zoneId": 384043,
      "capabilities": [
        {
          "capabilityId": 1,
          "modificationDate": 1726300271,
          "value": "1"
        },
        {
          "capabilityId": 2,
          "modificationDate": 1726302072,
          "value": "1"
        },
        {
          "capabilityId": 3,
          "modificationDate": 1719439353,
          "value": "1"
        },
        {
          "capabilityId": 4,
          "modificationDate": 1712067901,
          "value": "0"
        },
        {
          "capabilityId": 5,
          "modificationDate": 1712067897,
          "value": "0"
        },
        {
          "capabilityId": 6,
          "modificationDate": 1712067895,
          "value": "0"
        },
        {
          "capabilityId": 7,
          "modificationDate": 1726344305,
          "value": "4"
        },
        {
          "capabilityId": 15,
          "modificationDate": 1712067898,
          "value": "2"
        },
        {
          "capabilityId": 17,
          "modificationDate": 1726299137,
          "value": "20.0"
        },
        {
          "capabilityId": 18,
          "modificationDate": 1726300339,
          "value": "20.0"
        },
        {
          "capabilityId": 19,
          "modificationDate": 1726327208,
          "value": "null"
        },
        {
          "capabilityId": 20,
          "modificationDate": 1726402833,
          "value": "null"
        },
        {
          "capabilityId": 22,
          "modificationDate": 1719439355,
          "value": "55"
        },
        {
          "capabilityId": 23,
          "modificationDate": 1712083357,
          "value": "55"
        },
        {
          "capabilityId": 24,
          "modificationDate": 1727183151,
          "value": "1275"
        },
        {
          "capabilityId": 25,
          "modificationDate": 1712154271,
          "value": "0"
        },
        {
          "capabilityId": 26,
          "modificationDate": 1716917211,
          "value": "2"
        },
        {
          "capabilityId": 28,
          "modificationDate": 1721124948,
          "value": "0"
        },
        {
          "capabilityId": 29,
          "modificationDate": 1716917210,
          "value": "1740"
        },
        {
          "capabilityId": 39,
          "modificationDate": 1712082810,
          "value": "40"
        },
        {
          "capabilityId": 41,
          "modificationDate": 1726396993,
          "value": "15.0"
        },
        {
          "capabilityId": 42,
          "modificationDate": 1726310585,
          "value": "20.0"
        },
        {
          "capabilityId": 43,
          "modificationDate": 1726396993,
          "value": "15.0"
        },
        {
          "capabilityId": 57,
          "modificationDate": 1727083394,
          "value": "118000"
        },
        {
          "capabilityId": 59,
          "modificationDate": 1727119390,
          "value": "118000"
        },
        {
          "capabilityId": 60,
          "modificationDate": 1727119405,
          "value": "235000"
        },
        {
          "capabilityId": 73,
          "modificationDate": 1712067901,
          "value": "2"
        },
        {
          "capabilityId": 74,
          "modificationDate": 1712067896,
          "value": "2"
        },
        {
          "capabilityId": 86,
          "modificationDate": 1719437836,
          "value": "1"
        },
        {
          "capabilityId": 87,
          "modificationDate": 1719439352,
          "value": "0"
        },
        {
          "capabilityId": 88,
          "modificationDate": 1712067894,
          "value": "R002430600"
        },
        {
          "capabilityId": 93,
          "modificationDate": 1712067894,
          "value": "2"
        },
        {
          "capabilityId": 94,
          "modificationDate": 1712067894,
          "value": "        7107"
        },
        {
          "capabilityId": 96,
          "modificationDate": 1712067894,
          "value": "24.0"
        },
        {
          "capabilityId": 97,
          "modificationDate": 1726397009,
          "value": "28.0"
        },
        {
          "capabilityId": 101,
          "modificationDate": 1726310583,
          "value": "[{\"monday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"tuesday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"wednesday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"thursday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"friday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"saturday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"sunday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]}]"
        },
        {
          "capabilityId": 102,
          "modificationDate": 1722431131,
          "value": "[{\"monday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"tuesday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"wednesday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"thursday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"friday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"saturday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"sunday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]}]"
        },
        {
          "capabilityId": 103,
          "modificationDate": 1726310588,
          "value": "[{\"monday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"tuesday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"wednesday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"thursday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"friday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"saturday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"sunday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]}]"
        },
        {
          "capabilityId": 104,
          "modificationDate": 1722431130,
          "value": "[{\"monday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"tuesday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"wednesday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"thursday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"friday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"saturday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"sunday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]}]"
        },
        {
          "capabilityId": 107,
          "modificationDate": 1712067900,
          "value": "6"
        },
        {
          "capabilityId": 109,
          "modificationDate": 1727212328,
          "value": "28.203125"
        },
        {
          "capabilityId": 110,
          "modificationDate": 1727208749,
          "value": "24.09375"
        },
        {
          "capabilityId": 111,
          "modificationDate": 1727210546,
          "value": "48.375"
        },
        {
          "capabilityId": 113,
          "modificationDate": 1712067894,
          "value": "24.0"
        },
        {
          "capabilityId": 114,
          "modificationDate": 1726397009,
          "value": "28.0"
        },
        {
          "capabilityId": 116,
          "modificationDate": 1727212312,
          "value": "29.078125"
        },
        {
          "capabilityId": 117,
          "modificationDate": 1727191026,
          "value": "22.0"
        },
        {
          "capabilityId": 118,
          "modificationDate": 1727210851,
          "value": "23.4"
        },
        {
          "capabilityId": 119,
          "modificationDate": 1727209277,
          "value": "15.9"
        },
        {
          "capabilityId": 120,
          "modificationDate": 1712067894,
          "value": "5"
        },
        {
          "capabilityId": 152,
          "modificationDate": 1718182655,
          "value": null
        },
        {
          "capabilityId": 154,
          "modificationDate": 1712067899,
          "value": "Etage"
        },
        {
          "capabilityId": 155,
          "modificationDate": 1712067897,
          "value": "RdC"
        },
        {
          "capabilityId": 159,
          "modificationDate": 1712076292,
          "value": "0"
        },
        {
          "capabilityId": 165,
          "modificationDate": 1712067899,
          "value": "false"
        },
        {
          "capabilityId": 169,
          "modificationDate": 1713065161,
          "value": "100.0"
        },
        {
          "capabilityId": 170,
          "modificationDate": 1713041163,
          "value": "0"
        },
        {
          "capabilityId": 171,
          "modificationDate": 1712068076,
          "value": "35.0"
        },
        {
          "capabilityId": 172,
          "modificationDate": 1712068075,
          "value": "8.0"
        },
        {
          "capabilityId": 176,
          "modificationDate": 1726397001,
          "value": "0"
        },
        {
          "capabilityId": 178,
          "modificationDate": 1726300339,
          "value": "20.0"
        },
        {
          "capabilityId": 180,
          "modificationDate": 1726357457,
          "value": "100"
        },
        {
          "capabilityId": 184,
          "modificationDate": 1726344305,
          "value": "0"
        },
        {
          "capabilityId": 185,
          "modificationDate": 1726344306,
          "value": null
        },
        {
          "capabilityId": 187,
          "modificationDate": 1726219212,
          "value": "0"
        },
        {
          "capabilityId": 188,
          "modificationDate": 1712067895,
          "value": "3"
        },
        {
          "capabilityId": 189,
          "modificationDate": 1726397000,
          "value": "0"
        },
        {
          "capabilityId": 190,
          "modificationDate": 1712067901,
          "value": "0"
        },
        {
          "capabilityId": 191,
          "modificationDate": 1712067897,
          "value": "0"
        },
        {
          "capabilityId": 218,
          "modificationDate": 1726160540,
          "value": "0"
        },
        {
          "capabilityId": 335,
          "modificationDate": 1712067895,
          "value": "002430600007107"
        },
        {
          "capabilityId": 58773,
          "modificationDate": 1719437258,
          "value": "20.0"
        },
        {
          "capabilityId": 100406,
          "modificationDate": 1727183149,
          "value": "1271160"
        },
        {
          "capabilityId": 107106,
          "modificationDate": 1719439352,
          "value": "3"
        }
      ]
    }
  ]
}

@Eoras
Copy link
Author

Eoras commented Sep 24, 2024

Je suis dispo si tu veux tester des modifications :)

@gduteil
Copy link
Owner

gduteil commented Sep 25, 2024

Les erreurs sont vraiment bizarres, il y a eu quelques soucis ces derniers jours avec leurs serveurs, ça pourrait expliquer les 3 premières erreurs.

Autre truc bizarre la Z2 est la capability 8 qui est manquante, elle était bien présente dans le premier json que tu m'avais envoyé, elle est correctement affichée sur l'appli ?

@Eoras
Copy link
Author

Eoras commented Sep 25, 2024

IMG_7203
IMG_7206
IMG_7205
IMG_7204

De mon côté j’ai bien les deux zones oui :/
Le dernier json que je t’ai envoyé c’est le dernier génèré.

@Eoras
Copy link
Author

Eoras commented Sep 25, 2024

Hello, après quelques tests, voici ce que je peux te faire en retours :

Ce dont je suis sur et certain :
ZONE 1 :

  • Capability_1 -> ZONE 1 - Etat du chauffage de la zone 1 (Passe de 0 à 1 lorsque je l'active la zone 1, à 7 en mode dérogation)
  • Capability_17 -> ZONE 1 - Température de consigne (Passe de 8° (Absence) à 20°(Confort) lorsque j'active la zone 1)
  • Capability_117 -> ZONE 1 - Température ambiante retournée par le thermostat
  • Capability_41 -> ZONE 1 - Température de consigne pour le mode ECO
  • Capability_177 -> ZONE 1 - Température de la demande de l'eau de l'eau actuelle ?

ZONE 2 :

  • Capability_2 -> ZONE 2 - Etat du chauffage de la zone 2 (Passe de 0 à 1 lorsque je l'active la zone 2, à 7 en mode dérogation)
  • Capability_18 -> ZONE 2 - Température de consigne (Passe de 8° (ABSENCE) à 20°(CONFORT) lorsque j'active la zone 2)
  • Capability_118 -> ZONE 2 - Température ambiante retournée par le thermostat
  • Capability_43 -> ZONE 2 - Température de consigne pour le mode ECO
  • Capability_178 -> ZONE 2 - Température de la demande de l'eau de l'eau actuelle ?

capabilityId_7 -> Mode de chauffage en cours (Toutes zone confondue, qu'il y au 1 zone, ou 2 zone d'allumer peut importe) 0 => ETEINT, 4 => MANUEL (sans programmation, le int pour le mode PROGRAMMATION je l'ai pas car je ne l'utilise pas)

**TEMPERATURES **

  • Capability_22 -> Température de consigne du ballon d'eau chaude
  • Capability_119 -> Température de la sonde extérieure

@gduteil
Copy link
Owner

gduteil commented Sep 25, 2024

Hello, merci pense pouvoir regarder ça ce week-end.

C'est surprenant qu'ils aient regroupé les 2 zones, tu peux bien les gérer séparemment dans l'appli ?

Concernant le JSON, c'est bien juste un extrait ? il n'y a pas les infos générales, les zones ni les autres appareils.

@Eoras
Copy link
Author

Eoras commented Sep 25, 2024

Super, tu es au TOP.

Oui je peux effectivement contrôler zone par zone chaque Zone (1 ou 2) séparément et indépendamment.
Si j'était le capability_1 ça éteint les 2 zones (car je coupe le chauffage en gros)

Par contre je peux allumer que le RDC ou ETAGE (et dans ce cas capability_1 passe à 1 pour dire que le chauffage est ON et suivant la zone les capability ci-dessus changent.

Voici le JSON complet, j'ai masqué les données senssibles :

[
  {
    "id": 00000000,
    "name": "setup1",
    "address": {
      "addressLine": null,
      "city": "Semoy",
      "country": "FR",
      "latitude": 47.9333,
      "longitude": 1.95,
      "postalCode": "45400"
    },
    "numberOfRooms": 5,
    "numberOfPersons": null,
    "area": 128,
    "type": 2,
    "mainHeatingEnergy": 1,
    "mainDHWEnergy": 1,
    "setupBuildingDate": 7,
    "timeZone": "Europe/Paris",
    "absence": {
      "endDate": null,
      "startDate": null
    },
    "devices": [
      {
        "customName": "Alfea Extensa Duo A.I. 3 R32",
        "deviceId": 000000,
        "deviceUrl": "0000-0000-0000",
        "gatewayId": 00000000,
        "masterDeviceId": null,
        "modelId": 211,
        "name": "Alfea Extensa Duo A.I. 3 R32",
        "productId": 2,
        "tags": [],
        "gatewaySerialNumber": "2049-8183-7417",
        "longName": "Alfea Extensa Duo A.I. 3 R32",
        "productRange": null,
        "isAvailable": true,
        "isAvailableTimestamp": 1712060693,
        "isRemoteMaintainable": true,
        "zoneId": 384043,
        "capabilities": [
          {
            "capabilityId": 1,
            "modificationDate": 1727280577,
            "value": "1"
          },
          {
            "capabilityId": 2,
            "modificationDate": 1727281248,
            "value": "1"
          },
          {
            "capabilityId": 3,
            "modificationDate": 1719439353,
            "value": "1"
          },
          {
            "capabilityId": 4,
            "modificationDate": 1712067901,
            "value": "0"
          },
          {
            "capabilityId": 5,
            "modificationDate": 1712067897,
            "value": "0"
          },
          {
            "capabilityId": 6,
            "modificationDate": 1712067895,
            "value": "0"
          },
          {
            "capabilityId": 7,
            "modificationDate": 1727280750,
            "value": "4"
          },
          {
            "capabilityId": 15,
            "modificationDate": 1712067898,
            "value": "2"
          },
          {
            "capabilityId": 17,
            "modificationDate": 1727282222,
            "value": "20.0"
          },
          {
            "capabilityId": 18,
            "modificationDate": 1727281834,
            "value": "20.0"
          },
          {
            "capabilityId": 19,
            "modificationDate": 1726327208,
            "value": "null"
          },
          {
            "capabilityId": 20,
            "modificationDate": 1726402833,
            "value": "null"
          },
          {
            "capabilityId": 22,
            "modificationDate": 1719439355,
            "value": "55"
          },
          {
            "capabilityId": 23,
            "modificationDate": 1712083357,
            "value": "55"
          },
          {
            "capabilityId": 24,
            "modificationDate": 1727269552,
            "value": "1276"
          },
          {
            "capabilityId": 25,
            "modificationDate": 1712154271,
            "value": "0"
          },
          {
            "capabilityId": 26,
            "modificationDate": 1716917211,
            "value": "2"
          },
          {
            "capabilityId": 28,
            "modificationDate": 1721124948,
            "value": "0"
          },
          {
            "capabilityId": 29,
            "modificationDate": 1716917210,
            "value": "1740"
          },
          {
            "capabilityId": 39,
            "modificationDate": 1712082810,
            "value": "40"
          },
          {
            "capabilityId": 41,
            "modificationDate": 1727282184,
            "value": "15.0"
          },
          {
            "capabilityId": 42,
            "modificationDate": 1727281820,
            "value": "20.0"
          },
          {
            "capabilityId": 43,
            "modificationDate": 1727281479,
            "value": "15.0"
          },
          {
            "capabilityId": 57,
            "modificationDate": 1727083394,
            "value": "118000"
          },
          {
            "capabilityId": 59,
            "modificationDate": 1727119390,
            "value": "118000"
          },
          {
            "capabilityId": 60,
            "modificationDate": 1727216625,
            "value": "236000"
          },
          {
            "capabilityId": 73,
            "modificationDate": 1712067901,
            "value": "2"
          },
          {
            "capabilityId": 74,
            "modificationDate": 1712067896,
            "value": "2"
          },
          {
            "capabilityId": 86,
            "modificationDate": 1719437836,
            "value": "1"
          },
          {
            "capabilityId": 87,
            "modificationDate": 1719439352,
            "value": "0"
          },
          {
            "capabilityId": 88,
            "modificationDate": 1712067894,
            "value": "R002430600"
          },
          {
            "capabilityId": 93,
            "modificationDate": 1712067894,
            "value": "2"
          },
          {
            "capabilityId": 94,
            "modificationDate": 1712067894,
            "value": "        7107"
          },
          {
            "capabilityId": 96,
            "modificationDate": 1712067894,
            "value": "24.0"
          },
          {
            "capabilityId": 97,
            "modificationDate": 1726397009,
            "value": "28.0"
          },
          {
            "capabilityId": 101,
            "modificationDate": 1726310583,
            "value": "[{\"monday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"tuesday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"wednesday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"thursday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"friday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"saturday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"sunday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]}]"
          },
          {
            "capabilityId": 102,
            "modificationDate": 1722431131,
            "value": "[{\"monday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"tuesday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"wednesday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"thursday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"friday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"saturday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"sunday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]}]"
          },
          {
            "capabilityId": 103,
            "modificationDate": 1726310588,
            "value": "[{\"monday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"tuesday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"wednesday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"thursday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"friday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"saturday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"sunday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]}]"
          },
          {
            "capabilityId": 104,
            "modificationDate": 1722431130,
            "value": "[{\"monday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"tuesday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"wednesday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"thursday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"friday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"saturday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"sunday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]}]"
          },
          {
            "capabilityId": 107,
            "modificationDate": 1712067900,
            "value": "6"
          },
          {
            "capabilityId": 109,
            "modificationDate": 1727288015,
            "value": "28.421875"
          },
          {
            "capabilityId": 110,
            "modificationDate": 1727289833,
            "value": "23.21875"
          },
          {
            "capabilityId": 111,
            "modificationDate": 1727289832,
            "value": "48.671875"
          },
          {
            "capabilityId": 113,
            "modificationDate": 1712067894,
            "value": "24.0"
          },
          {
            "capabilityId": 114,
            "modificationDate": 1726397009,
            "value": "28.0"
          },
          {
            "capabilityId": 116,
            "modificationDate": 1727289746,
            "value": "28.421875"
          },
          {
            "capabilityId": 117,
            "modificationDate": 1727289002,
            "value": "21.5"
          },
          {
            "capabilityId": 118,
            "modificationDate": 1727289002,
            "value": "22.7"
          },
          {
            "capabilityId": 119,
            "modificationDate": 1727284918,
            "value": "15.8"
          },
          {
            "capabilityId": 120,
            "modificationDate": 1712067894,
            "value": "5"
          },
          {
            "capabilityId": 148,
            "modificationDate": 1727283127,
            "value": "{\"month\": 9,\"hour\": 18,\"year\": 2024,\"day\": 25,\"minute\": 52}"
          },
          {
            "capabilityId": 149,
            "modificationDate": 1727283130,
            "value": "{\"month\": 9,\"hour\": 19,\"year\": 2024,\"day\": 27,\"minute\": 0}"
          },
          {
            "capabilityId": 152,
            "modificationDate": 1727283130,
            "value": "2"
          },
          {
            "capabilityId": 154,
            "modificationDate": 1712067899,
            "value": "Etage"
          },
          {
            "capabilityId": 155,
            "modificationDate": 1712067897,
            "value": "RdC"
          },
          {
            "capabilityId": 159,
            "modificationDate": 1712076292,
            "value": "0"
          },
          {
            "capabilityId": 165,
            "modificationDate": 1712067899,
            "value": "false"
          },
          {
            "capabilityId": 169,
            "modificationDate": 1713065161,
            "value": "100.0"
          },
          {
            "capabilityId": 170,
            "modificationDate": 1713041163,
            "value": "0"
          },
          {
            "capabilityId": 171,
            "modificationDate": 1712068076,
            "value": "35.0"
          },
          {
            "capabilityId": 172,
            "modificationDate": 1727282142,
            "value": "8.0"
          },
          {
            "capabilityId": 176,
            "modificationDate": 1726397001,
            "value": "0"
          },
          {
            "capabilityId": 178,
            "modificationDate": 1727281834,
            "value": "20.0"
          },
          {
            "capabilityId": 180,
            "modificationDate": 1726357457,
            "value": "100"
          },
          {
            "capabilityId": 184,
            "modificationDate": 1727280750,
            "value": "0"
          },
          {
            "capabilityId": 185,
            "modificationDate": 1727281215,
            "value": null
          },
          {
            "capabilityId": 187,
            "modificationDate": 1726219212,
            "value": "0"
          },
          {
            "capabilityId": 188,
            "modificationDate": 1712067895,
            "value": "3"
          },
          {
            "capabilityId": 189,
            "modificationDate": 1726397000,
            "value": "0"
          },
          {
            "capabilityId": 190,
            "modificationDate": 1712067901,
            "value": "0"
          },
          {
            "capabilityId": 191,
            "modificationDate": 1712067897,
            "value": "0"
          },
          {
            "capabilityId": 218,
            "modificationDate": 1726160540,
            "value": "0"
          },
          {
            "capabilityId": 335,
            "modificationDate": 1712067895,
            "value": "002430600007107"
          },
          {
            "capabilityId": 58773,
            "modificationDate": 1727282213,
            "value": "20.0"
          },
          {
            "capabilityId": 100406,
            "modificationDate": 1727269550,
            "value": "1272900"
          },
          {
            "capabilityId": 107106,
            "modificationDate": 1719439352,
            "value": "3"
          }
        ]
      },
      {
        "customName": "CLIF Default",
        "deviceId": 00000000,
        "deviceUrl": "0000-0000-0000",
        "gatewayId": 00000000,
        "masterDeviceId": null,
        "modelId": 556,
        "name": "CLIF Default",
        "productId": 25,
        "tags": [],
        "gatewaySerialNumber": "1704-9969-8974",
        "longName": "CLIF Default",
        "productRange": null,
        "isAvailable": true,
        "isAvailableTimestamp": 1726904103,
        "isRemoteMaintainable": false,
        "zoneId": 384043,
        "capabilities": [
          {
            "capabilityId": 93,
            "modificationDate": 1712671093,
            "value": "1"
          },
          {
            "capabilityId": 98,
            "modificationDate": 1712671093,
            "value": "100922342400762"
          },
          {
            "capabilityId": 121,
            "modificationDate": 1712671093,
            "value": "1.0.15"
          },
          {
            "capabilityId": 150,
            "modificationDate": 1726911306,
            "value": "[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]"
          },
          {
            "capabilityId": 152,
            "modificationDate": 1727283193,
            "value": "0"
          },
          {
            "capabilityId": 172,
            "modificationDate": 1712671093,
            "value": "10.0000000000000000000"
          },
          {
            "capabilityId": 179,
            "modificationDate": 1727279924,
            "value": "-65"
          },
          {
            "capabilityId": 182,
            "modificationDate": 1712671093,
            "value": "0"
          },
          {
            "capabilityId": 188,
            "modificationDate": 1712671093,
            "value": "1"
          },
          {
            "capabilityId": 218,
            "modificationDate": 1727167529,
            "value": "0"
          },
          {
            "capabilityId": 222,
            "modificationDate": 1727283189,
            "value": "[946720800,0]"
          },
          {
            "capabilityId": 304,
            "modificationDate": 1712671093,
            "value": "0"
          },
          {
            "capabilityId": 315,
            "modificationDate": 1712671110,
            "value": "7200"
          }
        ]
      },
      {
        "customName": "ROOM_0",
        "deviceId": 000000,
        "deviceUrl": "0000-0000-0000",
        "gatewayId": 00000000,
        "masterDeviceId": 3182932,
        "modelId": 557,
        "name": "ROOM_0",
        "productId": 26,
        "tags": [
          {
            "label": "iothubChildrenIds",
            "value": "UI_0"
          }
        ],
        "gatewaySerialNumber": "1704-9969-8974",
        "longName": "ROOM_0",
        "productRange": null,
        "isAvailable": true,
        "isAvailableTimestamp": 1726904103,
        "isRemoteMaintainable": false,
        "zoneId": 387790,
        "capabilities": [
          {
            "capabilityId": 7,
            "modificationDate": 1724619541,
            "value": "0"
          },
          {
            "capabilityId": 40,
            "modificationDate": 1719009778,
            "value": "21.00000000000000000000"
          },
          {
            "capabilityId": 73,
            "modificationDate": 1712671093,
            "value": "4"
          },
          {
            "capabilityId": 117,
            "modificationDate": 1712671094,
            "value": "17.5000000000000000000"
          },
          {
            "capabilityId": 154,
            "modificationDate": 1712671093,
            "value": "Séjour"
          },
          {
            "capabilityId": 157,
            "modificationDate": 1712671094,
            "value": "0"
          },
          {
            "capabilityId": 158,
            "modificationDate": 1712671094,
            "value": "120"
          },
          {
            "capabilityId": 159,
            "modificationDate": 1712671094,
            "value": "0"
          },
          {
            "capabilityId": 160,
            "modificationDate": 1712671094,
            "value": "16.0000000000000000000"
          },
          {
            "capabilityId": 161,
            "modificationDate": 1712671094,
            "value": "30.0000000000000000000"
          },
          {
            "capabilityId": 162,
            "modificationDate": 1712671094,
            "value": "18.0000000000000000000"
          },
          {
            "capabilityId": 163,
            "modificationDate": 1712671094,
            "value": "30.0000000000000000000"
          },
          {
            "capabilityId": 166,
            "modificationDate": 1712671093,
            "value": "411"
          },
          {
            "capabilityId": 177,
            "modificationDate": 1723321688,
            "value": "25.00000000000000000000"
          },
          {
            "capabilityId": 181,
            "modificationDate": 1723541480,
            "value": "0"
          },
          {
            "capabilityId": 184,
            "modificationDate": 1712671094,
            "value": "0"
          },
          {
            "capabilityId": 217,
            "modificationDate": 1724619547,
            "value": "3331"
          },
          {
            "capabilityId": 218,
            "modificationDate": 1727167529,
            "value": "0"
          },
          {
            "capabilityId": 294,
            "modificationDate": 1712671094,
            "value": "0.5000000000000000000"
          },
          {
            "capabilityId": 295,
            "modificationDate": 1712671094,
            "value": "15"
          },
          {
            "capabilityId": 296,
            "modificationDate": 1712671094,
            "value": "60"
          },
          {
            "capabilityId": 303,
            "modificationDate": 1726911305,
            "value": "[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]"
          },
          {
            "capabilityId": 306,
            "modificationDate": 1712671094,
            "value": "10"
          },
          {
            "capabilityId": 341,
            "modificationDate": 1724375203,
            "value": "1"
          },
          {
            "capabilityId": 100000,
            "modificationDate": 1712671093,
            "value": "1"
          },
          {
            "capabilityId": 100002,
            "modificationDate": 1712671093,
            "value": "5"
          },
          {
            "capabilityId": 100004,
            "modificationDate": 1712671093,
            "value": "9"
          },
          {
            "capabilityId": 100013,
            "modificationDate": 1712671093,
            "value": "1"
          },
          {
            "capabilityId": 100021,
            "modificationDate": 1712671093,
            "value": "9"
          },
          {
            "capabilityId": 100022,
            "modificationDate": 1712671093,
            "value": "411"
          },
          {
            "capabilityId": 100023,
            "modificationDate": 1712671093,
            "value": "3331"
          },
          {
            "capabilityId": 100100,
            "modificationDate": 1726911305,
            "value": null
          },
          {
            "capabilityId": 100260,
            "modificationDate": 1712671111,
            "value": "[0,0]"
          },
          {
            "capabilityId": 100261,
            "modificationDate": 1727283193,
            "value": "0"
          },
          {
            "capabilityId": 100300,
            "modificationDate": 1712671094,
            "value": "1"
          },
          {
            "capabilityId": 100301,
            "modificationDate": 1712671094,
            "value": "70"
          },
          {
            "capabilityId": 100320,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100321,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100322,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100323,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100324,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100325,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100326,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100327,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100328,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100329,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100330,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100331,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100332,
            "modificationDate": 1726911305,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100333,
            "modificationDate": 1726911305,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100505,
            "modificationDate": 1712671094,
            "value": "0"
          },
          {
            "capabilityId": 100506,
            "modificationDate": 1712671094,
            "value": "0"
          },
          {
            "capabilityId": 100507,
            "modificationDate": 1712671094,
            "value": "0"
          },
          {
            "capabilityId": 100800,
            "modificationDate": 1712671094,
            "value": "2"
          },
          {
            "capabilityId": 100801,
            "modificationDate": 1727283204,
            "value": "3"
          },
          {
            "capabilityId": 100802,
            "modificationDate": 1712671094,
            "value": "0"
          },
          {
            "capabilityId": 100803,
            "modificationDate": 1727283203,
            "value": "1"
          },
          {
            "capabilityId": 100804,
            "modificationDate": 1727283166,
            "value": "0"
          }
        ]
      },
      {
        "customName": "ROOM_1",
        "deviceId": 000000,
        "deviceUrl": "0000-0000-0000",
        "gatewayId": 00000000,
        "masterDeviceId": 3182932,
        "modelId": 558,
        "name": "ROOM_1",
        "productId": 27,
        "tags": [
          {
            "label": "iothubChildrenIds",
            "value": "UI_1"
          }
        ],
        "gatewaySerialNumber": "1704-9969-8974",
        "longName": "ROOM_1",
        "productRange": null,
        "isAvailable": true,
        "isAvailableTimestamp": 1726904103,
        "isRemoteMaintainable": false,
        "zoneId": 387791,
        "capabilities": [
          {
            "capabilityId": 7,
            "modificationDate": 1724619540,
            "value": "0"
          },
          {
            "capabilityId": 40,
            "modificationDate": 1719009793,
            "value": "21.00000000000000000000"
          },
          {
            "capabilityId": 73,
            "modificationDate": 1712671096,
            "value": "4"
          },
          {
            "capabilityId": 117,
            "modificationDate": 1712671096,
            "value": "18.2500000000000000000"
          },
          {
            "capabilityId": 154,
            "modificationDate": 1712671096,
            "value": "Salon"
          },
          {
            "capabilityId": 157,
            "modificationDate": 1712671097,
            "value": "0"
          },
          {
            "capabilityId": 158,
            "modificationDate": 1712671097,
            "value": "120"
          },
          {
            "capabilityId": 159,
            "modificationDate": 1712671097,
            "value": "0"
          },
          {
            "capabilityId": 160,
            "modificationDate": 1712671096,
            "value": "16.0000000000000000000"
          },
          {
            "capabilityId": 161,
            "modificationDate": 1712671096,
            "value": "30.0000000000000000000"
          },
          {
            "capabilityId": 162,
            "modificationDate": 1712671096,
            "value": "18.0000000000000000000"
          },
          {
            "capabilityId": 163,
            "modificationDate": 1712671096,
            "value": "30.0000000000000000000"
          },
          {
            "capabilityId": 166,
            "modificationDate": 1721338750,
            "value": "411"
          },
          {
            "capabilityId": 177,
            "modificationDate": 1723321686,
            "value": "25.00000000000000000000"
          },
          {
            "capabilityId": 181,
            "modificationDate": 1723541479,
            "value": "0"
          },
          {
            "capabilityId": 184,
            "modificationDate": 1721338702,
            "value": "0"
          },
          {
            "capabilityId": 217,
            "modificationDate": 1724619547,
            "value": "3331"
          },
          {
            "capabilityId": 218,
            "modificationDate": 1727167529,
            "value": "0"
          },
          {
            "capabilityId": 294,
            "modificationDate": 1712671096,
            "value": "0.5000000000000000000"
          },
          {
            "capabilityId": 295,
            "modificationDate": 1712671096,
            "value": "15"
          },
          {
            "capabilityId": 296,
            "modificationDate": 1712671096,
            "value": "60"
          },
          {
            "capabilityId": 303,
            "modificationDate": 1726911306,
            "value": "[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]"
          },
          {
            "capabilityId": 306,
            "modificationDate": 1712671096,
            "value": "10"
          },
          {
            "capabilityId": 341,
            "modificationDate": 1726911305,
            "value": "1"
          },
          {
            "capabilityId": 100000,
            "modificationDate": 1712671096,
            "value": "1"
          },
          {
            "capabilityId": 100002,
            "modificationDate": 1712671096,
            "value": "5"
          },
          {
            "capabilityId": 100004,
            "modificationDate": 1712671096,
            "value": "9"
          },
          {
            "capabilityId": 100013,
            "modificationDate": 1712671096,
            "value": "1"
          },
          {
            "capabilityId": 100021,
            "modificationDate": 1712671096,
            "value": "9"
          },
          {
            "capabilityId": 100022,
            "modificationDate": 1712671096,
            "value": "411"
          },
          {
            "capabilityId": 100023,
            "modificationDate": 1712671096,
            "value": "3331"
          },
          {
            "capabilityId": 100100,
            "modificationDate": 1726911305,
            "value": null
          },
          {
            "capabilityId": 100260,
            "modificationDate": 1712671111,
            "value": "[0,0]"
          },
          {
            "capabilityId": 100261,
            "modificationDate": 1727283193,
            "value": "0"
          },
          {
            "capabilityId": 100300,
            "modificationDate": 1712671096,
            "value": "1"
          },
          {
            "capabilityId": 100301,
            "modificationDate": 1712671096,
            "value": "70"
          },
          {
            "capabilityId": 100320,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100321,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100322,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100323,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100324,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100325,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100326,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100327,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100328,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100329,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100330,
            "modificationDate": 1726911307,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100331,
            "modificationDate": 1726911307,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100332,
            "modificationDate": 1726911307,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100333,
            "modificationDate": 1726911307,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100505,
            "modificationDate": 1712671097,
            "value": "0"
          },
          {
            "capabilityId": 100506,
            "modificationDate": 1712671097,
            "value": "0"
          },
          {
            "capabilityId": 100507,
            "modificationDate": 1712671097,
            "value": "0"
          },
          {
            "capabilityId": 100800,
            "modificationDate": 1712671097,
            "value": "2"
          },
          {
            "capabilityId": 100801,
            "modificationDate": 1727283203,
            "value": "3"
          },
          {
            "capabilityId": 100802,
            "modificationDate": 1712672642,
            "value": "0"
          },
          {
            "capabilityId": 100803,
            "modificationDate": 1727283204,
            "value": "1"
          },
          {
            "capabilityId": 100804,
            "modificationDate": 1727283157,
            "value": "0"
          }
        ]
      },
      {
        "customName": "ROOM_2",
        "deviceId": 000000,
        "deviceUrl": "0000-0000-0000",
        "gatewayId": 00000000,
        "masterDeviceId": 3182932,
        "modelId": 559,
        "name": "ROOM_2",
        "productId": 28,
        "tags": [
          {
            "label": "iothubChildrenIds",
            "value": "UI_2"
          }
        ],
        "gatewaySerialNumber": "1704-9969-8974",
        "longName": "ROOM_2",
        "productRange": null,
        "isAvailable": true,
        "isAvailableTimestamp": 1726904103,
        "isRemoteMaintainable": false,
        "zoneId": 387792,
        "capabilities": [
          {
            "capabilityId": 7,
            "modificationDate": 1724619543,
            "value": "0"
          },
          {
            "capabilityId": 40,
            "modificationDate": 1722379079,
            "value": "21.00000000000000000000"
          },
          {
            "capabilityId": 73,
            "modificationDate": 1712671097,
            "value": "4"
          },
          {
            "capabilityId": 117,
            "modificationDate": 1712671097,
            "value": "17.5000000000000000000"
          },
          {
            "capabilityId": 154,
            "modificationDate": 1712671097,
            "value": "Chambre"
          },
          {
            "capabilityId": 157,
            "modificationDate": 1712671097,
            "value": "0"
          },
          {
            "capabilityId": 158,
            "modificationDate": 1712671097,
            "value": "120"
          },
          {
            "capabilityId": 159,
            "modificationDate": 1712671097,
            "value": "0"
          },
          {
            "capabilityId": 160,
            "modificationDate": 1712671097,
            "value": "16.0000000000000000000"
          },
          {
            "capabilityId": 161,
            "modificationDate": 1712671097,
            "value": "30.0000000000000000000"
          },
          {
            "capabilityId": 162,
            "modificationDate": 1712671097,
            "value": "18.0000000000000000000"
          },
          {
            "capabilityId": 163,
            "modificationDate": 1712671097,
            "value": "30.0000000000000000000"
          },
          {
            "capabilityId": 166,
            "modificationDate": 1721341645,
            "value": "411"
          },
          {
            "capabilityId": 177,
            "modificationDate": 1723511168,
            "value": "24.00000000000000000000"
          },
          {
            "capabilityId": 181,
            "modificationDate": 1723541480,
            "value": "0"
          },
          {
            "capabilityId": 184,
            "modificationDate": 1721341582,
            "value": "0"
          },
          {
            "capabilityId": 217,
            "modificationDate": 1724619547,
            "value": "3331"
          },
          {
            "capabilityId": 218,
            "modificationDate": 1727167529,
            "value": "0"
          },
          {
            "capabilityId": 294,
            "modificationDate": 1712671097,
            "value": "0.5000000000000000000"
          },
          {
            "capabilityId": 295,
            "modificationDate": 1712671097,
            "value": "15"
          },
          {
            "capabilityId": 296,
            "modificationDate": 1712671097,
            "value": "60"
          },
          {
            "capabilityId": 303,
            "modificationDate": 1726911306,
            "value": "[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]"
          },
          {
            "capabilityId": 306,
            "modificationDate": 1712671097,
            "value": "10"
          },
          {
            "capabilityId": 341,
            "modificationDate": 1726911306,
            "value": "1"
          },
          {
            "capabilityId": 100000,
            "modificationDate": 1712671097,
            "value": "1"
          },
          {
            "capabilityId": 100002,
            "modificationDate": 1712671097,
            "value": "5"
          },
          {
            "capabilityId": 100004,
            "modificationDate": 1712671097,
            "value": "9"
          },
          {
            "capabilityId": 100013,
            "modificationDate": 1712671097,
            "value": "1"
          },
          {
            "capabilityId": 100021,
            "modificationDate": 1712671097,
            "value": "9"
          },
          {
            "capabilityId": 100022,
            "modificationDate": 1712671097,
            "value": "411"
          },
          {
            "capabilityId": 100023,
            "modificationDate": 1712671097,
            "value": "3331"
          },
          {
            "capabilityId": 100100,
            "modificationDate": 1726911306,
            "value": null
          },
          {
            "capabilityId": 100260,
            "modificationDate": 1712671111,
            "value": "[0,0]"
          },
          {
            "capabilityId": 100261,
            "modificationDate": 1727283193,
            "value": "0"
          },
          {
            "capabilityId": 100300,
            "modificationDate": 1712671097,
            "value": "1"
          },
          {
            "capabilityId": 100301,
            "modificationDate": 1712671097,
            "value": "70"
          },
          {
            "capabilityId": 100320,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100321,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100322,
            "modificationDate": 1726911305,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100323,
            "modificationDate": 1726911305,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100324,
            "modificationDate": 1726911305,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100325,
            "modificationDate": 1726911305,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100326,
            "modificationDate": 1726911305,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100327,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100328,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100329,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100330,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100331,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100332,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100333,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100505,
            "modificationDate": 1719336946,
            "value": "0"
          },
          {
            "capabilityId": 100506,
            "modificationDate": 1712671097,
            "value": "0"
          },
          {
            "capabilityId": 100507,
            "modificationDate": 1712671097,
            "value": "0"
          },
          {
            "capabilityId": 100800,
            "modificationDate": 1714497734,
            "value": "2"
          },
          {
            "capabilityId": 100801,
            "modificationDate": 1727283203,
            "value": "3"
          },
          {
            "capabilityId": 100802,
            "modificationDate": 1723544915,
            "value": "0"
          },
          {
            "capabilityId": 100803,
            "modificationDate": 1727283205,
            "value": "1"
          },
          {
            "capabilityId": 100804,
            "modificationDate": 1727283166,
            "value": "0"
          }
        ]
      },
      {
        "customName": "ROOM_3",
        "deviceId": 000000,
        "deviceUrl": "0000-0000-0000",
        "gatewayId": 00000000,
        "masterDeviceId": 3182932,
        "modelId": 560,
        "name": "ROOM_3",
        "productId": 29,
        "tags": [
          {
            "label": "iothubChildrenIds",
            "value": "UI_3"
          }
        ],
        "gatewaySerialNumber": "1704-9969-8974",
        "longName": "ROOM_3",
        "productRange": null,
        "isAvailable": true,
        "isAvailableTimestamp": 1726904103,
        "isRemoteMaintainable": false,
        "zoneId": 387793,
        "capabilities": [
          {
            "capabilityId": 7,
            "modificationDate": 1724619542,
            "value": "0"
          },
          {
            "capabilityId": 40,
            "modificationDate": 1719355972,
            "value": "25.00000000000000000000"
          },
          {
            "capabilityId": 73,
            "modificationDate": 1712671097,
            "value": "4"
          },
          {
            "capabilityId": 117,
            "modificationDate": 1712671097,
            "value": "17.7500000000000000000"
          },
          {
            "capabilityId": 154,
            "modificationDate": 1712671097,
            "value": "Dressing"
          },
          {
            "capabilityId": 157,
            "modificationDate": 1712671098,
            "value": "0"
          },
          {
            "capabilityId": 158,
            "modificationDate": 1712671098,
            "value": "120"
          },
          {
            "capabilityId": 159,
            "modificationDate": 1712671098,
            "value": "0"
          },
          {
            "capabilityId": 160,
            "modificationDate": 1712671097,
            "value": "16.0000000000000000000"
          },
          {
            "capabilityId": 161,
            "modificationDate": 1712671097,
            "value": "30.0000000000000000000"
          },
          {
            "capabilityId": 162,
            "modificationDate": 1712671097,
            "value": "18.0000000000000000000"
          },
          {
            "capabilityId": 163,
            "modificationDate": 1712671097,
            "value": "30.0000000000000000000"
          },
          {
            "capabilityId": 166,
            "modificationDate": 1712671097,
            "value": "411"
          },
          {
            "capabilityId": 177,
            "modificationDate": 1722795131,
            "value": "25.00000000000000000000"
          },
          {
            "capabilityId": 181,
            "modificationDate": 1723541480,
            "value": "0"
          },
          {
            "capabilityId": 184,
            "modificationDate": 1712671097,
            "value": "0"
          },
          {
            "capabilityId": 217,
            "modificationDate": 1724619547,
            "value": "3331"
          },
          {
            "capabilityId": 218,
            "modificationDate": 1727167529,
            "value": "0"
          },
          {
            "capabilityId": 294,
            "modificationDate": 1712671097,
            "value": "0.5000000000000000000"
          },
          {
            "capabilityId": 295,
            "modificationDate": 1712671097,
            "value": "15"
          },
          {
            "capabilityId": 296,
            "modificationDate": 1712671097,
            "value": "60"
          },
          {
            "capabilityId": 303,
            "modificationDate": 1726911306,
            "value": "[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]"
          },
          {
            "capabilityId": 306,
            "modificationDate": 1712671097,
            "value": "10"
          },
          {
            "capabilityId": 100000,
            "modificationDate": 1712671097,
            "value": "1"
          },
          {
            "capabilityId": 100002,
            "modificationDate": 1712671097,
            "value": "5"
          },
          {
            "capabilityId": 100004,
            "modificationDate": 1712671097,
            "value": "9"
          },
          {
            "capabilityId": 100013,
            "modificationDate": 1712671097,
            "value": "1"
          },
          {
            "capabilityId": 100021,
            "modificationDate": 1712671097,
            "value": "9"
          },
          {
            "capabilityId": 100022,
            "modificationDate": 1712671097,
            "value": "411"
          },
          {
            "capabilityId": 100023,
            "modificationDate": 1712671097,
            "value": "3331"
          },
          {
            "capabilityId": 100260,
            "modificationDate": 1712671111,
            "value": "[0,0]"
          },
          {
            "capabilityId": 100261,
            "modificationDate": 1727283193,
            "value": "0"
          },
          {
            "capabilityId": 100300,
            "modificationDate": 1712671097,
            "value": "1"
          },
          {
            "capabilityId": 100301,
            "modificationDate": 1712671097,
            "value": "70"
          },
          {
            "capabilityId": 100320,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100321,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100322,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100323,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100324,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100325,
            "modificationDate": 1726911307,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100326,
            "modificationDate": 1726911307,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100327,
            "modificationDate": 1726911307,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100328,
            "modificationDate": 1726911307,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100329,
            "modificationDate": 1726911307,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100330,
            "modificationDate": 1726911307,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100331,
            "modificationDate": 1726911307,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100332,
            "modificationDate": 1726911307,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100333,
            "modificationDate": 1726911307,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100505,
            "modificationDate": 1712671098,
            "value": "0"
          },
          {
            "capabilityId": 100506,
            "modificationDate": 1712671098,
            "value": "0"
          },
          {
            "capabilityId": 100507,
            "modificationDate": 1712671098,
            "value": "0"
          },
          {
            "capabilityId": 100800,
            "modificationDate": 1712671098,
            "value": "2"
          },
          {
            "capabilityId": 100801,
            "modificationDate": 1727283204,
            "value": "3"
          },
          {
            "capabilityId": 100802,
            "modificationDate": 1712671098,
            "value": "0"
          },
          {
            "capabilityId": 100803,
            "modificationDate": 1727283204,
            "value": "1"
          },
          {
            "capabilityId": 100804,
            "modificationDate": 1723544971,
            "value": "0"
          }
        ]
      },
      {
        "customName": "ROOM_4",
        "deviceId": 000000,
        "deviceUrl": "0000-0000-0000",
        "gatewayId": 00000000,
        "masterDeviceId": 3182932,
        "modelId": 561,
        "name": "ROOM_4",
        "productId": 30,
        "tags": [
          {
            "label": "iothubChildrenIds",
            "value": "UI_4"
          }
        ],
        "gatewaySerialNumber": "1704-9969-8974",
        "longName": "ROOM_4",
        "productRange": null,
        "isAvailable": true,
        "isAvailableTimestamp": 1726904103,
        "isRemoteMaintainable": false,
        "zoneId": 387794,
        "capabilities": [
          {
            "capabilityId": 7,
            "modificationDate": 1724619540,
            "value": "0"
          },
          {
            "capabilityId": 40,
            "modificationDate": 1712671091,
            "value": "18.0000000000000000000"
          },
          {
            "capabilityId": 73,
            "modificationDate": 1712671091,
            "value": "4"
          },
          {
            "capabilityId": 117,
            "modificationDate": 1712671098,
            "value": "20.0000000000000000000"
          },
          {
            "capabilityId": 154,
            "modificationDate": 1712671098,
            "value": "Chambre amis"
          },
          {
            "capabilityId": 157,
            "modificationDate": 1712671103,
            "value": "0"
          },
          {
            "capabilityId": 158,
            "modificationDate": 1712671103,
            "value": "120"
          },
          {
            "capabilityId": 159,
            "modificationDate": 1712671103,
            "value": "0"
          },
          {
            "capabilityId": 160,
            "modificationDate": 1712671098,
            "value": "16.0000000000000000000"
          },
          {
            "capabilityId": 161,
            "modificationDate": 1712671098,
            "value": "30.0000000000000000000"
          },
          {
            "capabilityId": 162,
            "modificationDate": 1712671098,
            "value": "18.0000000000000000000"
          },
          {
            "capabilityId": 163,
            "modificationDate": 1712671098,
            "value": "30.0000000000000000000"
          },
          {
            "capabilityId": 166,
            "modificationDate": 1712671098,
            "value": "411"
          },
          {
            "capabilityId": 177,
            "modificationDate": 1722795136,
            "value": "25.00000000000000000000"
          },
          {
            "capabilityId": 181,
            "modificationDate": 1723541480,
            "value": "0"
          },
          {
            "capabilityId": 184,
            "modificationDate": 1712671098,
            "value": "0"
          },
          {
            "capabilityId": 217,
            "modificationDate": 1724619547,
            "value": "3331"
          },
          {
            "capabilityId": 218,
            "modificationDate": 1727167529,
            "value": "0"
          },
          {
            "capabilityId": 294,
            "modificationDate": 1712671098,
            "value": "0.5000000000000000000"
          },
          {
            "capabilityId": 295,
            "modificationDate": 1712671098,
            "value": "15"
          },
          {
            "capabilityId": 296,
            "modificationDate": 1712671098,
            "value": "60"
          },
          {
            "capabilityId": 303,
            "modificationDate": 1726911312,
            "value": "[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]"
          },
          {
            "capabilityId": 306,
            "modificationDate": 1712671098,
            "value": "10"
          },
          {
            "capabilityId": 100000,
            "modificationDate": 1712671098,
            "value": "1"
          },
          {
            "capabilityId": 100002,
            "modificationDate": 1712671092,
            "value": "5"
          },
          {
            "capabilityId": 100004,
            "modificationDate": 1712671098,
            "value": "9"
          },
          {
            "capabilityId": 100013,
            "modificationDate": 1712671098,
            "value": "1"
          },
          {
            "capabilityId": 100021,
            "modificationDate": 1712671098,
            "value": "9"
          },
          {
            "capabilityId": 100022,
            "modificationDate": 1712671098,
            "value": "411"
          },
          {
            "capabilityId": 100023,
            "modificationDate": 1712671098,
            "value": "3331"
          },
          {
            "capabilityId": 100260,
            "modificationDate": 1712671111,
            "value": "[0,0]"
          },
          {
            "capabilityId": 100261,
            "modificationDate": 1727283193,
            "value": "0"
          },
          {
            "capabilityId": 100300,
            "modificationDate": 1712671098,
            "value": "1"
          },
          {
            "capabilityId": 100301,
            "modificationDate": 1712671098,
            "value": "70"
          },
          {
            "capabilityId": 100320,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100321,
            "modificationDate": 1726911306,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100322,
            "modificationDate": 1726911307,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100323,
            "modificationDate": 1726911307,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100324,
            "modificationDate": 1726911307,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100325,
            "modificationDate": 1726911307,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100326,
            "modificationDate": 1726911307,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100327,
            "modificationDate": 1726911308,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100328,
            "modificationDate": 1726911308,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100329,
            "modificationDate": 1726911308,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100330,
            "modificationDate": 1726911308,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100331,
            "modificationDate": 1726911308,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100332,
            "modificationDate": 1726911312,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100333,
            "modificationDate": 1726911312,
            "value": "[[360,20,0],[1320,19,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]"
          },
          {
            "capabilityId": 100505,
            "modificationDate": 1712671103,
            "value": "0"
          },
          {
            "capabilityId": 100506,
            "modificationDate": 1712671103,
            "value": "0"
          },
          {
            "capabilityId": 100507,
            "modificationDate": 1712671103,
            "value": "0"
          },
          {
            "capabilityId": 100800,
            "modificationDate": 1712671103,
            "value": "2"
          },
          {
            "capabilityId": 100801,
            "modificationDate": 1727283204,
            "value": "3"
          },
          {
            "capabilityId": 100802,
            "modificationDate": 1712671103,
            "value": "0"
          },
          {
            "capabilityId": 100803,
            "modificationDate": 1727283204,
            "value": "1"
          },
          {
            "capabilityId": 100804,
            "modificationDate": 1727283166,
            "value": "0"
          }
        ]
      },
      {
        "customName": "UI_0",
        "deviceId": 000000,
        "deviceUrl": "0000-0000-0000",
        "gatewayId": 00000000,
        "masterDeviceId": 3182932,
        "modelId": 562,
        "name": "UI_0",
        "productId": 31,
        "tags": [],
        "gatewaySerialNumber": "1704-9969-8974",
        "longName": "UI_0",
        "productRange": null,
        "isAvailable": true,
        "isAvailableTimestamp": 1726904103,
        "isRemoteMaintainable": false,
        "zoneId": 384043,
        "capabilities": [
          {
            "capabilityId": 218,
            "modificationDate": 1727167529,
            "value": "0"
          }
        ]
      },
      {
        "customName": "UI_1",
        "deviceId": 000000,
        "deviceUrl": "0000-0000-0000",
        "gatewayId": 00000000,
        "masterDeviceId": 3182932,
        "modelId": 563,
        "name": "UI_1",
        "productId": 32,
        "tags": [],
        "gatewaySerialNumber": "1704-9969-8974",
        "longName": "UI_1",
        "productRange": null,
        "isAvailable": true,
        "isAvailableTimestamp": 1726904103,
        "isRemoteMaintainable": false,
        "zoneId": 384043,
        "capabilities": [
          {
            "capabilityId": 218,
            "modificationDate": 1727167529,
            "value": "0"
          }
        ]
      },
      {
        "customName": "UI_2",
        "deviceId": 000000,
        "deviceUrl": "0000-0000-0000",
        "gatewayId": 00000000,
        "masterDeviceId": 3182932,
        "modelId": 564,
        "name": "UI_2",
        "productId": 33,
        "tags": [],
        "gatewaySerialNumber": "1704-9969-8974",
        "longName": "UI_2",
        "productRange": null,
        "isAvailable": true,
        "isAvailableTimestamp": 1726904103,
        "isRemoteMaintainable": false,
        "zoneId": 384043,
        "capabilities": [
          {
            "capabilityId": 218,
            "modificationDate": 1727167529,
            "value": "0"
          }
        ]
      },
      {
        "customName": "UI_3",
        "deviceId": 000000,
        "deviceUrl": "0000-0000-0000",
        "gatewayId": 00000000,
        "masterDeviceId": 3182932,
        "modelId": 565,
        "name": "UI_3",
        "productId": 34,
        "tags": [],
        "gatewaySerialNumber": "1704-9969-8974",
        "longName": "UI_3",
        "productRange": null,
        "isAvailable": true,
        "isAvailableTimestamp": 1726904103,
        "isRemoteMaintainable": false,
        "zoneId": 384043,
        "capabilities": [
          {
            "capabilityId": 218,
            "modificationDate": 1727167529,
            "value": "0"
          }
        ]
      },
      {
        "customName": "UI_4",
        "deviceId": 000000,
        "deviceUrl": "0000-0000-0000",
        "gatewayId": 00000000,
        "masterDeviceId": 3182932,
        "modelId": 566,
        "name": "UI_4",
        "productId": 35,
        "tags": [],
        "gatewaySerialNumber": "1704-9969-8974",
        "longName": "UI_4",
        "productRange": null,
        "isAvailable": true,
        "isAvailableTimestamp": 1726904103,
        "isRemoteMaintainable": false,
        "zoneId": 384043,
        "capabilities": [
          {
            "capabilityId": 218,
            "modificationDate": 1727167529,
            "value": "0"
          }
        ]
      }
    ],
    "gateways": [
      {
        "id": "00000000",
        "serialNumber": "2049-8183-7417",
        "isAlive": true,
        "setupId": 783576,
        "type": 105
      },
      {
        "id": "00000000",
        "serialNumber": "1704-9969-8974",
        "isAlive": true,
        "setupId": 783576,
        "type": 1000
      }
    ],
    "zones": [
      {
        "id": 384043,
        "name": "zoneTechnique",
        "zoneType": 2,
        "numberOfDevices": 7
      },
      {
        "id": 387790,
        "name": "Séjour",
        "zoneType": 29,
        "numberOfDevices": 1
      },
      {
        "id": 387791,
        "name": "Salon",
        "zoneType": 29,
        "numberOfDevices": 1
      },
      {
        "id": 387792,
        "name": "Chambre",
        "zoneType": 29,
        "numberOfDevices": 1
      },
      {
        "id": 387793,
        "name": "Dressing",
        "zoneType": 29,
        "numberOfDevices": 1
      },
      {
        "id": 387794,
        "name": "Chambre amis",
        "zoneType": 29,
        "numberOfDevices": 1
      }
    ]
  }
]

@Eoras
Copy link
Author

Eoras commented Sep 28, 2024

Hello, j'ai envoyé un e-mail à Atlantic au service développement qui ont dit me mettre en contact avec les service IOT cosyztouch en espérant avoir un retour de leur part, j'ai demandé s'il était possible d'avoir les informations sur les remontée d'informations COZYTOUCH pour mon produit, avec un peut de chance j'aurais une réponse de leur part, j'ai tout bien expliqué avec des exemples etc, donc je croise les doigts :)

@gduteil
Copy link
Owner

gduteil commented Sep 29, 2024

Hello, je doute que tu ais des une réponse de leur part mais on n'est jamais à l'abris d'une bonne surprise.

Je viens de faire les modifs (dans la branche main) pour la Z2 et l'ajout des températures des consignes ECO et eau chaude.
Les temperatures de consigne, thermostat et sonde extérieure étaient déja prises en compte.
Je n'ai rien fait pour le moment pour les 7, 177 et 178 par manque d'infos.

Tu peux installer la branche main et me dire si ça fonctionne ?

@Eoras
Copy link
Author

Eoras commented Sep 29, 2024

Je test ça tout de suite

@Eoras
Copy link
Author

Eoras commented Sep 29, 2024

Comment je peux faire pour télécharger la version MAIN? ça me propose seulement les tag
image

Du coup en SSH j'ai fait un git pull de ta branch main je vais tester maintenant

@Eoras
Copy link
Author

Eoras commented Sep 29, 2024

Voilà ce que j'ai fait :

  1. J'ai supprimer la PAC de l'intégration
  2. J'ai remis la pac de l'intégration

image

PROBLEME : Ça me dit que la Zone 1 est éteinte (hors elle st allumée)
PROBLEME : La zone 2 est OK pour moi a première vue.
PROBLEME : Le mode ABSCENCE est activé ? Bizarre, car elle ne l'est pas sur la PAC (c'est en pending... est-ce que c'est suite à mes tests que j'avais fait ?)

Par contre, j'ai perdu le contrôle toutes mes climatisation :'( il doit y avoir un soucis
image

@gduteil
Copy link
Owner

gduteil commented Sep 29, 2024

C'est bizarre que tu ais "PAC Z1" en double, ça devrait disparaitre lors en la réinstallant...
Pour son état, la capability_1 vaut combien ?

Pour le mode absence, tu as une date planifiée dans l'appli ?
La partie "absence" du json a-t-elle des valeurs autre que null ?

Pour les clims j'ai effectivement fait une petite erreur, ça sera corrigé dans le prochain push

@Eoras
Copy link
Author

Eoras commented Sep 29, 2024

capability_1 vaut 7 actuellement (parfois 1), mais j'avais analyse 7 = mode dérogation c'est bizarre car sur ma PAC actuellement je suis pas en derog. Est-ce que c'est qu'il y a une date dans absence et du coup ça considère que c'est dérogé jusqu'à cette date ?

"devices": [
            {
                "customName": "Alfea Extensa Duo A.I. 3 R32",
                "deviceId": 3127386,
                "deviceUrl": "xxxxxxxxxx",
                "gatewayId": 00000000,
                "masterDeviceId": null,
                "modelId": 211,
                "name": "Alfea Extensa Duo A.I. 3 R32",
                "productId": 2,
                "tags": [],
                "gatewaySerialNumber": "2049-8183-7417",
                "longName": "Alfea Extensa Duo A.I. 3 R32",
                "productRange": null,
                "isAvailable": true,
                "isAvailableTimestamp": 1712060693,
                "isRemoteMaintainable": true,
                "zoneId": 00000000,
                "capabilities": [
                    {
                        "capabilityId": 1,
                        "modificationDate": 1727562693,
                        "value": "7"
                    },
                    {
                        "capabilityId": 2,
                        "modificationDate": 1727483573,
                        "value": "1"
                    },
                    {
                        "capabilityId": 3,
                        "modificationDate": 1719439353,
                        "value": "1"
                    },
                    {
                        "capabilityId": 4,
                        "modificationDate": 1712067901,
                        "value": "0"
                    },
                    {
                        "capabilityId": 5,
                        "modificationDate": 1712067897,
                        "value": "0"
                    },
                    {
                        "capabilityId": 6,
                        "modificationDate": 1712067895,
                        "value": "0"
                    },
                    {
                        "capabilityId": 7,
                        "modificationDate": 1727280750,
                        "value": "4"
                    },
                    {
                        "capabilityId": 15,
                        "modificationDate": 1712067898,
                        "value": "2"
                    },
                    {
                        "capabilityId": 17,
                        "modificationDate": 1727562743,
                        "value": "20.0"
                    },
                    {
                        "capabilityId": 18,
                        "modificationDate": 1727483107,
                        "value": "20.0"
                    },
                    {
                        "capabilityId": 19,
                        "modificationDate": 1727583897,
                        "value": "null"
                    },
                    {
                        "capabilityId": 20,
                        "modificationDate": 1726402833,
                        "value": "null"
                    },
                    {
                        "capabilityId": 22,
                        "modificationDate": 1719439355,
                        "value": "55"
                    },
                    {
                        "capabilityId": 23,
                        "modificationDate": 1712083357,
                        "value": "55"
                    },
                    {
                        "capabilityId": 24,
                        "modificationDate": 1727615155,
                        "value": "1347"
                    },
                    {
                        "capabilityId": 25,
                        "modificationDate": 1712154271,
                        "value": "0"
                    },
                    {
                        "capabilityId": 26,
                        "modificationDate": 1727442359,
                        "value": "2"
                    },
                    {
                        "capabilityId": 28,
                        "modificationDate": 1721124948,
                        "value": "0"
                    },
                    {
                        "capabilityId": 29,
                        "modificationDate": 1716917210,
                        "value": "1740"
                    },
                    {
                        "capabilityId": 39,
                        "modificationDate": 1712082810,
                        "value": "40"
                    },
                    {
                        "capabilityId": 41,
                        "modificationDate": 1727282184,
                        "value": "15.0"
                    },
                    {
                        "capabilityId": 42,
                        "modificationDate": 1727281820,
                        "value": "20.0"
                    },
                    {
                        "capabilityId": 43,
                        "modificationDate": 1727281479,
                        "value": "15.0"
                    },
                    {
                        "capabilityId": 57,
                        "modificationDate": 1727580302,
                        "value": "122000"
                    },
                    {
                        "capabilityId": 59,
                        "modificationDate": 1727562294,
                        "value": "122000"
                    },
                    {
                        "capabilityId": 60,
                        "modificationDate": 1727612709,
                        "value": "244000"
                    },
                    {
                        "capabilityId": 73,
                        "modificationDate": 1712067901,
                        "value": "2"
                    },
                    {
                        "capabilityId": 74,
                        "modificationDate": 1712067896,
                        "value": "2"
                    },
                    {
                        "capabilityId": 86,
                        "modificationDate": 1719437836,
                        "value": "1"
                    },
                    {
                        "capabilityId": 87,
                        "modificationDate": 1719439352,
                        "value": "0"
                    },
                    {
                        "capabilityId": 88,
                        "modificationDate": 1712067894,
                        "value": "R002430600"
                    },
                    {
                        "capabilityId": 93,
                        "modificationDate": 1712067894,
                        "value": "2"
                    },
                    {
                        "capabilityId": 94,
                        "modificationDate": 1712067894,
                        "value": "        7107"
                    },
                    {
                        "capabilityId": 96,
                        "modificationDate": 1712067894,
                        "value": "24.0"
                    },
                    {
                        "capabilityId": 97,
                        "modificationDate": 1726397009,
                        "value": "28.0"
                    },
                    {
                        "capabilityId": 101,
                        "modificationDate": 1726310583,
                        "value": "[{\"monday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"tuesday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"wednesday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"thursday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"friday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"saturday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"sunday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]}]"
                    },
                    {
                        "capabilityId": 102,
                        "modificationDate": 1722431131,
                        "value": "[{\"monday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"tuesday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"wednesday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"thursday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"friday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"saturday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"sunday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]}]"
                    },
                    {
                        "capabilityId": 103,
                        "modificationDate": 1726310588,
                        "value": "[{\"monday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"tuesday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"wednesday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"thursday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"friday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"saturday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"sunday\": [{\"start\": \"05:30\",\"end\": \"23:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]}]"
                    },
                    {
                        "capabilityId": 104,
                        "modificationDate": 1722431130,
                        "value": "[{\"monday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"tuesday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"wednesday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"thursday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"friday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"saturday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]},{\"sunday\": [{\"start\": \"06:00\",\"end\": \"22:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"},{\"start\": \"00:00\",\"end\": \"00:00\"}]}]"
                    },
                    {
                        "capabilityId": 107,
                        "modificationDate": 1712067900,
                        "value": "6"
                    },
                    {
                        "capabilityId": 109,
                        "modificationDate": 1727615758,
                        "value": "39.203125"
                    },
                    {
                        "capabilityId": 110,
                        "modificationDate": 1727615782,
                        "value": "22.921875"
                    },
                    {
                        "capabilityId": 111,
                        "modificationDate": 1727615781,
                        "value": "55.1875"
                    },
                    {
                        "capabilityId": 113,
                        "modificationDate": 1712067894,
                        "value": "24.0"
                    },
                    {
                        "capabilityId": 114,
                        "modificationDate": 1726397009,
                        "value": "28.0"
                    },
                    {
                        "capabilityId": 116,
                        "modificationDate": 1727615699,
                        "value": "38.15625"
                    },
                    {
                        "capabilityId": 117,
                        "modificationDate": 1727615833,
                        "value": "21.1"
                    },
                    {
                        "capabilityId": 118,
                        "modificationDate": 1727614631,
                        "value": "21.6"
                    },
                    {
                        "capabilityId": 119,
                        "modificationDate": 1727616181,
                        "value": "13.3"
                    },
                    {
                        "capabilityId": 120,
                        "modificationDate": 1712067894,
                        "value": "5"
                    },
                    {
                        "capabilityId": 148,
                        "modificationDate": 1727283127,
                        "value": "{\"month\": 9,\"hour\": 18,\"year\": 2024,\"day\": 25,\"minute\": 52}"
                    },
                    {
                        "capabilityId": 149,
                        "modificationDate": 1727283130,
                        "value": "{\"month\": 9,\"hour\": 19,\"year\": 2024,\"day\": 27,\"minute\": 0}"
                    },
                    {
                        "capabilityId": 152,
                        "modificationDate": 1727283130,
                        "value": "2"
                    },
                    {
                        "capabilityId": 154,
                        "modificationDate": 1712067899,
                        "value": "Etage"
                    },
                    {
                        "capabilityId": 155,
                        "modificationDate": 1712067897,
                        "value": "RdC"
                    },
                    {
                        "capabilityId": 159,
                        "modificationDate": 1727613192,
                        "value": "599"
                    },
                    {
                        "capabilityId": 165,
                        "modificationDate": 1712067899,
                        "value": "false"
                    },
                    {
                        "capabilityId": 169,
                        "modificationDate": 1713065161,
                        "value": "100.0"
                    },
                    {
                        "capabilityId": 170,
                        "modificationDate": 1713041163,
                        "value": "0"
                    },
                    {
                        "capabilityId": 171,
                        "modificationDate": 1712068076,
                        "value": "35.0"
                    },
                    {
                        "capabilityId": 172,
                        "modificationDate": 1727282142,
                        "value": "8.0"
                    },
                    {
                        "capabilityId": 176,
                        "modificationDate": 1726397001,
                        "value": "0"
                    },
                    {
                        "capabilityId": 178,
                        "modificationDate": 1727483107,
                        "value": "20.0"
                    },
                    {
                        "capabilityId": 180,
                        "modificationDate": 1726357457,
                        "value": "100"
                    },
                    {
                        "capabilityId": 184,
                        "modificationDate": 1727280750,
                        "value": "0"
                    },
                    {
                        "capabilityId": 185,
                        "modificationDate": 1727485530,
                        "value": null
                    },
                    {
                        "capabilityId": 187,
                        "modificationDate": 1726219212,
                        "value": "0"
                    },
                    {
                        "capabilityId": 188,
                        "modificationDate": 1712067895,
                        "value": "3"
                    },
                    {
                        "capabilityId": 189,
                        "modificationDate": 1726397000,
                        "value": "0"
                    },
                    {
                        "capabilityId": 190,
                        "modificationDate": 1712067901,
                        "value": "0"
                    },
                    {
                        "capabilityId": 191,
                        "modificationDate": 1712067897,
                        "value": "0"
                    },
                    {
                        "capabilityId": 218,
                        "modificationDate": 1726160540,
                        "value": "0"
                    },
                    {
                        "capabilityId": 335,
                        "modificationDate": 1712067895,
                        "value": "002430600007107"
                    },
                    {
                        "capabilityId": 58773,
                        "modificationDate": 1727282213,
                        "value": "20.0"
                    },
                    {
                        "capabilityId": 100406,
                        "modificationDate": 1727615154,
                        "value": "1305720"
                    },
                    {
                        "capabilityId": 107106,
                        "modificationDate": 1719439352,
                        "value": "3"
                    }
                ]
            }

@Eoras
Copy link
Author

Eoras commented Sep 29, 2024

Correspondance avec le module Overkiz

"capabilityId": 169 = RSSILevelState
"capabilityId": 88, = ProductModelNameState
"capabilityId": 94 et 335 = DeviceSerialNumberState
"capabilityId": 171 = AbsenceCoolingTargetTemperatureState
"capabilityId": 172 = AbsenceHeatingTargetTemperatureState

@gduteil
Copy link
Owner

gduteil commented Sep 29, 2024

Le mode dérogation n'est actif qu'en cas de programmation, ce qui n'est pas le cas.
Je pense la valeur 7 correspond à autre chose, tu ne vois vraiment aucune différence entre les 2 zones sur l'appli ou dans les menus de la PAC ? Ca pourrait être un mode auto, eco ou autre.

Pour le mode absence, c'est normalement la 152, et j'avais vu sur d'autres appareils que 0=off, 1=on, 2=pending, où pending est lorsque une absence est programmée mais qu'on n'est pas encore arrivé à la date. Tu peux essayer de remettre une absence, attendre 2 minutes et l'enlever voir comment évolue le capteur "Absense" ?

Concernant les 171 et 172 j'avais plutôt identifié ça comme les bornes de réglages utilisateur de la température mais probablement par erreur, l'appli de permet quelle plage de réglage ?

@Eoras
Copy link
Author

Eoras commented Sep 29, 2024

Effectivement j’avais une derrogation sur le lvl 1 mais je savais

@Eoras
Copy link
Author

Eoras commented Sep 29, 2024

IMG_7224
IMG_7225
IMG_7226
IMG_7227

J’ai annulé la dérogation que j’avais sur l’étage (zone 1) et capability 1 est revenu à 1. Donc 7 c’est quand il y a une dérogation sur la zone de chauffe.

Sur l’application je ne peux pas programmer une absence inférieure à 48h.

Je pense que le pending c’est le test que j’ai fait vendredi à mon avis qui va se terminer lundi soir.

@gduteil
Copy link
Owner

gduteil commented Sep 29, 2024

Ok ca confirme que 7 est bien pour une dérogation, tu confirmes que tu n'as pas de programmation ?
Si tu n'en as pas tu sais à quoi ça correspond ?

@Eoras
Copy link
Author

Eoras commented Sep 29, 2024

Sisi justement j’en avait bien une dérogation en cours que j’avais pas vu, c’est pour ça que capability 1 était sur 7. J’ai annulé la dérogation et c’est revenu en 1

1 doit être le mode confort
7 le mode dérogation (consigne manuelle)

@gduteil
Copy link
Owner

gduteil commented Sep 29, 2024

Si je résume, la consigne à appliquer en mode confort est commune aux 2 zones et ça serait réglé par la 41 ?
Les consignes manuelles seraient la 17 pour Z1 et 18 pour Z2 ?
Il doit y avoir des capabilities pour le temps total de la dérogation et le temps restant, ça serait intéressant de les identifier également, ce sont probablement des valeurs en minutes, avec un temps total commun et un temps restant par zone.

@Eoras
Copy link
Author

Eoras commented Sep 29, 2024

Non pas du tout, la consigne n'est pas commune. Là elle est à 20,0°C sur les deux car c'est la configuration que j'ai.
Pour moi, la température de consigne en mode confort de la ZONE 1 c'est la capability_17 et la consigne confort de la zone_2 c'est la capability_18.

41 c'est la température de consigne en mode ECO pour la zone 1
43 c'est la température de consigne en mode ECO pour la zone 2

ZONE 1 :
Capability_1 -> ZONE 1 - Etat du chauffage de la zone 1 (Passe de 0 à 1 lorsque je l'active la zone 1, à 7 en mode dérogation)
Capability_17 -> ZONE 1 - Température de consigne (Passe de 8° (Absence) à 20°(Confort) lorsque j'active la zone 1)
Capability_117 -> ZONE 1 - Température ambiante retournée par le thermostat
Capability_41 -> ZONE 1 - Température de consigne pour le mode ECO
ZONE 2 :

Capability_2 -> ZONE 2 - Etat du chauffage de la zone 2 (Passe de 0 à 1 lorsque je l'active la zone 2, à 7 en mode dérogation)
Capability_18 -> ZONE 2 - Température de consigne (Passe de 8° (ABSENCE) à 20°(CONFORT) lorsque j'active la zone 2)
Capability_118 -> ZONE 2 - Température ambiante retournée par le thermostat
Capability_43 -> ZONE 2 - Température de consigne pour le mode ECO

@gduteil
Copy link
Owner

gduteil commented Sep 29, 2024

Ok, et le mode ECO est aussi sur les capabilities 1/2 ou sur d'autres ?

@Eoras
Copy link
Author

Eoras commented Sep 29, 2024

En gros, le chauffage est en mode "MANUEL", ce qui veut dire que je gère seulement la température de consigne par zone.

Sur mon application COZYTOUCH j'ai :

  • Un affichage qui me dit si mon chauffage est OFF ou ON (Si j'allume 1 zone il sera sur ON et si les 2 zones sont éteintes alors il sera sur OFF)
  • Un affichage pour la zone 1 ou je peux :
    - Changer la consigne de la zone 1
    - La température relevée du thermostat
    - Mode ON ou OFF (c'est le mode manuel)
    - Configurer les températures CONFORT (20°) ECO (15°) et ABSENCE (8°)
  • Un autre affichage pour la zone 2, indépendante de l'affichage précédent où je peux régler la même chose mais pour la zone

Ma pompe à chaleur est réglée pour fonctionner seulement en mode MANUEL, pas de programmation seulement une consigne de confort.

capability_1 => Zone 1 : 1: CONFOT | 7: DEROGATION
capability_2 => Zone 2 : 1: CONFOT | 7: DEROGATION

@Eoras
Copy link
Author

Eoras commented Sep 29, 2024

J'essai de débug avec un proxy mais c'est compliqué car COZYTOUCH passe par les serveur OVERKIZ avec des méthode pour envoyer les commandes...

ZONE 1 :

  1. Lorsque je modifie la consigne de la zone 1 sur mon application Cozytouch est envoyé aux serveurs OVERKIZ :
    core:TargetTemperatureState#8 : 20.0
    core:ConfortHeatingTargetTemperatureState#8 : 20.0
    Sur HA Capability_17 et Capability_58773 à changé en 20.0
    On peut donc dire que Capability_17 = Température target de la Zone 1, et température consigne du mode CONFORT.

  2. Quand je modifie dans la liste des températures de consignes, la température ECO :
    Sur HA Capability_41 a changé en 14.0
    On peut donc dire que Capability_41 = Température de consigne ECO de la Zone 1

  3. Si j'éteins la ZONE 1 (Donc ZONE 2 en fonctionnement), voici ce qui se passe sur serveurs OVERKIZ
    setHeatingOnOffState#8 type3 value: "off"
    Sur HA capability_17 est passé à 8.0 (Normale c'est la température target de la zone 1, 8.0° le mode absent ou hors gel)
    Entité Alfea Extensa DUO AI 3 PAC Z1 à changé en 0 (sensor.alfea_extensa_duo_a_i_3_r32_pac_z1) et climate.alfea_extensa_duo_a_i_3_r32_pac_z1 à été éteint
    image
    capability_1 est passé à 0
    **On peut donc dire que Capability_1 = Etat de fonctionnement de la Zone 1, 0=éteint, 1=manuel ou confort, 7=derogation **

  4. Si je rallume la Zone 1 :
    climate.alfea_extensa_duo_a_i_3_r32_pac_z1 à changé en Chauffage
    sensor.alfea_extensa_duo_a_i_3_r32_pac_z1 est passé à 4 (Mode MANUEL de chauffage ?)
    Capability_1 est revenu à 1=manuel ou confort
    Capability_17 est revenu à 20 = Température de consigne de la Zone 1
    Ce qui confirme juste au dessus, capability_1 = etat de fonctionnement de la zone 1

ZONE 2 :

  1. Quand je modifie la température de consigne de ma zone 2 :
    core:TargetTemperatureState#10 : 20.5
    core:ConfortHeatingTargetTemperatureState#10 : 20.5
    Sur HA Capability_18 et Capability_178 à changé en 20.5
    On peut donc dire que Capability_18 = Température target de la Zone 2, et température consigne du mode CONFORT.

  2. Quand je modifie dans la liste des températures de consignes, la température ECO :
    Sur HA Capability_43 a changé en 14.0
    On peut donc dire que Capability_43 = Température de consigne ECO de la Zone 2

  3. Si j'éteins la ZONE 2 (Donc ZONE 1 en fonctionnement), voici ce qui se passe sur serveurs OVERKIZ
    setHeatingOnOffState#10 type3 value: "off"
    Sur HA capability_18 est passé à 8.0 (Normale c'est la température target de la zone 2, 8.0° le mode absent ou hors gel)
    La j'ai pas de climate sur HA donc rien ne change sur la Z2 inexistante
    capability_2 est passé à 0
    **On peut donc dire que Capability_2 = Etat de fonctionnement de la Zone 2, 0=éteint, 1=manuel ou confort, 7=derogation **

Conclusion :

ZONE 1 :
Capability_1 = Etat de fonctionnement de la Zone 1, 0=éteint, 1=manuel ou confort, 7=dérogation
Capability_17 = Température target de la Zone 1 mais aussi et température consigne du mode CONFORT.
Capability_41 = Température de consigne ECO de la Zone 1
sensor.alfea_extensa_duo_a_i_3_r32_temperature_thermostat correspond bien à la température ambiante du thermostat de la zone 1

ZONE 2 :
Capability_2 = Etat de fonctionnement de la Zone 2, 0=éteint, 1=manuel ou confort, 7=dérogation
Capability_18 = Température target de la Zone 2.
Capability_43 = Température de consigne ECO de la ZONE 2
Capability_118 = Température ambiante du thermostat ZONE 2

Voilà, maintenant tout est indisponible car je suis soft-ban des serveur overkiz de cosytouch avec toutes mes requêtes xD
Je peux pas plus t'aider pour ce soir.

@gduteil
Copy link
Owner

gduteil commented Sep 29, 2024

Ok, désolé pour toutes ces questions mais sans avoir cette PAC sous la main c'est pas toujours facile de comprendre les différents modes ou de tester.

Dans l'idée, je pense que le plus simple serait d'avoir une selection de mode et des presets pour les modes ECO et Confort.
Je suis assez limité pour les choix des labels des modes, j'ai mis 0=Off, 1=Heat et 7=Auto (pour l'override).

Je pense qu'il faut que j'ajoute les presets (similaire au presets des clims) avec "Manuel", "Eco" et "Confort" pour définir la temperature de consigne en fonction de ce qui a été défini pour le mode correspondant.

J'ai push dans main la correction pour les clims, le mode "auto", ainsi que les quelques capabilities que les quelques dernieres entités que tu m'as données (serial number, model, radio level).

Je vais essayer d'ajouter les presets d'ici le WE prochain.

@Eoras
Copy link
Author

Eoras commented Sep 29, 2024

Je te remercie pour ton aide, je fais les tests demain sur ce que tu as push sur ta branche main.
Merci bcp

@gduteil
Copy link
Owner

gduteil commented Sep 29, 2024

Pas de soucis, j'ai fait cette intégration à la base pour ma chaudière gaz mais si je peux la faire évoluer et en faire profiter les autres pour d'autres appareils c'est toujours sympa.

Pour les eventuelles ajouts ou modifs, je me dis que ça peut être plus efficace se s'appeller que via la les réponses au ticket.
Si tu veux tu peux m'envoyer un mail sur mon gmail (même utilisateur qu'ici) pour planifier ça si besoin.

@Eoras
Copy link
Author

Eoras commented Oct 7, 2024

Hello, je reviens vers toi pour voir si tu as besoin d'autre chose ?
Effectivement le plus simple serait de se contacter je vais t'envoyer un e-mail.

J'ai d'ailleurs énormément d'erreur désormais :

Enregistreur: homeassistant
Source: custom_components/cozytouch/hub.py:406
intégration: Cozytouch ([documentation](https://github.com/gduteil/cozytouch), [problèmes](https://github.com/gduteil/cozytouch/issues))
S'est produit pour la première fois: 01:02:01 (19 occurrences)
Dernier enregistrement: 13:13:37

Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 258, in _handle_refresh_interval
    await self._async_refresh(log_failures=True, scheduled=True)
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 453, in _async_refresh
    self.async_update_listeners()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 168, in async_update_listeners
    update_callback()
  File "/config/custom_components/cozytouch/climate.py", line 189, in _handle_coordinator_update
    self.coordinator.get_capability_value(self._capability["capabilityId"])
  File "/config/custom_components/cozytouch/hub.py", line 406, in get_capability_value
    if capabilityId == capability["capabilityId"]:
                       ~~~~~~~~~~^^^^^^^^^^^^^^^^
TypeError: string indices must be integers, not 'str'

Enregistreur: homeassistant
Source: custom_components/cozytouch/sensor.py:380
intégration: Cozytouch ([documentation](https://github.com/gduteil/cozytouch), [problèmes](https://github.com/gduteil/cozytouch/issues))
S'est produit pour la première fois: 00:03:55 (10 occurrences)
Dernier enregistrement: 12:25:00

Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 258, in _handle_refresh_interval
    await self._async_refresh(log_failures=True, scheduled=True)
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 453, in _async_refresh
    self.async_update_listeners()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 168, in async_update_listeners
    update_callback()
  File "/config/custom_components/cozytouch/sensor.py", line 380, in _handle_coordinator_update
    self._attr_name,
    ^^^^^^^^^^^^^^^
AttributeError: 'CozytouchSensor' object has no attribute '__attr_name'. Did you mean: '_attr_name'?

Enregistreur: custom_components.cozytouch.hub
Source: helpers/update_coordinator.py:367
intégration: Cozytouch ([documentation](https://github.com/gduteil/cozytouch), [problèmes](https://github.com/gduteil/cozytouch/issues))
S'est produit pour la première fois: 00:04:03 (5 occurrences)
Dernier enregistrement: 12:10:36

Error requesting Cozytouch_3182935 data: 502, message='Attempt to decode JSON with unexpected mimetype: text/html', url='https://apis.groupe-atlantic.com/users/token'
Error requesting Cozytouch_3182934 data: 502, message='Attempt to decode JSON with unexpected mimetype: text/html', url='https://apis.groupe-atlantic.com/users/token'
Error requesting Cozytouch_3182933 data: 502, message='Attempt to decode JSON with unexpected mimetype: text/html', url='https://apis.groupe-atlantic.com/users/token'
Error requesting Cozytouch_3182936 data: 502, message='Attempt to decode JSON with unexpected mimetype: text/html', url='https://apis.groupe-atlantic.com/users/token'

@Eoras
Copy link
Author

Eoras commented Oct 14, 2024

Je t'ai envoyé un e-mail je sais pas si tu l'a bien eu ?

@gduteil
Copy link
Owner

gduteil commented Oct 15, 2024

Salut, non je n'ai rien reçu

@Eoras
Copy link
Author

Eoras commented Oct 15, 2024

Ha j'ai pourtant envoyé sur le mail gmail avec lequel tu fais les commits.
Tu as check dans tes indésirables ?

@Eoras
Copy link
Author

Eoras commented Oct 24, 2024

Tu as reçu ? Je t'en ai renvoyé un nouveau, c'est bizzare que tu ne l'ai pas.

@Eoras
Copy link
Author

Eoras commented Nov 3, 2024

Hello, petite relance :) peut-être que tu n'a pas vu mon msg?
Tu as reçu mon e-mail ou toujours pas?

@Eoras
Copy link
Author

Eoras commented Dec 6, 2024

Hello, je me doute que tu dois avoir pas mal de chose à faire, mais si jamais tu as un peu de temps pour qu'on voit ensemble :)
J'ai renvoyé un e-mail mais pas sur que tu reçoive mes mails :/ tu me tiens au courant stp

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants