J'ai un pluviomètre qui envoie sur Domoticz le taux de pluie à l'heure, et la quantité du jour. Le problème : la valeur brute est en pouce au lieu de mm. Quand il pleut, un auget qui bascule devrait être de 0,2mm, alors que Domoticz reçoit 0,254mm. J'ai donc une valeur 21% plus elevé.
J'ai créé un pluviomètre virtuel via dummy dans domoticz, et aimerais multiplier la valeur par 0,79 pour le taux et la pluie du jour.
J'ai fait ce script, avec mes faibles connaissances, mais cela ne marche pas :
Code : Tout sélectionner
--------------------------------
------ Variables à éditer ------
--------------------------------
local pluie_vp2 = 135 -- Numéro idx de la pluie dans Domoticz
local pluie_mm = 152 -- Numéro idx de la pluie dans Domoticz
--------------------------------
-- Fin des variables à éditer --
--------------------------------
------------------- --------------------
-- Fonction arrondir à deux décimales --
------------------- --------------------
-- Le chiffre"x" (dec or x) correspond au nombre de décimales à prendre en compte dans le resultat
function arrondir(num, dec)
if num == 0 then
return 0
else
local mult = 10^(dec or 1)
return math.floor(num * mult + 0.5) / mult
end
end
commandArray = {}
-- Envoi de la valeur --
srain1 = otherdevices_svalues['pluie_vp2']:match("([^;]+);")
rain1 = tonumber(srain1)*0.79;
srain2 = otherdevices_svalues['pluie_vp2']:match(";([^;]+)")
rain2 = tonumber(srain2)*0.79;
commandArray = {['UpdateDevice'] = pluie_mm .. '|0|' .. tostring(rain1)..';' .. tostring(rain2)}
return commandArray
Pouvez-vous m'aider pour réaliser ce calcul afin d'avoir une pluie cohérente ?
Merci d'avance pour votre aide.