# Erreur / perte de connexion avec Service NetAtmo

**URL:** <https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448>\
**Category:** Configuration\
**Tags:** netatmo\
**Created:** [Mars 22, 2025, 12:43 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448 "2025-03-22T12:43:23Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Will\_71](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/will_71/32/9582_2.png) [@Will\_71](https://community.gladysassistant.com/u/Will_71)\
**Post date:** [Mars 22, 2025, 12:43 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/1 "2025-03-22T12:43:23Z")

</div>

Salut @Terdious, ce matin je me suis aperçu que mon thermostat NetAtmo ne remontait plus d’info dans Gladys.  
Dans la configuration le service n’était plus connecté. J’ai alors cliqué sur **Sauvegarder et connecter** et revalider sur la page NetAtmo qui s’ouvre.  
Malheureusement les données ne remontent toujours pas.  
J’ai essayé de supprimer le thermostat et de le remettre mais sans succès.  
Dans les logs j’obtiens l’erreur ci-dessous:

```auto
025-03-22T13:22:08+0100 <info> netatmo.loadDevices.js:146 (NetatmoHandler.loadDevices) Netatmo devices not supported : 0
2025-03-22T13:22:08+0100 <info> netatmo.discoverDevices.js:23 (NetatmoHandler.discoverDevices) 2 Netatmo devices found
2025-03-22T13:22:08+0100 <info> netatmo.convertDeviceEnergy.js:108 (NetatmoHandler.convertDeviceEnergy) Netatmo Energy device "undefined, NAPlug" converted
2025-03-22T13:22:08+0100 <info> netatmo.convertDeviceEnergy.js:108 (NetatmoHandler.convertDeviceEnergy) Netatmo Energy device "Thermostat, NATherm1" converted
2025-03-22T13:22:11+0100 <error> netatmo.loadDeviceDetails.js:101 (NetatmoHandler.loadDeviceDetails) Error getting devices details - error: AxiosError: Request failed with status code 400
    at settle (/src/server/services/netatmo/node_modules/axios/lib/core/settle.js:19:12)
    at IncomingMessage.handleStreamEnd (/src/server/services/netatmo/node_modules/axios/lib/adapters/http.js:585:11)
    at IncomingMessage.emit (node:events:530:35)
    at endReadableNT (node:internal/streams/readable:1698:12)
    at processTicksAndRejections (node:internal/process/task_queues:90:21) {
  code: 'ERR_BAD_REQUEST',
  config: {
    transitional: {
      silentJSONParsing: true,
      forcedJSONParsing: true,
      clarifyTimeoutError: false
    },

```

J’ai pas mis les logs complet car il y a des infos perso dedans mais si besoin je peux te les envoyer en privée.

Autre point, dans la page découverte NetAtmo il ne trouve donc pas mon thermostat et Gladys est figée. Plus aucun bouton ne fonctionne.

As-tu des soucis de ton côté?

PS: mon thermostat est bien connecté dans l’application NetAtmo et je peux le piloter depuis l’application de mon téléphone sans problème.

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Mars 23, 2025, 8:49 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/2 "2025-03-23T20:49:17Z")

</div>

Salut @Will_71,

Alors en effet, j’ai eu le meme souci. Il a fallu que je me rende sur la page de dev.netatmo pour «&nbsp;unban&nbsp;». Visiblement Gladys a réalisé trop de requete et l’api a banni l’application … :

 ![1000030631](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/e/9/e9aab78883ac8231ddb0c007707f40efa5206d47.jpeg)

Suite a une maj ??

Par contre j’ai plein de données manquantes malgré tout, je dois jeter un oeil cette semaine voir si quelque chose a changé côté API ou côté Gladys sur une maj …

---

<div class="post-metadata">

**Author:** ![Will\_71](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/will_71/32/9582_2.png) [@Will\_71](https://community.gladysassistant.com/u/Will_71)\
**Post date:** [Mars 23, 2025, 9:17 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/3 "2025-03-23T21:17:10Z")

</div>

Ok merci de ton retour. Je peux pas te confirmer exactement si cela s’est produit avant ou après la dernière mise à jour.  
Pour essayer j’ai recréer une app dans NetAtmo et essayé de reconfigurer le service mais plus rien ne fonctionne, Gladys ne détecte plus mon thermostat et la page de configuration se fige

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Mars 23, 2025, 9:58 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/4 "2025-03-23T21:58:33Z")

</div>

