Récupérer valeur analogique (température) IPX800 V3 dans domoticz

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
mmikee02
Messages : 13
Inscription : 03 juin 2018, 17:04

Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz

Message par mmikee02 »

je dois avoir fait 1 erreur de parenthèses qqpart car j'ai -7°C dans domoticz maintenant. :lol: :lol:
mmikee02
Messages : 13
Inscription : 03 juin 2018, 17:04

Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz

Message par mmikee02 »

Je testerai d'autres changements demain...
Là, mon W.A.F. arrive à saturation, faut que j'aille la rejoindre... :lol: :lol: :lol:
Encore merci pour votre aide précieuse!
marsflow
Messages : 83
Inscription : 25 mai 2017, 20:42
Localisation : Landes

Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz

Message par marsflow »

mmikee02 a écrit :J'ai bien une TC100.
je viens de changer la formule du script pour tester, j'ai écris ceci :

Code : Tout sélectionner

temp=((tonumber(jsonValeur.AN3)*0.000050354)-0.25)/0.028
sur l'ipx, après 5 douches consécutives, la T° du boiler est à 72,9°C.
calcul = ((X* 0.00323) - 0.25) / 0.028
essai ça
temp= (tonumber((jsonValeur.AN3)*0.000050354)-0.25)/0.028
ou
temp= (tonumber((jsonValeur.AN3*0.000050354)-0.25)/0.028

ça doit être bon.
si tu as un thermomètre filaire tu peux vérifier la température de l'eau directement au robinet et étalonner ta sonde en conséquence. Et faire des essais sur plusieurs jours pour te rapprocher au plus près de la température réelle.

De rien il faut s'entraider c'est important. Bonne soirée
lmet
Messages : 252
Inscription : 30 juin 2017, 18:16
Localisation : Val d'Oise
Contact :

Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz

Message par lmet »

Bonsoir,

@marsflow, j'ai été un peu rapidement débarqué dans cette affaire mais bon ... Même si tu reprends mes propos, ta réponse a été efficace, c'est le principal.
Par contre, franchement pourquoi ne pas proposer l'éditeur de scripts intégré depuis 2016, Dommage :(
Domoticz : V4.10717
Zigate : V4.11230 plugin:4.5.4 firmware:031a
Mon petit blog domotique
mmikee02
Messages : 13
Inscription : 03 juin 2018, 17:04

Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz

Message par mmikee02 »

lmet a écrit :Bonsoir,

@marsflow, j'ai été un peu rapidement débarqué dans cette affaire mais bon ... Même si tu reprends mes propos, ta réponse a été efficace, c'est le principal.
Par contre, franchement pourquoi ne pas proposer l'éditeur de scripts intégré depuis 2016, Dommage :(
Désolé, je ne voulais vexer personne. :?
Quand j'ai remercié les personnes qui s'intéressaient à mon problème, cela vous incluait aussi. :D
Pour ce qui est de l'éditeur, j’y ai jeté un coup d’œil, c'est vrai que, pour moi qui ai la logique mais suis une buse en codage, ça a l'air vachement simple.
EDIT :
Chui trop c*n... j'étais dans l'éditeur "blockly", & pas "lua" :? , c'était trop simple. Sinon, j'utilise "geany", sur le Raspberry, qui colore la syntaxe aussi.
lmet
Messages : 252
Inscription : 30 juin 2017, 18:16
Localisation : Val d'Oise
Contact :

Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz

Message par lmet »

Pas de souci de plus je ne m'adressais pas à toi , le principal est que ton problème soit solutionné.

Si tu lis bien il n'y a pas que la coloration syntaxique il y a aussi :
La gestion des erreurs de syntaxe.
Tu écris ton code et donne un nom à ton script, tu choisis ensuite le mode (Device, Time ...)
Le code est sauvegardé dans la base de données, si tu as une sauvegarde tu retrouves tout même en cas de plantage total.
Pas de chmod et nommage de fichier ...
Et surtout : Tu ne quittes pas l'interface :D
Franchement, essayes et tu auras du mal à revenir en arrière.

Bonne continuation :)
Domoticz : V4.10717
Zigate : V4.11230 plugin:4.5.4 firmware:031a
Mon petit blog domotique
marsflow
Messages : 83
Inscription : 25 mai 2017, 20:42
Localisation : Landes

Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz

