Aller au contenu
minos

Netatmo Anemometre

Recommended Posts

Hello,

 

Le plugin Netatmo ne prend pas en compte l'anémomètre pour ma part.

 

Y a il un autre méthode pour remonter les infos et intégrer l’anémomètre dans un VD ? :huh:

 

Minos

Partager ce message


Lien à poster
Partager sur d’autres sites

Mais faut parler allemand ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour Tout le monde...

J'arrive sur HC2 , completement novice, je sors de 3 ans de jeedom... 

J'ai fais tout ce qu'il est eceit dans le post, mais malheureusement ca ne marche pas chez moi. Lascene fonctionne bien je recois bien les valeurs de ma netatmo. 

Par contre dans le VD, quand je fais un debug, il me dit ca :

du coup, je suis pas encore specialiste, et je vois pas ou le probleme pourrait se trouver !!! je suis encore bien novice !
[ERROR] 11:25:35: line getGlobal('wind..."]:3
[DEBUG] 11:28:15: Windstärke aktualisiert
[ERROR] 11:28:15: line getGlobal('wind..."]:3

Partager ce message


Lien à poster
Partager sur d’autres sites

OK, je reponds a moi meme, j'avais pas crée les variables... J'ai appris un truc :-)

 

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir a tous

juste une question 

que faut il mettre 

après avoir renseigné les identifiant pour avoir les remontées sous forme json de ma netatmo

je n arrive pas a interroger l api

local client_id = "xxxxxxxxxxxxxxxxxx"
local client_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
local username = "xxxxxxxxxx@hotmail.com"
local password = "xxxxxxxxxxxxxxxxxx"
local debug = true

merci encore 

Partager ce message


Lien à poster
Partager sur d’autres sites

salut à tous, j'ai intégrer le VD et intégrer la scène qui actualise et va chercher les infos :

Ci-joint la scène :

--[[
%% properties
%% autostart
%% events
%% globals
--]]



-- Données Personnelles
local client_id = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
local client_secret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
local username = 'xxxxxxxxxxxxxxx@xxxxxxx'
local password = 'xxxxxxxxxx'
local refresh = 300

local vd_ID = 506

-- Ici on touche plus
local token = ''
local request_body = ''

fibaro:debug('Intégration Module Anémomètre NETATMO demarré')
local sourceTrigger = fibaro:getSourceTrigger();

function oAuth(nextFunction)
	local request_body = 'grant_type=password&client_id=' .. client_id .. '&client_secret=' .. client_secret .. '&username=' .. username .. '&password=' .. password .. '&scope=read_station'
	getResponseData('https://api.netatmo.net/oauth2/token', request_body, 
    	function(data) 
			token = data.access_token
      		fibaro:debug('Compte Netatmo Connecté...')
      		getDevices()
      end
    )
    setTimeout(oAuth, refresh*1000);
end

function getResponseData(url, body, func)
	local http = net.HTTPClient()
	http:request(url, { 
		options = { 
			method = 'POST', 
        	headers = {
				['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
			},
			data = body
		},
		success = function(response) 
		func(json.decode(response.data))
		end
	})   
end

function getDevices()
	getResponseData('https://api.netatmo.net/api/devicelist','access_token='..token, 
		function(data)
			fibaro:debug('Recherche du Module...')
			for _, v in pairs(data.body.modules) do
       			if (v.data_type[1] == 'Rain') then
           			rain_id = v._id
          			fibaro:debug('Pluviomêtre ' .. rain_id .. ' Trouvé!')
           			rain_bat = calcBat(v.battery_vp, true)
          		elseif (v.data_type[1] == 'Temperature') then
          			extern_id = v._id
          			fibaro:debug('Thermomètre ' .. extern_id .. ' Trouvé!')
          		elseif (v.data_type[1] == 'Wind') then
          			wind_id = v._id
          			fibaro:debug('Anémomêtre ' .. wind_id .. ' Trouvé!')
          			getmeasureWind()  
           		end
        	int_id = data.body.devices[1]._id
        	end
		end
    )
end

function getmeasureWind()
  	request_body_wind = 'access_token='..token..'&device_id='..int_id..'&module_id='..wind_id..'&scale=max&type=WindStrength,WindAngle,GustStrength,GustAngle&date_end=last'
  	getResponseData('https://api.netatmo.net/api/getmeasure', request_body_wind, 
		function(getData)
		fibaro:debug('Recherche des Données..')
      		WindStrength = getData.body[1].value[1][1]
		WindAngle = getData.body[1].value[1][2]
      		GustStrength = getData.body[1].value[1][3]
		GustAngle= getData.body[1].value[1][4]
      		fibaro:debug('Vitesse du Vent : ' .. WindStrength .. ' km/h')
      		fibaro:setGlobal('WindStrength', WindStrength)
		fibaro:debug('Direction: ' .. WindAngle .. ' °')
      		fibaro:setGlobal('WindAngle', WindAngle)
      		fibaro:debug('Rafales : ' .. GustStrength .. ' km/h')
      		fibaro:setGlobal('GustStrength', GustStrength)
		fibaro:debug('Direction des Rafales : ' .. GustAngle .. ' °')
      		fibaro:setGlobal('GustAngle', GustAngle)
                fibaro:call(vd_ID, "pressButton", "5");
      		fibaro:debug('Anémomêtre Réglé. Patientez 5 min.')
		end
	)
end
if (sourceTrigger["type"] == "autostart") then
 oAuth();
end

et voici le bouton d'actualisation du VD

local WindStrength = fibaro:getGlobal('WindStrength')
fibaro:debug('Force du vent actualisée')
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label1.value", WindStrength.. " km/h")
local WindAngle = fibaro:getGlobal('WindAngle')
fibaro:debug('Direction Actualisée')
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label2.value", WindAngle.. " °")
local GustStrength = fibaro:getGlobal('GustStrength')
fibaro:debug('Rafales')
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label3.value", GustStrength.. " kmh/h")
local GustAngle = fibaro:getGlobal('GustAngle')
fibaro:debug('Direction Rafales Actualisée')
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label4.value", GustAngle.. " °")
fibaro:log("" ..WindStrength.. " km/h   " ..WindAngle.." °")

et voici le VD complet

 

Cela fonctionne très bien... mais pas plus de 24h. 

A partir d'un moment, la scène patauge et n'arrive plus à remonter les infos du Netatmo. 

Voici ce qu'elle me donne (capture.jpg)... aucune activité alors que normalement ça donne cela (capture1.jpg)

 

Pour que ça fonctionne, il faut que je redémarre ma box.... 

Y aurai-il une optimisation du code à faire ? 

Quelqu'un peut me donner un coup de patte ? 

Merci les amis

Capture.JPG

Anémomètre.vfib

Capture1.JPG

Partager ce message


Lien à poster
Partager sur d’autres sites

Et je me rend compte également que les modules nativement gérés par la HC2 via le Plugin Netatmo ne se mettent plus à jour quasi au même moment. Comme si il y avait un buffer de données à saturation. 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@Yannick

Salut ,

 

je viens de tester ...j ai une erreur ...

 

Anenometre.JPG.f1aa12b7d62ae524a417e3a771871d27.JPG

 

A quoi correspond ton  localvd_ID   ?

il y a 53 minutes, Yannick a dit :

local vd_ID = 506

 

 

merci...

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello,

Il y a 9 heures, Yannick a dit :

salut @minos, il s'agit de l'ID de ton VD que tu dois intégrer.

 

Ok merci ...par contre 

 

j ai une erreur , je ne vois pas à quoi ça correspond ...

 

Anemo.thumb.JPG.8873e5be3153d1fc1f8e3d950ec6e5d1.JPG

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir à tous,

J'ai le même souci que tout le monde : L'anémomètre n'est pas pris en charge par le plugin Netatmo.

J'ai intégrée la scène, pas de souci.

J'ai importé le VD, pas de souci.

 

J'ai mis à jour l'ID du VD à la ligne 14 de la scène, pas de souci.

mais cela ne semble pas fonctionner.

Je n'ai pas de remontées de valeurs sur le VD et lorsque je teste la scène, elle s’arrête à : Intégration module demarrée

PB.JPG.ff4e910d3c6541badea46e799bd003b9.JPG.

 

Une idée ?

PS : la scène est à exécution automatique.

 

Ah il y a aussi cela : Si je clique sur actualisation sur le VD, l'icone disparaît.

PB_2.JPG.262e916bf1b652c39a3f1df78ea3e3e9.JPGPB_3.JPG.6dfe858acad8a9f4fb6b8eb6e4166a31.JPG

 

Modifié par Dogwhite
Mise à jour

Partager ce message


Lien à poster
Partager sur d’autres sites

Je progresse :

Voici la dernière copie d'écran :

PB_4.thumb.JPG.8472c254c3f409afd3140654bda8da3f.JPG

 

Le problème démarre à la ligne 77 et il est lié à l'intégration des variables. Mais où les intègre-t-on ?

Il faut aller sur l'interface Fibaro dans l'onglet Panneaux.

PB_5.JPG.8d9a178244af167b0a63eb5d5a229cae.JPG

 

 

Créer les variables attendues

PB_6.JPG.7b5d7ee44ee376d966cfd7888be23a58.JPG

 

Bon reste le problème de l'icone qui disparaît lors de l'actualisation.

Modifié par Dogwhite

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour. As tu essayé de mettre l'icône sur le bouton. ???

Envoyé de mon Nexus 5X en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 51 minutes, pepite a dit :

Bonjour. As tu essayé de mettre l'icône sur le bouton. ???

Envoyé de mon Nexus 5X en utilisant Tapatalk
 

Excellent. Cela fonctionne.

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 2 heures, Dogwhite a dit :

Excellent. Cela fonctionne.

@Dogwhite

 

Tu pourrais stp mettre ton code VD + scene ...;)

 

Merci!

Partager ce message


Lien à poster
Partager sur d’autres sites

@minos

 

Bonjour,

Il faut que tu intègres les variables comme je les ai détaillées dans mon message au dessus et tout va fonctionner chez toi.

Tu étais bloqué au même niveau que moi.

Le VD et la Scène sont celles du message de Yannick.

Modifié par Dogwhite

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir a tous voila je viens d installer ce module mais j ai un message d erreur 

[DEBUG] 19:31:41: Intégration Module Anémomètre NETATMO demarré
[DEBUG] 19:31:41: Compte Netatmo Connecté...
[DEBUG] 19:31:41: Recherche du Module...
[DEBUG] 19:31:41: Thermomètre 02:00:00:13:2d:ec Trouvé!
[DEBUG] 19:31:41: Pluviomêtre 05:00:00:01:ce:7a Trouvé!
[DEBUG] 19:31:41: Anémomêtre 06:00:00:02:3b:76 Trouvé!
[DEBUG] 19:31:41: Thermomètre 03:00:00:00:1c:24 Trouvé!
[DEBUG] 19:31:41: Anémomêtre 06:00:00:00:00:de Trouvé!
[DEBUG] 19:31:41: Thermomètre 03:00:00:00:eb:d8 Trouvé!
[DEBUG] 19:31:41: Pluviomêtre 05:00:00:00:0f:98 Trouvé!
[DEBUG] 19:31:41: Thermomètre 02:00:00:13:08:c4 Trouvé!
[DEBUG] 19:31:41: Thermomètre 03:00:00:05:4b:24 Trouvé!
[DEBUG] 19:31:42: Recherche des Données..
[DEBUG] 19:31:42: Vitesse du Vent : 4 km/h
[DEBUG] 19:31:42: Direction: 113 °
[DEBUG] 19:31:42: Rafales : 6 km/h
[DEBUG] 19:31:42: Direction des Rafales : 125 °
[DEBUG] 19:31:42: Anémomêtre Réglé. Patientez 5 min.
[DEBUG] 19:31:42: Recherche des Données..
[DEBUG] 19:31:42: [1;31m2018-04-08 19:31:42.258756 [ fatal] LUA error: /opt/fibaro/scenes/3.lua:79: attempt to index field 'body' (a nil value)

est ce que chez vous ca fonctionne toujours 

merci encore

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour je reviens vers vous car je n ai pas eu de réponse 

est ce que ca fonctionne chez vous ou bien avez vous le même message d erreur 

cdt

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir je reviens encore vers vous est ce que ce vd fonctionne chez vous ou non

merci encore

cdt

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut oui il fonctionne toujours 

Partager ce message


Lien à poster
Partager sur d’autres sites

OK merci 

comme chez moi j ai un message d erreur  il faut que je cherche pourquoi

 

merci 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon si une âme charitable pouvais m expliquer d ou vient mon message d erreur ci dessus car là ca fait un moment que je bataille avec ca et rien a faire 

merci encore

cdt 

Partager ce message


Lien à poster
Partager sur d’autres sites

×