Aller au contenu

Récupérer La Temperature Max De La Veille


Allan2b

Recommended Posts

J'ai un souci sur le code de Steven  : je pense que le souci vient plus de ma modification que du code de Steven en lui-même... :rolleyes:  :lol:  

--[[
%% properties
%% events
%% globals
--]]
local currentDate = os.date("*t");

if (
 	( string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "08:30") )
		then

function getMaxTempYesterday(id)
	local t = os.date("*t")
	t.day = t.day - 1
	local debut = os.time{year=t.year, month=t.month, day=t.day, hour=0, min=0, sec=0}
	local fin = os.time{year=t.year, month=t.month, day=t.day, hour=23, min=59, sec=59}
	local res = api.get("/temperature/"..debut.."/"..fin.."/compare/devices/temperature/"..id)
	return res[1].max
end  
end 
local max_hier = getMaxTempYesterday(91)
fibaro:debug("La température maximum était de " .. max_hier)
 

j'ai ce message d'erreur :

[DEBUG] 00:31:27: line 21: attempt to call global 'getMaxTempYesterday' (a nil value)

A propos de la variable, je n'ai pas pu la créée car elle est trop longue... j'imagine donc qu'il n'y en a pas besoin (j'ai lu ça qqpart je crois bien)...

Lien vers le commentaire
Partager sur d’autres sites

Tordu ton code  :60: mais belle tentative

 

Voici le correctif

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


function getMaxTempYesterday(id)
	local t = os.date("*t")
	t.day = t.day - 1
	local debut = os.time{year=t.year, month=t.month, day=t.day, hour=0, min=0, sec=0}
	local fin = os.time{year=t.year, month=t.month, day=t.day, hour=23, min=59, sec=59}
	local res = api.get("/temperature/"..debut.."/"..fin.."/compare/devices/temperature/"..id)
	return res[1].max
end  


local currentDate = os.date("*t");
 if (string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "08:30")		then
	local max_hier = getMaxTempYesterday(91)
	fibaro:debug("La température maximum était de " .. max_hier) 
end 

La function ne doit pas être entre IF .. END sinon elle n'est pas visibile.

Lorsque tu vois le message "attempt to call global ... " cela ne concerne pas les variables globales de la HC2, cela veux dire que le code n'est pas capable de trouver quelque chose.

Lien vers le commentaire
Partager sur d’autres sites

Tordu... oui, merci...  :P

Et re-merci pour le coup de pouce. Du coup j'ai amélioré mon VD pour la piscine...  :) J'attends de voir si c'est ok et je le remets à  dispo la nouvelle version.

Voir ici :

http://www.domotique-fibaro.fr/index.php/topic/8989-domotisation-de-la-piscine/

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...