Message par marsflow »

lmet a écrit :Bonsoir,

@marsflow, j'ai été un peu rapidement débarqué dans cette affaire mais bon ... Même si tu reprends mes propos, ta réponse a été efficace, c'est le principal.
Par contre, franchement pourquoi ne pas proposer l'éditeur de scripts intégré depuis 2016, Dommage :(
Moi j'aime pas trop par celui intégré, comme expliquer dans un autre sujet, tu as intérêt à avoir une sauvegarde si tu fais planter domoticz, que par sftp et éditeur de texte tu as juste à supprimer ton fichier et pas besoin de chmod pour du lua, tant que le fichier est en lecture. Ce qui est obligatoire sinon ton domoticz à été chmodé de partout et là il risque d'avoir des problèmesà quelques endroits.
mmikee02
Messages : 13
Inscription : 03 juin 2018, 17:04

Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz

Message par mmikee02 »

Je ne voudrais pas avoir l'air d'abuser, mais, tant qu'on y est, auriez-vous une solution pour limiter le nombre de décimales à 1 chiffre après la virgule svp ... :?: Car, pour le moment, j'ai +/- 10 chiffres.

Tant que j'y pense, voici la formule que j'ai écrite :

Code : Tout sélectionner

temp=((tonumber(jsonValeur.AN3/0.028)*0.000050354)-0.25)/0.014
Pour le moment, elle me donne la valeur quasi exacte de la valeur de la sonde dans l'ipx800 V.3.
Je me suis inspiré de la formule écrite ici par "chacal": https://forum.gce-electronics.com/t/ipx ... cz/3839/13
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz

Message par vil1driver »

Salut

Pour 1 chiffre après la virgule tu multiplies par 10,
Tu vires toutes les décimales
Tu divises par 10

Sinon regarde ma signature, tu y trouveras la fonction round
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
mmikee02
Messages : 13
Inscription : 03 juin 2018, 17:04

Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz

Message par mmikee02 »

Bonjour à tous,
je relance le sujet pour mise à jour, vu que, suite à 1 crash de carte SD, j'ai perdu une partie de mes brols :( (récupérés depuis, ... Merci les backups auto! ;) ) et en recherchant mes scripts, je me suis rendu compte que je n'avais jamais postés ceux-ci ici. :?
J'espère sincèrement qu'ils pourront en aider d'autres, comme les différents participants du "fil" m'ont aidés. :D :D
Voici le code pour récupérer la sortie analogique 1 sur 1 IPX800 V.3 ici, la formule pour une sonde de luminosité LS100.

Code : Tout sélectionner

-- récupération de sortie analogique 1 (AN1) sur une IPX800 V.3
-- avec fonction arrondie
-- dans ce cas-ci : une sonde de luminosité LS100
time=os.date("*t")

IDX=XXX -- IDX du capteur virtuel que vous aurez créé pour l'occasion.

json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")()  -- For Linux
 
local config=assert(io.popen('/usr/bin/curl "http://LOGIN:MOT_DE_PASSE@IP_DE_L'IPX/api/xdevices.json?cmd=30"'))

local blocjson = config:read('*all')
 config:close()
print (blocjson)
 local jsonValeur = json:decode(blocjson)

commandArray = {}

 if time.min%1==0 then --temps de maj du cycle , pour moi avec la sond de luminosité, 1 minute en fonctionnement normal
     
 function round(num, dec)
  local mult = 10^(dec or 1)
  return math.floor(num * mult + 0.5) / mult
  end

temp=(tonumber(jsonValeur.AN1)*0.09775) --X * 0.09775  [formule de calcul dispo sur wiki gce : https://gce-electronics.com/helpdesk/knowledgebase.php?article=39 ]
--print (temp) --  print valeur non arrondie

tempA0=round(temp) 

print (tempA0) -- un print avec valeur arrondie

commandArray['UpdateDevice'] = IDX .. '|0|' .. tostring(tempA0)

end

return commandArray
Répondre