Service Netatmo

C’est ce que je comprend mais ça s’arrête sans raison !

Coupure reseau chez toi ou sur le docker hub.
Ça arrive parfois, attend un peut ca va revenir ^^

C’est bon c’est passé au bout de 4 essais.
Retour sur l’intégration bientôt.

1 « J'aime »

Une erreur et Gladys est connectée en même temps, c’est bizarre !!


Je changerai l’intitulé du lien pour la création de l’application, je n’ai pas cliqué dessus pensant que c’était le même que pour la création du compte, et j’ai cherchais un moment sur le site de Netatmo. Je mettrai « création de l’application »

Je pense que l’on ai obligé de cocher les 2 cases, non ?
Si on veut un control total, est ce que c’est utile ou obligatoire ?

Il y a un petit comportement étrange si on se trompe dans l’identifiant client avec le nouvel onglet pour accepter sur le site de Netatmo https://auth.netatmo.com, un bandeau jaune apparait et après c’est compliqué de ne plus l’avoir.

Dans ce même onglet après acceptation, notre instance Gladys apparait avant que l’onglet se ferme.

Avons nous besoin des Token lors de la création de l’application ?

Super boulot @Terdious.

1 « J'aime »

@Terdious ,

Pour ma part quand j’ai voulu Sauvegarder la configuration & Connecter j’ai eu cette erreur

2023-12-07T23:31:48+0100 <error> netatmo.saveConfiguration.js:27 (NetatmoHandler.saveConfiguration) Netatmo configuration stored errored ValidationError [SequelizeValidationError]: notNull Violation: t_variable.value cannot be null
    at InstanceValidator._validate (/src/server/node_modules/sequelize/src/instance-validator.js:78:13)
    at InstanceValidator._validateAndRunHooks (/src/server/node_modules/sequelize/src/instance-validator.js:111:7)
    at InstanceValidator.validate (/src/server/node_modules/sequelize/src/instance-validator.js:93:12)
    at model.save (/src/server/node_modules/sequelize/src/model.js:3996:7)
    at Function.create (/src/server/node_modules/sequelize/src/model.js:2280:12)
    at Variable.setValue (/src/server/lib/variable/variable.setValue.js:27:32)
    at NetatmoHandler.saveConfiguration (/src/server/services/netatmo/lib/netatmo.saveConfiguration.js:19:5)
    at saveConfiguration (/src/server/services/netatmo/api/netatmo.controller.js:30:20) {
  errors: [
    ValidationErrorItem {
      message: 't_variable.value cannot be null',
      type: 'notNull Violation',
      path: 'value',
      value: null,
      origin: 'CORE',
      instance: [t_variable],
      validatorKey: 'is_null',
      validatorName: null,
      validatorArgs: []
    }
  ]
}

J’ai retenté une 2ème fois et la j’ai eu la page de NetAtmo qui s’est ouverte pour valider la connexion.
Par contre le bandeau de l’erreur est resté

Découverte de mon thermostat parfait! :+1:

J’ai eu une erreur quand j’ai voulu Sauvegarder et impossible de sauvegarder NAPlug.

Pas de souci pour le thermostat.

Dans les logs j’ai ces 2 erreurs et je n’arrive pas à changer la consigne de température.

2023-12-07T23:43:06+0100 <error> netatmo.saveValue.js:72 () deviceGladys:  Thermostat featureName:  therm_setpoint_start_time  not found in the root of the Netatmo device nor in the other properties
2023-12-07T23:43:06+0100 <error> netatmo.saveValue.js:72 () deviceGladys:  Thermostat featureName:  therm_setpoint_end_time  not found in the root of the Netatmo device nor in the other properties

Sinon toutes les données ont l’air d’être lu

Mais encore des erreurs quand j’ai voullu re-tester de changer la consigne de température

