Aller au contenu

HC2 & HCL - 4.520 - Stable - 22/11/2018


speedoxx007

Messages recommandés

V'là la bête... Si l'un de vous peut m'éclairer et surtout m'expliquer que je meurs moins couillon ! merci

 

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



-- DIESE DATEN ANPASSEN
local client_id = 'xxxxxxxxxxxxxxxxxxxxxxxxx'
local client_secret = 'xxxxxxxxxxxxxxxxx'
local username = 'xxxxxxxxxxxxxxx'
local password = 'xxxxxxxxxxxx'
local refresh = 300

local vd_ID = 506

-- AB HIER NICHTS MEHR ANPASSEN
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 = { 
		checkCertificate = false,	
        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

 

Modifié par Yannick
Lien vers le commentaire
Partager sur d’autres sites

Avec :

 

fibaro:debug(response.data)
func(json.decode(response.data))

J'obtiens :

[DEBUG] 11:52:29: {"error":{"code":503,"message":"Service Unavailable"}}

Ce qui  explique l'erreur :

[DEBUG] 11:52:29: 2019-01-16 11:52:29.466092 [ fatal] LUA error: /opt/fibaro/scenes/107.lua:61: attempt to index field 'body' (a nil value)

 

Lien vers le commentaire
Partager sur d’autres sites

Cela signifie :

  • Qu'il parvient bien à joindre le cloud Netatmo
  • Que le cloud Netatmo signale que le service demandé n'est pas disponible
  • Qu'il serait sans doute prudent de tester le contenu de response.data : si la clé error existe alors afficher sa valeur et arrêter le traitement, sinon tester la présence de la clé body avant l'utiliser serait prudent.

Je viens d'essayer à nouveau, cela fonctionne, le problème était bien chez Netatamo...

[DEBUG] 15:39:58: {"body":{"modules":[{"_id":"xx:xx:xx:x:xx:xx","main_device":"xx:xx:xx:x:xx:xx","type":"NAModule1","data_type":["Temperature","Humidity"],"module_name":"Jardin","firmware":44,"last_message":1547649156,"last_seen":1547649111,"rf_status":68,"battery_vp":5860,"dashboard_data":{"time_utc":1547649111,"Temperature":12.2,"Humidity":66,"min_temp":2.9,"max_temp":12.2,"date_min_temp":1547609793,"date_max_temp":1547647316,"temp_trend":"stable"},"date_setup":{"sec":1454015933,"usec":0}},{"_id":"xx:xx:xx:x:xx:xx","main_device":"xx:xx:xx:x:xx:xx","type":"NAModule3","data_type":["Rain"],"module_name":"Pluviom\u00e8tre","firmware":8,"last_message":1547649156,"last_seen":1547649150,"rf_status":79,"battery_vp":5874,"dashboard_data":{"time_utc":1547649150,"Rain":0,"sum_rain_24":0,"sum_rain_1":0},"date_setup":{"sec":1454149713,"usec":0}},{"_id":"xx:xx:xx:x:xx:xx","main_device":"xx:xx:xx:x:xx:xx","type":"NAModule2","data_type":["Wind"],"module_name":"An\u00e9mom\u00e8tre","firmware":18,"last_message":1547649156,"last_seen":1547649156,"rf_status":120,"battery_vp":5067,"dashboard_data":{"time_utc":1547649150,"WindStrength":6,"WindAngle":141,"GustStrength":15,"GustAngle":168,"max_wind_str":27,"max_wind_angle":158,"date_max_wind_str":1547637096},"date_setup":{"sec":1475322877,"usec":0}}],"devices":[{"_id":"xx:xx:xx:x:xx:xx","type":"NAMain","co2_calibrating":false,"date_setup":{"sec":1454015949,"usec":0},"firmware":132,"last_status_store":1547649162,"last_upgrade":1454945187,"module_name":"Indoor","station_name":"Maison","place":{"altitude":164,"city":"yyyyyyyyyyy","country":"FR","timezone":"Europe\/Paris","location":[0.00000000000,0.0000000000]},"wifi_status":57,"data_type":["Temperature","CO2","Humidity","Noise","Pressure"],"dashboard_data":{"time_utc":1547649153,"Temperature":21.8,"CO2":740,"Humidity":65,"Noise":39,"Pressure":1010.7,"AbsolutePressure":991.2,"min_temp":19.7,"max_temp":21.8,"date_min_temp":1547624273,"date_max_temp":1547647946,"temp_trend":"stable","pressure_trend":"stable"},"modules":["xx:xx:xx:x:xx:xx","xx:xx:xx:x:xx:xx","xx:xx:xx:x:xx:xx"]}]},"status":"ok","time_exec":0.21196794509888,"time_server":1547649597}

 

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Tu ne serais pas concerné par le même problème qui avait été évoqué fin d'année dernière et qui avait été corrigé par le développeur de Netatmo Weather Station.

 

Il en parlait ici

https://forum.fibaro.com/files/file/93-netatmo-weather-station/

https://forum.fibaro.com/topic/32277-netatmo-vd-solved/

 

Je te laisse regarder les détails ;)

 