Ok ! Je tente de debug demain et te previens si besoin de tes logs !!  
Mon Node-red a également des soucis donc …  
Pour Gladys en remontant les courbes a 30 jours, je vois une derniere data au 15/03. Du coup pas lié à une maj.  
Par contre mes commandes passent bien … strange tout ça.

---

<div class="post-metadata">

**Author:** ![Will\_71](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/will_71/32/9582_2.png) [@Will\_71](https://community.gladysassistant.com/u/Will_71)\
**Post date:** [Mars 23, 2025, 10:32 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/5 "2025-03-23T22:32:11Z")

</div>

J’ai réactivé Netatmo dans NodeRed et je confirme que cela ne fonctionne pas non plus.  
Enfin quand je génère un token cela fonctionne 5 min et après plus rien.

---

<div class="post-metadata">

**Author:** ![Will\_71](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/will_71/32/9582_2.png) [@Will\_71](https://community.gladysassistant.com/u/Will_71)\
**Post date:** [Mars 24, 2025, 5:49 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/6 "2025-03-24T05:49:32Z")

</div>

Voila le retour des données avec NodeRed

 ![1000000834](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/7/b/7bcd15d235280b2935de470cd4ab3d2f762000f8.jpeg)  
Donc cela confirme que cela fonctionne seulement un certain temps après avoir recreer un token chez Netatmo.  
Donc il y a bien un problème chez eux ou ils ont changé quelque chose.

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Mars 24, 2025, 7:33 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/7 "2025-03-24T07:33:22Z")

</div>

[https://helpcenter.netatmo.com/hc/fr/community/posts/24778172322578-Weather-API-can-t-get-new-tokens](https://helpcenter.netatmo.com/hc/fr/community/posts/24778172322578-Weather-API-can-t-get-new-tokens)

[https://helpcenter.netatmo.com/hc/fr/community/posts/25380088749202-Weather-API-returns-HTTP-Status-404](https://helpcenter.netatmo.com/hc/fr/community/posts/25380088749202-Weather-API-returns-HTTP-Status-404)

[https://helpcenter.netatmo.com/hc/fr/community/posts/25460250126226-HTTP-411-error-in-API-setroomthermpoint](https://helpcenter.netatmo.com/hc/fr/community/posts/25460250126226-HTTP-411-error-in-API-setroomthermpoint)

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Mars 24, 2025, 8:37 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/8 "2025-03-24T08:37:55Z")

</div>

Tadam ! Suite à MAJ d’Axios :

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/4/e/4ea7fb6e14d029076592cfd187177fd57d62c6f5.png)

…

Sauf que non, rien de plus !! Et la réponse de chatGPT est rédhibitoire pour Axios … C’est fou !!

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/7/3/7322edeaf3c94ba4f2b2e2b5f099f1ff1056a31a.png)

@pierre-gilles, une idée de contournement ? Je test avec undici comme préco ici ? Je ne connais pas donc je préfère demander avant de me lancer.

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mars 24, 2025, 8:42 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/9 "2025-03-24T08:42:17Z")

</div>

> [@Terdious](#):
>
> @pierre-gilles, une idée de contournement ? Je test avec undici comme préco ici ? Je ne connais pas donc je préfère demander avant de me lancer.

La proposition de ChatGPT est bonne, undici est une librairie sérieuse développée par des membres de l’équipe Node.js, stable et légère :

 ![Screenshot 2025-03-24 at 09.41.09](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/2/b/2b1ac7ef248d9ef6736c5cf56e19f0516c6fc340.png)

Donc effectivement migrer vers ça est une bonne solution, ça devrait pas être trop compliqué je pense.

J’ai effectivement eu plusieurs mail ce week-end sur la boite mail Gladys me disant que l’intégration Netatmo est cassée 😛

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Mars 24, 2025, 8:45 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/10 "2025-03-24T08:45:15Z")

</div>

Parfait, je test le correctif.

Bon ça va, heureusement que je fais mon petit tour journalier ^^ Pour dire, je ne m’étais aperçu de rien depuis le 15/03…

Merci @_Will_71 !!

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Mars 24, 2025, 9:41 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/11 "2025-03-24T09:41:04Z")

</div>

Bonne nouvelle !! Ca match !!

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mars 24, 2025, 9:45 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/12 "2025-03-24T09:45:28Z")

</div>

Excellent !! Dis moi dès que t’as une PR 😃

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Mars 24, 2025, 2:30 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/13 "2025-03-24T14:30:01Z")

</div>

Les tests furent longs … Désolé