2023-12-07T23:53:31+0100 <info> netatmo.setValue.js:25 (NetatmoHandler.setValue) netatmo
2023-12-07T23:53:31+0100 <warn> netatmo.setValue.js:26 (NetatmoHandler.setValue) [ '04', '00', '00', '1a', '4e', 'e8', 'therm_setpoint_temperature' ]
2023-12-07T23:53:31+0100 <error> netatmo.setValue.js:55 (NetatmoHandler.setValue) setValue error with status code:  ERR_BAD_REQUEST  -  403 and with status message:  Forbidden
2023-12-07T23:53:31+0100 <warn> netatmo.setValue.js:63 (NetatmoHandler.setValue) error details:  13  -  Application does not have the good scope rights
2023-12-07T23:53:31+0100 <info> netatmo.setValue.js:25 (NetatmoHandler.setValue) netatmo
2023-12-07T23:53:31+0100 <warn> netatmo.setValue.js:26 (NetatmoHandler.setValue) [ '04', '00', '00', '1a', '4e', 'e8', 'therm_setpoint_temperature' ]
2023-12-07T23:53:32+0100 <error> netatmo.setValue.js:55 (NetatmoHandler.setValue) setValue error with status code:  ERR_BAD_REQUEST  -  403 and with status message:  Forbidden
2023-12-07T23:53:32+0100 <warn> netatmo.setValue.js:63 (NetatmoHandler.setValue) error details:  13  -  Application does not have the good scope rights

Après cette erreur qui indique des problème de droit j’ai été voir la config et les 2 cases sont décochées alors que je les avait cochés.

J’ai alors recochés, revalider les droits dans NetAtmo mais si je change de page ou que je refresh la page les 2 cases sont à nouveaux décochés.

Voila pour un premier essai. C’est prometteur j’ai hâte de l’intégrer et de supprimer la partie dans Node-RED.

1 « J'aime »

Merci énormément pour votre patience et vos essais.
Je n’ai malheureusement pas eu le temps de regarder aujourd’hui.
HS : généralement je bosse dessus de 4 à 7 avant le boulot mais j’ai voulu installer mes détecteurs de presence que j’ai reçu hier suite au poste ici de la vidéos des frères poulain et qui a été plutôt chaotique car ils ne partagent pas leur code - qui soit dit en passant ne fonctionnait pas tel quel chez moi - mais ca y est ca marche !!^^ Je ferais un tuto pour ça une fois Netatmo car c’est 100 fois mieux que le détecteur de mouvement
FIN DU HS

Pour le coup je n’avais pas pensé à faire un test à nu avant de créer l’image… je verrais mieux comme ça, mais ca ressemble à un souci d’initialisation des variables.

Pour les messages d’erreurs c’est noté… soucis dans mes websockets surement

Pour la commande… aucune idée comme ça maos doit aussi avoir un lien avec une installe neuve, j’investigue demain.
Et je metterais des logs sur la prochaine image si de mon côté je ne retrouve pas les problemes.

En effet la 1ere est obligatoire, ce serait un non sens de la cocher. J’avais mis le toutpour laisser le choix en ecriture surtout, mais Pierre-Gilles a surement raison, on fait des choix et on les assumes. Je vais donc retirer les options et l’indiquer dans l’intitulé au-dessus qu’on donne obligatoirement les droit en lecture et en ecriture sur le Thermostat car c’est la base de l’integration. On verra pour les autres ajouts dans les futures PR.

Obligatoire pour un contrôle total.

En effet ^^

Ah j’avais pas testé l erreur d’identifiant, seulement le « Decliner » ^^

Non du coup, c’est justement recuperer automatiquement à partir de la page de connexion

Merci encore à vous !!

Il faudra que tu le stipule dans la doc.
Prêt pour les prochains tests !!

Tu es un lève tôt, moi c’est plus de 21h30 à 23h00 quand mes enfants sont au lit.

Bonjour,

Je pense avoir corrigé tous les retours. Je fignole et j’envoi sûrement demain matin.
J’ai repris une installation neuve et ça m’a permis d’avoir les constats de base que vous aviez. J’ai retiré les histoires de scopes car en effet le but est de tout contrôler et ça évite toute incompréhension. J’ai ajouté un laïus pour le souligner. J’ai retirer l’erreur en trop et enfin revu l’arrangement des boutons (à voir ce que vous en pensez si y a des choses à en sortir). @Tlse-vins quand ce sera disponible, pourras-tu faire un 1er test avec ton installation pour vérifier notamment la nouvelle erreur que j’ai mis (pas d’appareils compatible trouvé) puis faire un test avec mon installation (je te partagerais des ID/SECRET temporaires) ? On se calera juste pour le test de la consigne de température histoire de ne pas se retrouver en PLS :hot_face: :hot_face: ou :cold_face: :cold_face: à la maison :sweat_smile:

