Page 2 sur 3
Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz
Publié : 02 août 2018, 22:22
par mmikee02
je dois avoir fait 1 erreur de parenthèses qqpart car j'ai -7°C dans domoticz maintenant.

Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz
Publié : 02 août 2018, 22:26
par mmikee02
Je testerai d'autres changements demain...
Là, mon
W.A.F. arrive à saturation, faut que j'aille la rejoindre...
Encore merci pour votre aide précieuse!
Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz
Publié : 02 août 2018, 22:29
par marsflow
mmikee02 a écrit :J'ai bien une TC100.
je viens de changer la formule du script pour tester, j'ai écris ceci :
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
Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz
Publié : 02 août 2018, 23:05
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

Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz
Publié : 03 août 2018, 00:46
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.

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.
Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz
Publié : 03 août 2018, 02:19
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

Franchement, essayes et tu auras du mal à revenir en arrière.
Bonne continuation

Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz
Publié : 03 août 2018, 09:48
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.
Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz
Publié : 03 août 2018, 11:34
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
Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz
Publié : 03 août 2018, 12:06
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
Re: Récupérer valeur analogique (température) IPX800 V3 dans domoticz
Publié : 20 oct. 2019, 12:30
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.
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