Normalement c’est bon @pierre-gilles !

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mars 24, 2025, 3:48 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/14 "2025-03-24T15:48:47Z")

</div>

Merci pour la PR !

Je t’ai fais des retours 🙂

> <https://github.com/GladysAssistant/Gladys/pull/2256#pullrequestreview-2710845558>
>
> \### Pull Request check-list
> 
> To ensure your Pull Request can be accepted as fa…st as possible, make sure to review and check all of these items:
> 
> \- \[\] If your changes affects code, did your write the tests?
> \- \[\] Are tests passing? (\`npm test\` on both front/server)
> \- \[x\] Is the linter passing? (\`npm run eslint\` on both front/server)
> \- \[x\] Did you run prettier? (\`npm run prettier\` on both front/server)
> \- \[\] If you are adding a new features/services, did you run integration comparator? (\`npm run compare-translations\` on front)
> \- \[x\] Did you test this pull request in real life? With real devices? If this development is a big feature or a new service, we recommend that you provide a Docker image to the community (\[french forum\](https://community.gladysassistant.com/)/\[english forum\](https://en-community.gladysassistant.com/)) for testing before merging.
> \- \[\] If your changes modify the API (REST or Node.js), did you modify the API documentation? (Documentation is based on comments in code)
> \- \[\] If you are adding a new features/services which needs explanation, did you modify the user documentation? See \[the GitHub repo\](https://github.com/GladysAssistant/v4-website) and the \[website\](https://gladysassistant.com).
> \- \[\] Did you add fake requests data for the demo mode (\`front/src/config/demo.js\`) so that the demo website is working without a backend? (if needed) See \[https://demo.gladysassistant.com\](https://demo.gladysassistant.com).
> 
> NOTE: these things are not required to open a PR and can be done afterwards / while the PR is open.
> 
> \### Description of change
> 
> Related to @William-De71's FR forum request \[Error / connection loss with NetAtmo Service\](https://community.gladysassistant.com/t/erreur-lost-de-connexion-avec-service-netatmo/9448
> )

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Mars 24, 2025, 4:57 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/15 "2025-03-24T16:57:54Z")

</div>

Thx !!

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/e/6/e6fb06fc26b8c47deb53bab82520ab7be32318e5.png)

Question : Je l’utilise dans les tests, c’est pour cela que je l’ai installé en global en plus du service. Dois-je faire autrement ? Le réinstaller dans les tests ?

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mars 24, 2025, 5:01 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/16 "2025-03-24T17:01:34Z")

</div>

> [@Terdious](#):
>
> Question : Je l’utilise dans les tests, c’est pour cela que je l’ai installé en global en plus du service. Dois-je faire autrement ? Le réinstaller dans les tests ?

Effectivement, dans ce cas tu peux l’installer dans les devDependencies ! 🙂

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Mars 24, 2025, 5:18 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/17 "2025-03-24T17:18:59Z")

</div>

> [@pierre-gilles](#):
>
> Je t’ai fais des retours 🙂
> 
> [fix: Netatmo service to replace axios with undici for HTTP requests by Terdious · Pull Request #2256 · GladysAssistant/Gladys · GitHub](https://github.com/GladysAssistant/Gladys/pull/2256#pullrequestreview-2710845558)

Répondu et corrigé !!

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mars 26, 2025, 7:21 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/18 "2025-03-26T07:21:54Z")

</div>

Je t’ai répondu 🙂

> <https://github.com/GladysAssistant/Gladys/pull/2256#discussion_r2013523910>
>
> I don't think so. I've checked with the documentation and \`setGlobalDispatcher\` …is global and it modifies the undici package.
> 
> You need to do 2 things to clean up: 
> 
> \- Close the MockAgent after the tests are finished
> \- Restore the previous dispatcher
> 
> If not done, it means all instances of undici accross the Node.js project will be affected, it's dangerous ⚠️
> 
> I've done a few tests locally, and doing that works:
> 
> \`\`\`javascript
> const { MockAgent, setGlobalDispatcher, getGlobalDispatcher } = require('undici');
> 
> .... 
> describe('Netatmo Load Device Details', () =\> {
> let mockAgent;
> let netatmoMock;
> let originalDispatcher;
> 
> beforeEach(() =\> {
> sinon.reset();
> 
> // Store the original dispatcher
> originalDispatcher = getGlobalDispatcher();
> 
> // MockAgent setup
> mockAgent = new MockAgent();
> setGlobalDispatcher(mockAgent);
> mockAgent.disableNetConnect();
> netatmoMock = mockAgent.get('https://api.netatmo.com');
> 
> netatmoHandler.status = 'not\_initialized';
> netatmoHandler.accessToken = accessToken;
> });
> 
> afterEach(() =\> {
> sinon.reset();
> // Clean up the mock agent
> mockAgent.close();
> // Restore the original dispatcher
> setGlobalDispatcher(originalDispatcher);
> });
> \`\`\`

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Mars 26, 2025, 10:59 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/19 "2025-03-26T10:59:58Z")

</div>

Salut @pierre-gilles,

Merci pour la review et ta rigueur. Pour ma part, c’est moche … incapable de trouver les bonnes infos.

Bref… J’ai corrigé selon ce que tu m’as fourni.  
Par contre le dernier test a échoué sur mon dernier push qui n’était que textuel, sur autre chose que la PR :

```auto
  2815 passing (2m)
  1 failing

  1) house.arm
       should arm a house:
     expected emit to be called 4 times but was called twice
    emit(websocket.send-all, { payload: { house: "test-house" }, type: "alarm.arming" }) => null at House.arm (/home/runner/work/Gladys/Gladys/server/lib/house/house.arm.js:11:35)
    emit(trigger.check, { house: "test-house", type: "alarm.arming" }) => null at House.arm (/home/runner/work/Gladys/Gladys/server/lib/house/house.arm.js:12:36)
  AssertError: expected emit to be called 4 times but was called twice
      emit(websocket.send-all, { payload: { house: "test-house" }, type: "alarm.arming" }) => null at House.arm (lib/house/house.arm.js:11:35)
      emit(trigger.check, { house: "test-house", type: "alarm.arming" }) => null at House.arm (lib/house/house.arm.js:12:36)
      at Object.fail (node_modules/sinon/lib/sinon/assert.js:107:21)
      at failAssertion (node_modules/sinon/lib/sinon/assert.js:66:16)
      at Object.assertCallCount [as callCount] (node_modules/sinon/lib/sinon/assert.js:148:13)
      at Context.<anonymous> (test/lib/house/house.arm.test.js:33:12)