@pierre-gilles, je recherchais une image et me suis seulement posé la question des droits. Je ne sais pas pour les autres, mais Netatmo a une guideline disponible : Netatmo Connect | Developer, marketing and legal guidelines et fournissent un Netatmo branding kit avec tout ce qu’il faut en image et informations. Je souhaitais donc utiliser ce kit, toutefois, je voudrais être sûr de respecter les mentions légales notamment avec Gladys Plus (usage commercial ?). Pourrais-tu vérifier les conditions sur le lien et me préciser ce que l’on peut ou ne peut pas faire/utiliser ?
Je pense notamment aux webhooks, qui ne seront du coup disponible qu’avec Gladys Plus par la suite. Il faut apparemment leur envoyer un mail si c’est dans un cadre commercial.

Merci par avance.

De mon côté, je vois 2 soucis au rendu dashboard, mais qui doivent être présent sur les autres usage de ces catégories :

  • Température de consigne avec zoom à 150% OK :
    image
    Mais zoom < 150% NOK, il n’y a pas les « , » :
    image

  • Et pour la catégorie « open window » je réceptionne bien false depuis Netatmo (logique, pas de fenêtre ouverte) et l’icone est un cadena ouvert :
    image
    Ca ne fait pas sens pour moi, je sais que le débat à souvent pris sur ces binaries… mais à part trouver une icone de fenêtre ouverte/fermée …
    Je veux bien changer la valeur reçu en « 1 » plutôt que « 0 » mais ça reste illogique, non ?

Pour le reste j’ai mis des switches binaries pour tous les binaires, mais est-ce que ça ferait sens d’ajouter des catégories si ils ne sont pas traité différemment ? Seulement pour l’icône …
image
image
image

@Tlse-vins, normalement la documentation était prête (à modifier avec la nouvelle connexion du coup), je ne sais plus si j’avais une PR en cours, je regarderais, mais je dois l’avoir chez moi.

Edit: En effet, la PR pour la doc

C’est bon tu peux les utiliser :+1:

Dans Gladys, fermé = 1, ouvert = 0. ça fait sens si, c’est comme un circuit électrique :slight_smile: 1 ça touche, 0 ça touche pas !

Switch binaire c’est des prise connectées donc non il ne faut pas utiliser ça :smiley: Sinon ils vont apparaitre à certains endroits dans Gladys je pense (quoi que, vu que c’est read_only = false)

Je serais pour créer des categories différentes, ou si ça prend trop de temps les retirer pour l’instant.

1 « J'aime »

@Terdious dés que ton image sera prête, un soir je la testerai.

1 « J'aime »

Bon désolé pour le temps d’attente. J’ai eu énormément de boulot pro les derniers jours.

J’ai réalisé les corrections supplémentaires de @pierre-gilles et simplifier les features pour le moment (vaut mieux moins et ajout par la suite au besoin / sur demande !)

