Aller au contenu

Messages recommandés

Posté(e)

Reçu ce matin, intégré dans la HC2 cet après-midi via un Script Google hébergé sur Google Drive ... ben oui, moi, j'ai pas de serveur PHP àla maison :)

  • Upvote 1
Posté(e)

Pas de soucis, il faut un module virtuel sur la HC2 et un script Google qui pilote tout cela. Je devrais recevoir mon détecteur de pluie ce soir donc si cela ne dérange pas, je teste cela entre ce soir et demain avec le détecteur et je vous fournit le script.

 

Si vous souhaitez pas attendre et déjà  le mettre en place (le code pour le détecteur de pluie y est déjà  mais j'ai aucune idée s'il va fonctionner).

 

1) Créer un application sur http://dev.netatmo.com/ ... c'est juste pour obtenir une clé d'accès

2) Importer le module virtuel ci-joint

3) Copier le script ICI sur votre Google Drive

4) Modifier les premières lignes du script

5) Créer un déclencheur comme ceci

139815declencheur.png

 

Attendez 5 minutes et regarder la magie opérer.

 

Le script pilote donc les sliders du module virtuel. Ainsi, il est aisé de récupéré la valeur dans vos codes sans pour autant surchargé les variables globales.

 

Exemple :

local tempInt = fibaro:getValue(<id_vd_passerelle_netatmo>, "ui.sIntTemp.value")
local tempExt = fibaro:getValue(<id_vd_passerelle_netatmo>, "ui.sExtTemp.value")
local humInt = fibaro:getValue(<id_vd_passerelle_netatmo>, "ui.sIntHum.value")
local humExt = fibaro:getValue(<id_vd_passerelle_netatmo>, "ui.sExtHum.value")
local co2 = fibaro:getValue(<id_vd_passerelle_netatmo>, "ui.sIntCo2.value")
...
 
 
La qualité de l'air n'est pas renseignée car les API Netatmo ne fournissent pas l'information. Je cherche une alternative ou un simple calcul basé sur le C02, la température et l'humidité.

Passerelle_Netatmo.vfib

  • Upvote 1
Posté(e)

Je confirme, le code ci-dessus fonctionne correctement avec le capteur de pluie ... faut juste être patient pour que ce dernier remonte une donnée.

 

641794netamo.png

Posté(e)

J'ai un Nas, mais j'hésite à  installer le php dessus ou bien utiliser ton script...

 

Ton avis ?

 

Edit // j'ai installé ton script, plus rapide à  mettre en place car pas de variables à  creer.

Posté(e)

En réalité, j'ai un gros module virtuel avec 13 sliders. Le script google va interroger le site de netatmo et manipuler les sliders. Après dans le main loop de mon module virtuel, je renseigne de plus petits modules virtuels que je vais disposé dans mes pièces. Ainsi je vais mettre le petit VD pluie et température Out dans la pièce "Jardin", température et co2 dans "Salon".

 

J'ai pas vraiment d'avis entre PHP et Google Script. Le PHP tourne en local chez toi et Google Script sur un serveur de Google. Dans tout les cas, si tu n'as pas d'Internet tu ne pourras pas aller chercher les données. Donc local ou distant ... aucune importance.

 

Après, j'ai pas regardé le PHP pour voir ce qu'il faisait, tout ce que je sais c'est que je pense avoir tout remonté comme données utile :

  • Température intérieur
  • Humidité intérieur
  • CO2
  • Son
  • Pression
  • Température extérieur
  • Humidité extérieur
  • Etat de la pile
  • Pluie (dernière heure) si capteur de pluie présent
  • Pluie (dernier jour) si capteur de pluie présent
  • Etat de la pile du capteur de pluie si présent

 

Le désavantage du script google c'est que c'est du Google, donc du jour au lendemain ils peuvent décider de fermer ses scripts.

 

A toi de voir.

 

:D

Posté(e)

@Steven,

 

J'ai reçu ma Netatmo tout à  l'heure, après plusieurs essais, impossible d'avoir les données dans la HC2.

 

J'ai bien accès depuis l'extérieur à  ma HC2 depuis l'adresse spécifié dans le script

 

Quand je lance DoIt() tout à  l'air de bien fonctionner mais rien dans la HC2.

 

Si tu as une idée, merci d'avance

Posté(e)

Tu as bien mis tout les paramètres sans oublier l'id du module virtuel ?

