Google Script : Passerelle Netatmo / Home Center

ATTENTION : Ne fonctionne pas pour une HC2 sur un firmware 4.x

La station Netatmo permet, grâce à ses API, de récupérer les informations de la station afin de les exploiter dans des applications tierces. Cela donne donc tout son intérêts d”exploiter cette fonctionnalité dans une boxe domotique tel que la Home Center.

Malheureusement, ces API ne sont accessible que par HTTPS et la HC ne gère pas le HTTPS, il convient donc d’utiliser une application tiers pour exploiter et transférer ces informations vers la HC. Dans notre cas, afin de ne pas avoir à gérer un serveur chez nous, nous allons exploiter les Scripts Google pour piloter un Module Virtuel.

  1. Créer une application sur http://dev.netatmo.com/ … ceci 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 :

  1. local tempInt = fibaro:getValue(, "ui.sIntTemp.value")
    local tempExt = fibaro:getValue(, "ui.sExtTemp.value")
    local humInt = fibaro:getValue(, "ui.sIntHum.value")
    local humExt = fibaro:getValue(, "ui.sExtHum.value")
    local co2 = fibaro:getValue(, "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 <— Module Virtuel

13 thoughts on “Google Script : Passerelle Netatmo / Home Center”

  1. SAlut Steven,
    Quelle ip de la HC” renseignes-tu dans le script?
    D’autre part quelle adresse ip renseignes-tu dans le module virtuel?
    Merci pour ta réponse

      1. OUps ne t’embête pas j’ai trouvé je me plantais dans l’adresse … sry

  2. Bonjour Steven,

    Avant toute chose, permets moi de te complimenter pour ton post qui est topissime. Je recupere bien mes données de ma NETATMO a partir du script qui est sur mon google drive.
    ensuite, les chaines sont bien envoyées sur ma HC2.
    probleme, le module virtuel de la HC2 ne reçoit rien !
    quand je fait copier / coller de la chaine récupérer dans le journal, et que je l’execute en local via mon browser, elle est bien prise en compte par le module virtuel de la HC2.
    Donc, je me dit qu il y a un pb avec la table de translation.
    j’ai mis le port 943 source et dest.

    Ma question : comment on assigne un port a la HC2 – je souhaite donc que quand je tape dans mon browser 192.168.0.40:943 arriver sur la Home page de ma Fibaro.

    Merci pour ton aide.
    Bien cordialement
    Stephane

    1. Il ne faut pas changer le port de la HC2 mais demander à ta box internet de rediriger le port 943 sur le port 80 de ta HC2.

      Ensuite il faut que la HC2 soit accessible depuis l’extérieur dans une adresse http://www et non pas 192.x.x.x.

      Je ne suis vraiment pas un experts des redirections de ports. Mais si tu as besoin je peux me renseigner.

      Cordialement.

      1. Merci pour ton retour. J’ai bien essayé de “NATTER” le port 943 sur le port 80 a partir de la console d’admin de ma box (NC), mais cette operation n’est pas permise par ma box – elle me dit que le port destinataire ne peut être inférieur au port source. Et je ne veux pas mapper 80 sur 80 pour des raisons évidentes de sécurité. je suis donc coincé !

        Pour ce qui est de l’accès de l’extérieur, tu peux utiliser ton IP fixe:le port ext. c’est ce que je fais pour mon IPX, et mon EcoDevice. Ca fonctionne très bien. L’utilisation du DYNDNS te permet juste d’éviter de retenir ton IP fixe.

        Je vais donc me rapprocher de NC – je posterai ensuite le résultat de ma quête afin que d’autres lecteurs de ton blog en profitent.

        Quoi qu’il en soit, encore merci pour ton POST, et pour ton blog qui est une mine d’informations pour nombre d’entre nous.

        Cordialement

  3. Après analyse : il n’est pas possible avec la box NC de “natter” le port source vers un port dest d’une valeur inférieure (ex: 943 vers 80 impossible). La solution consiste a mettre un routeur dans le LAN et a double natter, c’est a dire, par exemple de mapper 943 vers 943 au niveau de la box, puis de natter le 943 vers 80 au niveau du routeur situé dans le LAN. A noter que certaine box permettent de natter un 943 vers 80. Celui présuppose bien évidemment qu’il n’y a qu’un équipement qui écoute sur le port 80 (c’est trivial, mais ca va mieux en le disant).

  4. Bonjour Steven,
    Merci pour ce bon tuto, cependant je bloque completement sur l’adresse de la HC2, comment avoir une adresse accessible en http://www. etc…

    Pour mon info qu’utlises tu toi meme ?

    Merci beaucoup

    Fabien

    1. Bonjour Fabien,
      Il faut utiliser un système style : DynDNS ou NoIP . Ces services te permette de rediriger les adresse du style http://dyn.mon_nom.dyn.com ou autre sur ta box Internet.

      Normalement, il suffit de créer un compte chez un de ces fournisseurs puis de configurer ton router Internet pour exploiter ce système. C’est assez simple (normalement).

Laisser un commentaire

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Changer )

Twitter picture

You are commenting using your Twitter account. Log Out / Changer )

Facebook photo

You are commenting using your Facebook account. Log Out / Changer )

Google+ photo

You are commenting using your Google+ account. Log Out / Changer )

Connecting to %s