@Tlse-vins et @_Will_71, la nouvelle image est prête dans 1h.
Evolutions :

  • Page Appareils - ajout de l’état de connexion des appareils (sigle vert ou rouge en haut à gauche de la card), ajout du plug auquel est connecté le thermostat (dans mon cas j’en ai 2 et cela fera d’autant plus sens lorsque les vannes seront rajoutées, et enfin ajout de la pièce dans laquelle se situe les appareils dans l’API Netatmo :

  • Page Découverte - ajout d’un laïus pour les équipements compatibles plus lien vers la page du forum « Demande de fonctionnalités » :

  • Page Configuration - Retrait de l’adresse mail qui ne sert pas finalement, Ajout d’un laïus concernant les scopes qui donne les plein droit à Gladys pour accéder aux données en lecture et en écriture, ajout d’informations sur le fonctionnement de l’API Energie concernant les température / température de consigne.

  • Page Dashboard - Le dashboard lorsque la chaudière ne fonctionne pas :

Le dashboard lorsque la chaudière fonctionne :


On peut voir que j’ai ajouté la température de la pièce en plus de la température du Thermostat car Netatmo agit sur la température de la pièce. Ayant un autre capteur de température Netatmo à l’autre bout de la pièce (lié à la station météo), on peut voir qu’entre le setpoint et la température (21 vs 21.6) la chaudière n’aurait pas démarrée.

Comment pourrais-je ajouter cette information plus clairement à votre avis ? Est-ce que cela convient dans le menu « Configuration » ?

2 « J'aime »

Image prête, je la remet là : docker pull terdious/gladys:netatmo-integration-dev
Et @Tlse-vins n’hésite pas si tu veux un accès.
Désolé, j’ai oublié de nommer également @spenceur et @PhilippeMA. N’hésitez pas si vous souhaitez tester également (la partie connexion et également en réel en vous partageant un accès contrôlé au besoin).

Une question me vient, j’ai mis un poll à 2 minutes (car en tout cas à l’époque c’était le taux de rafraichissement que j’avais perçu du côté de Netatmo, ça semble toujours être le cas).
Devrais-je le mentionner quelque part à votre avis ?
Devrais-je le réduire à 1 minute au cas où ? En sachant que les limites sont :


Et en sachant que pour les utilisateurs Gladys Plus il y aura ensuite les webhooks (tout n’es pas pris en charge côté Netatmo mais une large gamme tout de même)

Bonjour @Terdious, je viens de tester cette nouvelle image.

La configuration de la fonctionnalité aura selon moi besoin de plus d’explications dans la section documentation (je suppose que c’est déjà prévu, c’est bien de se le dire). En effet, pour la sélection du scope, je ne pense pas que ce soit à la portée de tous ; de mon côté, j’ai sélection read_station pour ma station météo (rien de plus).

La connexion s’est bien passée rien à dire sur ce volet.

Tu précises dans l’intégration :

Vous ne verrez ici que les appareils actuellement compatibles avec Gladys.

C’est bien de le préciser mais, pour moi qui n’ai pas de thermostat, quand je lance le scan, le message suivant apparaît :

Aucun appareil Netatmo n’a été trouvé. Avez-vous bien réalisé toutes les étapes de la documentation pour enregistrer vos appareils sur l’API Netatmo ?

Est-ce qu’il serait possible de préciser qu’il y a un appareil, peut-être même préciser lequel et indiquer qu’il n’est pas encore géré ?

1 « J'aime »

Je viens de tester et c’est beaucoup mieux.
C’est vraiment top même.

N’ayant pas de thermostat, j’ai quand même cliqué sur Rafraichir dans l’onglet découverte et j’ai l’impression que cela me déconnecte de Netatmo.
J’ai le bandeau Jaune:
Gladys n'a pas réussi à se connecter au compte Netatmo, plus d'informations sur la Page de configuration Netatmo.

Je n’ai plus le bandeau vert dans l’onglet configuration.

Et au bout de 1 ou 2 mins la connexion revient.

1 « J'aime »

Bonjour @PhilippeMA et merci beaucoup pour ce test !

Oui, bien sûr, la documentation contiendra (contient ^^) cette partie en image !!

J’ai rajouté dans le laïus sur les scopes « Vous n’avez rien à configuré, ces scopes sont automatiquement intégrés et vous serons exposés lors de la demande de connexion (voir documentation au besoin). »:

Pour l’instant, je ne souhaite pas complexifier le code en remontant les appareils non supportés, mais en effet, ça peut-être une des prochaines PR. En attendant j’ai donc revu le message, est-ce plus clair ? :

:heart_eyes:

Fou ça ^^ Je vais tenter le mode bourrin, possiblement un effet de bord car à chaque clique, il fait un appel API à Netatmo en effet. Du coup pas top ^^ Peut-être devrais-je bloquer le bouton pendant le retour de la requete !!

Salut @Terdious , je pourrais tester demain soir et faire le test avec mon thermostat.

1 « J'aime »

@Terdious

Bravo pour l’intégration, j’ai pas de Netatmo mais je vais contribuer:

« Vous n’avez rien à configuré » => « configurer » :wink:

1 « J'aime »

Merci beaucoup @cce66 !! Toute contribution est bonne à prendre et notamment celle de l’orthographe. Une application comme Gladys devrait être irréprochable je trouve.

On est souvent meilleur ‹ relecteur › chez les autres que pour soit même ^^ (Je parle surtout pour moi)

Merci

2 « J'aime »

L’affichage de la consigne est tronqué, on ne vois pas les demis.

Capture d'écran netatmo 5

1 « J'aime »

Oui ^^ défaut de base sur la catégorie ça ^^ Pas lié à la PR ^^ On tentera de corriger ça après !!