Modifié par MAM78
Lien vers le commentaire
Partager sur d’autres sites

CPU CPU et CPU

 

Bonjour à tous

 

de retour de déplacement, je viens d'installer cette dernière version, tout est ok et fonctionne bien.

Mais au niveau conso CPU, pratiquement le double de conso qu'avant !!!

Et pour vous  ?

 

 

Lien vers le commentaire
Partager sur d’autres sites

Le 16/01/2019 à 16:52, MAM78 a dit :

Tu ne serais pas concerné par le même problème qui avait été évoqué fin d'année dernière et qui avait été corrigé par le développeur de Netatmo Weather Station.

 

Il en parlait ici

https://forum.fibaro.com/files/file/93-netatmo-weather-station/

https://forum.fibaro.com/topic/32277-netatmo-vd-solved/

 

Je te laisse regarder les détails ;)

 

Salut à tous, Personne ne l'a créé en Topic sur ce forum ce post ? Je l'ai implémentté sur ma box ça marche d'enfer. Bien plus complet que le VD NETATMO et le Plugin Fibaro.

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Plantage de mon HC2 aujourd'hui !!!

 

Enfin, rien de très méchant, mais c'était vicieux....

Comme tous les dimanches, backup auto cette nuit.

Ce matin au réveil, j'ai eu la notification du backup, mais pas celle du redémarrage des services.... rien de grave à priori, je me suis dit qu'une notification qui se perd dans les méandres du cloud, ça arrive....

Tout fonctionne très bien toute la journée, les scénarios automatiques, contrôle via l'appli mobile, etc.

 

Ce soir, pour je ne sais trop quelle raison, je vais jeter un oeil à l'interface graphique... et là c'est le drame, il y avait encore le popup du backup en cours (plus exactement, à la fin du processus, "starting services"), impossible d'accéder à la page d'administration.
Reboot forcé... et là, tous les modules en "non configurés" !
Je sais que ça arrive parfois à certains du forum, mais perso c'était la première fois.

Restore du backup de la semaine dernière..... IDEM :(

Restore du backup d'il y a 15 jours, c'est OK
 

Conclusion, j'avais une cochonnerie qui trainait dans la DB depuis 15 jours.... c'est vicieux car ce n'est pas apparu tout de suite.

 

Bon tout est reparti sans encombre, si ce n'est que j'ai perdu les 4 modules que j'ai inclus ces 2 dernières semaines.... rien de grave, je m'occuperai de ça le week-end prochain.

 

Lien vers le commentaire
Partager sur d’autres sites

@Nico oui en 4.510 il fallait rebooter, on en avait longuement parlé de ce bug, on se retrouvait avec tous les VD en double car il ne tuait pas les premières instances des Main l'OLP avant le début du backup.

 

Pas de souci en 4.520, il n'est plus nécessaire de rebooter.

 

Là clairement ça n'a rien à voir, puisque justement le reboot a tout mis en vrac.

Le problème est apparu quand j'ai commencé à inclure de nouveaux modules.... Ça a dû corrompre la base. Le premier c'était un RGBW qui n'était pas à jour, d'ailleurs à chaque mise à jour OTA il me disait qu'il restait une mise à jour à faire, ce qui n'était pas vrai..... Donc ça avait bien commencé à déconner au moment de l'inclusion du RGBW.

 

D'ailleurs au passage, j'ai de plus en plus de mal à faire mes inclusions.... Réseau Z-Wave trop surchargé je pense....

Lien vers le commentaire
Partager sur d’autres sites

@Lazer, moi en 4.510 ce n'était pas comme ça. Moi c'était de suite après la mise à jour, au bout de 4-5 minutes, plus rien ne fonctionnait (Ordre Zwave qui prenait une plombe, interface qui n'affichait plus les changements d'état etc). Reboot, et tout était ok rock stable, sans soucis durant des semaines. en 4.531 j'ai fais mes save, et rien, plus ce soucis.

 

Et toi du coup tu arrives à combien de modules physiques ? Pour le moment, pas de souci d'inclusion de mon côté (Le PM 2.5 est passé de suite), par contre je lui laisse le temps à chaque fois.

Lien vers le commentaire
Partager sur d’autres sites

Les mises à jour c'est toujours long c'est normal. Mais je n'ai jamais eu besoin de rebooter après une mise à jour. Ma box est donc plus stable que la tienne :D

 

Là je parle juste du backup moi, qui tourne toutes les semaines depuis des années sur ma box.

 

Entre 70 et 80 modules, je sais pas exactement, faudra que je regarde.

Mais j'ai des Wall Plug trop bavard, il va falloir que je les calme....

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...