Page 1 sur 1

Pluviomète et cumul journalier

Publié : 10 juin 2019, 19:49
par D'nis
Bonjour,

j'ai un arrosage automatique très simple, je pilote juste une électrovanne pendant 3 min.
Je souhaite l'améliorer en évitant d'arroser quand la pluie du jour est conséquente.
J'ai donc acheté un pluviomètre... Mais
Je ne sais pas comment lire la valeur du cumul jour du pluviomètre dans domoticz
Avez vous une idée :cry: :cry:

Re: Pluviomète et cumul journalier

Publié : 10 juin 2019, 21:41
par papoo
c'est le rainrate
en dzvents

Code : Tout sélectionner

domoticz.devices("nom du pluviomètre").rainRate
te retourne la quantité de pluie dans la dernière heure

Re: Pluviomète et cumul journalier

Publié : 10 juin 2019, 23:21
par mike913
Bonjour
je suis surpris car pour moi rain rate c'est l'intensité de pluie (en mm/h) et non un cumul.

Re: Pluviomète et cumul journalier

Publié : 11 juin 2019, 08:28
par aleph0
En lua, tu peux accéger au cumul de pluie total avec otherdevices_rain. Si tu veux le cumul journalier tu peux faire un script qui :
- lit le cumul à minuit et le stocke dans une variable
- lorsque tu as besoin du cumul journalier, lit le cumul total et fait la différence avec la variable

Re: Pluviomète et cumul journalier

Publié : 11 juin 2019, 21:29
par papoo

Re: Pluviomète et cumul journalier

Publié : 12 juin 2019, 22:01
par D'nis
Merci a tous pour les infos, avec otherdevices_rain, c'est parfait.
La difficulté est de trouver la bonne commande. existe-t-il la liste de commande LUA sur domoticz?
Avez-vous celle pour un compteur incrémental?
J'ai installé un débitmètre pour vérifier les fuites.
:lol: :lol:

Re: Pluviomète et cumul journalier

Publié : 12 juin 2019, 22:04
par papoo

Re: Pluviomète et cumul journalier

Publié : 12 juin 2019, 22:48
par aleph0
et pour la liste des otherdevices_ disponibles :

Code : Tout sélectionner

grep otherdevices domoticz-development/main/EventSystem.cpp
lua_setglobal(lua_state, "otherdevices");
lua_setglobal(lua_state, "otherdevices_lastupdate");
lua_setglobal(lua_state, "otherdevices_svalues");
lua_setglobal(lua_state, "otherdevices_idx");
lua_setglobal(lua_state, "otherdevices_lastlevel");
lua_setglobal(lua_state, "otherdevices_temperature");
lua_setglobal(lua_state, "otherdevices_dewpoint");
lua_setglobal(lua_state, "otherdevices_humidity");
lua_setglobal(lua_state, "otherdevices_barometer");
lua_setglobal(lua_state, "otherdevices_utility");
lua_setglobal(lua_state, "otherdevices_rain");
lua_setglobal(lua_state, "otherdevices_rain_lasthour");
lua_setglobal(lua_state, "otherdevices_uv");
lua_setglobal(lua_state, "otherdevices_winddir");
lua_setglobal(lua_state, "otherdevices_windspeed");
lua_setglobal(lua_state, "otherdevices_windgust");
lua_setglobal(lua_state, "otherdevices_weather");
lua_setglobal(lua_state, "otherdevices_zwavealarms");
lua_setglobal(lua_state, "otherdevices_scenesgroups");
lua_setglobal(lua_state, "otherdevices_scenesgroups_idx");
Je les ai pas toutes essayée, mais avec le nom on comprends vaguement ce que c'est censé faire ;-)
Je connais pas dzvent, je laisse les collègues compléter !

Pour les compteurs incrémentaux, tout va bien quand on les met à jour par requette http ; pour les mettre à jour en lua, c'est un peu plus compliqué car depuis je ne sais plus quelle version, on n'a plus accès à la valeur absolue du compteur avec otherdevices_svalue :-(, il faut aller taper dans la dB pour la trouver. Voici la fonctions que j'utilise pour ça :

Code : Tout sélectionner

function UpdateCpt(dbName,device,incr)
    -- Met à jour un counter
    -- dbName : Chemin complet d'accès à la base de donnée domoticz
    -- device : nom du compteur
    -- incr   : Quantité à ajouter au compteur
    
    local Cpt
    
    Cpt = os.capture('sqlite3 '..dbName..' "select sValue from DeviceStatus where ID='..otherdevices_idx[device]..'"')
    Cpt=Cpt or 0
    commandArray[#commandArray+1] = {['UpdateDevice'] = tostring(otherdevices_idx[device]).."|0|"..tostring(Cpt+incr)}
end