Compteur eau sur entrée ipx800 v3

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
Sebus22
Messages : 4
Inscription : 28 févr. 2021, 07:47

Compteur eau sur entrée ipx800 v3

Message par Sebus22 »

Bonjour,
J'ai recherché mais pas trouvé
J'ai un compteur d eau à impulsion branché sur l entrée 8 de mon ipx800 V3 qui incremente le compteur 2 de cette même ipx

Je voudrais afficher le compteur dans domoticz mais je suis débutant, j'ai réussi a récupéré mes sondes de température ainsi que l état de mes entrées avec des scripts lua trouvé sur le forum encore merci à ceux qui laisse de super script bien expliquer

Quelqu un pourrait il m aiguiller?
Merci d avance
bahia34
Messages : 23
Inscription : 20 sept. 2015, 09:54

Re: Compteur eau sur entrée ipx800 v3

Message par bahia34 »

Salut,
j'utilise également un ipx800 v3 pour alimenter un compteur d'eau (incrémental) dans Domoticz.
Le plus simple est d'utiliser le Push settings de ton entrée en y mettant une commande Json.

Perso, je met a jour une variable utilisateur a chaque impulsion :

Code : Tout sélectionner

/json.htm?type=command&param=updateuservariable&idx=IDX&vname=VU&vtype=2&vvalue=1
le script lua pour mettre à jour le compteur :

Code : Tout sélectionner

 json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")()  

 function envoi(device)
os.execute(curl..'-u '..domoticzUSER..':'..domoticzPSWD..' "'..domoticzURL..'/json.htm?type=command&param=udevice&idx='..device..'&nvalue=0&svalue=1"')
  local config=assert(io.popen('/usr/bin/curl "http://domoticzIP/json.htm?type=devices&rid=' ..device ..'"'))
      local blocjson = config:read('*all')
   config:close()
  local jsonValeur = json:decode(blocjson)
 c1 = jsonValeur.result[1].CounterToday
 c2=jsonValeur.result[1].Counter
return
end

commandArray = {}

if (uservariablechanged['impulsion']) then
envoi(IDX du compteur)
end

return commandArray
Je récupère c1 et c2 pour controler une éventuelle anomalie du débit et couper l'arrosage au besoin.
Sebus22
Messages : 4
Inscription : 28 févr. 2021, 07:47

Re: Compteur eau sur entrée ipx800 v3

Message par Sebus22 »

Bonjour,

Merci pour votre retour,je suis au boulot je regarde tout ça demain je vous redis
Sebus22
Messages : 4
Inscription : 28 févr. 2021, 07:47

Re: Compteur eau sur entrée ipx800 v3

Message par Sebus22 »

bonjour,
suite a votre message d'hier j'ai testé la commande json avec le script mais sans succes

1-j'ai créé une variable dans domoticz appelé= idx1 / nom =impulsion/ type 2= chaine/valeur=311350 valeur de mon compteur
2-j'ai créé un compteur incremental=nom =compteur eau / IDX 813
3-J'ai saisi sur l'entrée 8 de mon ipx800 v3 en push1 commande suivante
/json.htm?type=command&param=updateuservariable&idx=impulsion&1=VU&vtype=impulsion&2&vvalue=311350

4-j'ai modifié dans le script fourni hier comme je pensais qu'il devait etre mais vu que je suis une buse en script c'est pas gagné
ip domoticz 192.168.1.90
ipx 192.168.1.30


script modifié

json = (loadfile "/home/root/domoticz/scripts/lua/JSON.lua")()

function envoi(device)
os.execute(curl..'-u '192.168.1.90:8070'/json.htm?type=command&param=udevice&idx='compteur eau&813'&nvalue=0&svalue=1"')
local config=assert(io.popen('/usr/bin/curl "http://192.168.1.90:8070/json.htm?type= ... ='compteur eau'"'))
local blocjson = config:read('*all')
config:close()
local jsonValeur = json:decode(blocjson)
c1 = jsonValeur.result[1].CounterToday
c2=jsonValeur.result[1].Counter
return
end

commandArray = {}

if (uservariablechanged['impulsion']) then
envoi(idx813)
end

return commandArray
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Modération

Message par Keros »

Sebus22, peux-tu éditer ton message précédent pour mettre ton script entre les balises code. Ceci facilitera la lecture, merci.

Comment faire ? > Remonte sur ton message, clique sur le petit bouton avec un crayon en haut à droite : tu peux ainsi éditer ton message et rajouter les balises (il y a un petit bouton </> au-dessus de la zone de rédaction).
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
bahia34
Messages : 23
Inscription : 20 sept. 2015, 09:54

Re: Compteur eau sur entrée ipx800 v3

Message par bahia34 »

Salut,
Tout d'abord l'ipx ne transmetra pas la valeur de son compteur.

Tu peuxt envoyer la commande json directement sur l'idx du compteur domoticz qui s'incrémentera à chaque impulsion de l'entrée IPX. Dans ton cas , dans le push settings de ton entrée :

Code : Tout sélectionner

/json.htm?type=command&param=udevice&idx=813&nvalue=0&svalue=1
ou l'idx correspond à ton compteur domoticz. Le reste étant bien sûr renseigné et activé. ;)
tu pourra toujours initialiser ton compteur domoticz avec la valeur actuelle de l'ipx

Si tu as, comme moi, plusieurs compteurs, il faut mettre un json vers un simple switch dont on controlera le changement combiné avec la commande correspondante (zone) pour aiguiller vers le compteur correspondant.
et éventuellement mettre à jour un compteur global cumulant les autres.
J'utilise une VU pour éviter des On/Off à la pelle mais le principe est le même (detecter le changement)
Une partie du script est réservée a la récup des valeurs (cumul et journalier) mais ce n'est pas nécessaire, je m'en sers pour détecter des anomalies par un script spécifique.
Sebus22
Messages : 4
Inscription : 28 févr. 2021, 07:47

Re: Compteur eau sur entrée ipx800 v3

Message par Sebus22 »

Merci beaucoup je vais essayer cela ca m'a l'air plus simple avec un push setting
Répondre