```

On ne peut toujours pas relancer ceux-ci lorsque échoué. Le souci étant que j’ai la même erreur en local maintenant … Je ne comprend pas !

Je suis désolé, mais j’ai besoin d’aide, si cela à lieu en local également, il doit forcément y avoir une raison, qui existait peut-être déjà auparavant mais été … couverte ? Pourrais-tu m’aider à comprendre et comment chercher le souci ?

EDIT : Le pire est que si je le lance en solo ce test, il plante toujours ???

---

<div class="post-metadata">

**Author:** ![Terdious](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/terdious/32/6316_2.png) [@Terdious](https://community.gladysassistant.com/u/Terdious)\
**Post date:** [Mars 26, 2025, 11:33 UTC](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448/20 "2025-03-26T11:33:08Z")

</div>

Bon c’est fou, je ne comprend pas pourquoi c’est arrivé d’un coup, si je lance 10 fois juste les tests de `server/test/lib/house/house.arm.test.js` ça plante en permanence maintenant en local sur l’origine :

```auto
  it('should arm a house', async () => {
    await house.arm('test-house');
    await Promise.delay(5);
    assert.callCount(event.emit, 4);

```

Si je passe à un delay de 8, ça plante 1 fois sur 8 :

```auto
  it('should arm a house', async () => {
    await house.arm('test-house');
    await Promise.delay(8);
    assert.callCount(event.emit, 4);

```

Et si je passe à un delay de 10, ça ne plante plus :

```auto
  it('should arm a house', async () => {
    await house.arm('test-house');
    await Promise.delay(10);
    assert.callCount(event.emit, 4);

```

Je suis incapable de déterminer ce que mes changements modifient dans le comportement de ce test en particulier …

J’ai fait une commande pour lancer les tests sur le service Netatmo + lib/house en mettant le delay à 8, pas de soucis 3 fois de suite… mais toujours 1 fois / 2 avec un delay à 5 …

Edit : J’ai push une modification : Ajout d’espace sur certains textes d’erreurs et les tests passent. Mais serait-il possible qu’on voit ensemble quand même pourquoi on a des échecs aléatoires comme ça (et visiblement pas tant aléatoire que ça en local…).

[Page suivante](https://community.gladysassistant.com/t/erreur-perte-de-connexion-avec-service-netatmo/9448.md?page=2)
