Aller au contenu

Température Offset


Berale64

Messages recommandés

Nous avons tous des modules avec sonde température mais qui donnent des valeurs très approximatives.

J'ai voulu corriger un peu le problème avec l'option offset mais celui ci doit être une valeur entière? pas de décimales possible alors qu'on nous donne la température au centième de degré.

 

On frise le ridicule !!! :(

Lien vers le commentaire
Partager sur d’autres sites

Voici le code que j'utilise pour régler l'offset de mes sondes FGBS.

Il a deux utilités :

  1. l'option offset de Fbaro ne fonctionne pas, je l'ai remontée dans le bug tracker (http://bugzilla.fibaro.com/view.php?id=3368)
  2. chez moi, la mesure de la température de la piscine n'est correcte que quand la pompe tourne, donc lorsqu'elle est arrêtée offset = +100°C
local DeviceID = 650
local Piscine_Output = 50

local HC2 = Net.FHttp("127.0.0.1",11111)
local Piscine = tonumber(fibaro:getValue(Piscine_Output, "value"))
fibaro:debug(Piscine)

if Piscine == 1
  then TmpOffset = -0.7
  else TmpOffset = 100
end

if TmpOffset ~= tonumber(fibaro:getValue(DeviceID, "offset")) then
  -- préparation du nouveau json
  NewJson = '{"properties":{"offset":'..TmpOffset..'"}}'    -- écriture du nouveau json
  -- écriture du nouveau json
  payload = "/api/devices/" ..DeviceID
  HC2:PUT(payload, NewJson)
end
  • Upvote 2
Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...
  • 4 mois après...
  • 1 an après...

Bonjour

j'aimerai régler mes température de mes sensor ou détecteur de fumé ou capteur d'inondation grâce à ton script Jojo

 

Donc je créer une scène lua qui se lance au démarrage

exemple ici le sensor ID:75 et la température ID:126 et je veux faire -2.5°C

local DeviceID = 75
local Salon_Output = 126

local HC2 = Net.FHttp("127.0.0.1",11111)
local Salon = tonumber(fibaro:getValue(Salon_Output, "value"))
fibaro:debug(Salon)

if Salon == 1
  then TmpOffset = -2.5
  else TmpOffset = 100
end

if TmpOffset ~= tonumber(fibaro:getValue(DeviceID, "offset")) then
  -- préparation du nouveau json
  NewJson = '{"properties":{"offset":'..TmpOffset..'"}}'    -- écriture du nouveau json
  -- écriture du nouveau json
  payload = "/api/devices/" ..DeviceID
  HC2:PUT(payload, NewJson)
end

Je vois pas trop ce qu'il faut modifier ou si je m'y prend bien

j'ai direct l'erreur

DEBUG] 18:53:59: line 4: attempt to index global 'Net' (a nil value)

 

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

mon script est pour des VD, pas des scènes.

L'appel aux http st différent dans les scènes et dans les VD.

Donc si tu veux absolument le déclencher par une zcène, le plus simple serait de faire une scène qui appellet le VD

Lien vers le commentaire
Partager sur d’autres sites

Salut. J'ai également un décalage entre mes sondes Dallas DS18B20 qui sont branchées sur mes Universal Sensor et un thermomètre traditionnel. Je bidouillé le code de jojo , ça a l'air de fonctionner mais j'ai quand même l'impression que la HC2 arrondi quand même à l'unité supérieur? Je mets le code que j'ai bidouillé. Merci de vos réponses.

local DeviceID = 490
local HC2 = Net.FHttp("127.0.0.1",11111)

fibaro:debug(Temperature)

TmpOffset = 3,83

if TmpOffset ~= tonumber(fibaro:getValue(DeviceID, "offset")) then
  -- préparation du nouveau json
  NewJson = '{"properties":{"offset":'..TmpOffset..'"}}'    -- écriture du nouveau json
  -- écriture du nouveau json
  payload = "/api/devices/" ..DeviceID
  HC2:PUT(payload, NewJson)
end

 

Modifié par fredokl
J'ai dirai même que la HC2 ne tient compte de l'unité dans mon exemple il tient compte du 3 mais pas du reste.
Lien vers le commentaire
Partager sur d’autres sites

Je leur ai demandé justement (dans un anglais plus qu'approximatif) de régler ce problème et de faire un slider plus précis/restreint qu'un +/-100°C. Dans les faits on a rarement besoin de +/-5°C.

Mais en tout cas, moi impossible de régler avec le slider, obligé de passer par un VD pour faire ça (la loose quoi) !

Lien vers le commentaire
Partager sur d’autres sites

@jojo Oui c'est vrai! Que soit en passant par le slider ou par le VD, la HC2 ne prends en compte que l'unité! Si on met par exemple 2,45 et ben juste le 2 est prix en compte et pas le reste. Dommage! Cela fausse la lecture de la température et peut poser des problèmes si on utilise la température pour la gestion de certaines scènes.


Envoyé de mon iPhone en utilisant Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

@jojoSalut. Oui j'ai essayé 2 puis 2,45 et enfin 2,450 et ça arrondi toujours à l'unité c'est à dire 2.

Bon si la différence est de 2,1° et qu'il retient 2° ce n'est pas bien grave mais quand c'est par exemple 2,55° il met quand même 2 alors qu'il devrait arrondir à l'unité supérieur c'est plus embêtant.

Sinon pour réduire cette écart entre les sondes Dallas et un relevé de température avec un thermomètre "classique", y-a-t-il un endroit préconisé pour l'installation cette dernière en extérieur?

J'ai cherché un peu de partout, tous conseille de mettre les stations météos au Nord noir Nord/Est en évitant une exposition en plein soleil mais rien ou presque sur les sondes Dallas.

La mienne en extérieur est placé juste sous une tuile de mon pool-housse (voir photo), est-ce un bonne endroit ou faut-il que je trouve un endroit plus en "extérieur"?

Sonde DS18B20-PoolHouse.JPG

Lien vers le commentaire
Partager sur d’autres sites

@BenjyNetOK. Je vais la déplacer dès que possible. Tu me conseillerais de la placer où pour plus d'efficacité?

Je peur qu'en sortant juste la "tête" de la sonde qu'elle ne soit trop au soleil et que cela augmente encore plus les écarts de températures.

Lien vers le commentaire
Partager sur d’autres sites

Ouais la sonde faut la mettre de façon à ce qu'elle ne voit pas la lumière et surtout que l'air circule un maximum :)

Genre là dedans : http://www.littoclime.net/abri-miniature-meteo-pour-sonde-capteur-ou-enregistreur-temperature-humidite,fr,4,98111402.cfm

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

×
×
  • Créer...