Envoyé de mon GT-I9192 en utilisant Tapatalk

Posté(e)

Oui, par contre je ne suis pas sur de l'ID, je l'ai récupérer dans l'url de configuration du module (en théorie ca corresponds bien pour les autres modules)

Posté(e)

Oui c'est bien cela.

Quand tu lance le doit il passe dans une méthode log()... Arrives tu regarder dans ce qu'il affiche. Je sais que c'est pas facile car il y met beaucoup de lignes. C'est, de tête, la première option du menu "affichage".

Envoyé de mon GT-I9192 en utilisant Tapatalk

Posté(e)

Si tu as compris mon précédent message, bravo, car je me comprends pas moi même.

Je vais démarrer le PC dans un moment et je serai plus clair.

Envoyé de mon GT-I9192 en utilisant Tapatalk

Posté(e)
[14-07-05 21:43:10:155 CEST] Démarrage de l'exécution

[14-07-05 21:43:10:169 CEST] Utilities.base64Encode([admin:XXXXXX]) [0 secondes]

[14-07-05 21:43:10:666 CEST] UrlFetchApp.fetch([https://api.netatmo.net/oauth2/token, {payload=grant_type=password&client_id=xxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxx&username=xxxxxxxxxx&password=xxxxxxxx&scope=read_station, method=post, Content-Type=application/x-www-form-urlencoded;charset=UTF-8}]) [0,495 secondes]

[14-07-05 21:43:10:666 CEST] HTTPResponse.getContentText() [0 secondes]

[14-07-05 21:43:11:215 CEST] UrlFetchApp.fetch([https://api.netatmo.net/api/devicelist, {payload=access_token=53b3a2fa197759a2e85b5b8b|47deeb1b4b06e47151accd818bf19036, method=post, Content-Type=application/x-www-form-urlencoded;charset=UTF-8}]) [0,546 secondes]

[14-07-05 21:43:11:215 CEST] HTTPResponse.getContentText() [0 secondes]

[14-07-05 21:43:11:339 CEST] UrlFetchApp.fetch([https://api.netatmo.net/api/getmeasure, {payload=access_token=53b3a2fa197759a2e85b5b8b|47deeb1b4b06e47151accd818bf19036&device_id=70:ee:50:02:db:98&scale=max&type=Temperature,CO2,Humidity,Pressure,Noise&date_end=last, method=post, Content-Type=application/x-www-form-urlencoded;charset=UTF-8}]) [0,118 secondes]

[14-07-05 21:43:11:339 CEST] HTTPResponse.getContentText() [0 secondes]

[14-07-05 21:43:11:512 CEST] UrlFetchApp.fetch([https://api.netatmo.net/api/getmeasure, {payload=access_token=53b3a2fa197759a2e85b5b8b|47deeb1b4b06e47151accd818bf19036&device_id=70:ee:50:02:db:98&module_id=02:00:00:02:cd:f4&scale=max&type=Temperature,Humidity&date_end=last, method=post, Content-Type=application/x-www-form-urlencoded;charset=UTF-8}]) [0,171 secondes]

[14-07-05 21:43:11:512 CEST] HTTPResponse.getContentText() [0 secondes]

[14-07-05 21:43:11:809 CEST] UrlFetchApp.fetch([https://api.netatmo.net/api/getmeasure, {payload=access_token=53b3a2fa197759a2e85b5b8b|47deeb1b4b06e47151accd818bf19036&device_id=70:ee:50:02:db:98&module_id=05:00:00:00:9d:02&scale=max&type=Rain&date_end=last, method=post, Content-Type=application/x-www-form-urlencoded;charset=UTF-8}]) [0,295 secondes]

[14-07-05 21:43:11:809 CEST] HTTPResponse.getContentText() [0 secondes]

[14-07-05 21:43:11:928 CEST] UrlFetchApp.fetch([https://api.netatmo.net/api/getmeasure, {payload=access_token=53b3a2fa197759a2e85b5b8b|47deeb1b4b06e47151accd818bf19036&device_id=70:ee:50:02:db:98&module_id=05:00:00:00:9d:02&scale=1day&type=sum_rain &date_end=last, method=post, Content-Type=application/x-www-form-urlencoded;charset=UTF-8}]) [0,116 secondes]

[14-07-05 21:43:11:931 CEST] Script exécuté [durée totale d'exécution : 1.761 secondes]

 

 

Je comprend pas tout

×
×
  • Créer...