Page 2 sur 3

Re: Niveau batterie sur dashboard

Publié : 06 avr. 2020, 17:24
par 33ced
j'ai peut être rajouté ligne blanche au début dans votre script modules.lua, récupérer hier sur votre GitHub
Un petit de copie des lignes blanches au début du script donc OK pour les lignes
voici votre fonction avec la ligne 438:
merci

-- récupère les infos json du périphérique
-- usage
-- local lampe = jsonInfos('ma lampe')
-- print(lampe.Name)
-- print(lampe.Status)
-- etc..
function jsonInfos(device)
438: local rid = assert(io.popen(curl..'-u '..domoticzUSER..':'..domoticzPSWD..' "'..domoticzURL..'/json.htm?type=devices&rid='..otherdevices_idx[device]..'"'))
local list = rid:read('*all')
rid:close()
return json:decode(list).result[1]
end

Re: Niveau batterie sur dashboard

Publié : 06 avr. 2020, 17:33
par vil1driver
Et ton script battery ?

Re: Niveau batterie sur dashboard

Publié : 06 avr. 2020, 17:56
par 33ced
j'ai enlevé la dénomination des capteurs qui suivent mais ils existent bien, mais déjà le capteur 4 ne passe pas

script_time:
-- chargement des modules
dofile('/home/pi/domoticz/scripts/lua/modules.lua')

debug = true -- true pour voir les logs dans la console log Dz ou false pour ne pas les voir
commandArray = {}

local lowBat = 60 -- niveau de batterie en deçà duquel il y a déclenchement de l'alerte

local capteurs = {}

-- liste de modules à contrôler
capteurs['0']='Fenêtre Bureau'
capteurs['1']='Fenêtre Cuisine'
capteurs['2']='Porte Entrée'
capteurs['3']='Porte Garage'
--capteurs['4']=' '
capteurs['4']='Eau Cuisine'
--capteurs['6']=' '
--capteurs['7']=' '
--capteurs['8']=' '
--capteurs['9']=' '
--capteurs['10']=' '
--capteurs['11']=' '
--capteurs['12']=' '

if (heure == '17:48') then
for i, module in pairs(capteurs) do
print(i..' module '..module)
local capteur = jsonInfos(module)
print(i..'=>'..capteur.BatteryLevel)

if (capteur.BatteryLevel >= lowBat) then
log('Batterie Ok '..module..' : '..capteur.BatteryLevel..'%',debug)
commandArray[#commandArray+1]={['lowBat_'..module]='Off'}
else
warn('Batterie low /!\\ '..module..' : '..capteur.BatteryLevel..'%')
commandArray[#commandArray+1]={['lowBat_'..module]='On'}
if (jour == 'dimanche') then
commandArray[#commandArray+1]={['SendEmail']='Battery Low:#'..module..' (Level: Low)#'..admin}
end
end
end
end

return commandArray

Re: Niveau batterie sur dashboard

Publié : 06 avr. 2020, 18:10
par vil1driver
Eau cuisine est un device et non un matériel ou un module (genre zwave)

Son nom est bien unique

Re: Niveau batterie sur dashboard

Publié : 06 avr. 2020, 18:25
par 33ced
C'est bien un matériel le 0x04 sur mon réseau. Il est unique. C'est un module Fibaro FGFS101.
Il y a plusieurs dispositifs (ID) dessus, inondation cuisine, .....
Merci

Re: Niveau batterie sur dashboard

Publié : 06 avr. 2020, 18:37
par vil1driver
Et bien l'erreur est là.
C'est le nom d'un device qu'il faut indiquer et non celui du matériel

Re: Niveau batterie sur dashboard

Publié : 06 avr. 2020, 18:45
par 33ced
Ah autant pour moi, car je regardais toujours mon pourcentage de batterie, en chiffre, sur la page matériel de DZ, et je n'ai pas fais attention que tu récupérais les infos sur un Idx (et oui tous les Idx du module ont donc le même niveau de batterie) et non sur le simple matériel, j'essaye.........c'est OK ca marche, quelle erreur bête.
Mais dans mon cas c'est dommage car par exemple pour mon capteur "Eau Cuisine" ayant pour dispositif, entre autre, 'Inondation Cusine", le mail enverra : 'Batterie Faible sur dispositif Inondation Cuisine' et non 'Batterie Faible sur le capteur Eau Cuisine.

Re: Niveau batterie sur dashboard

Publié : 06 avr. 2020, 18:57
par vil1driver
Tu peux toujours juste avant l'envoie du mail
Ajouter

if module == 'inondation...' then
module = 'capteur eau..'
end

Re: Niveau batterie sur dashboard

Publié : 06 avr. 2020, 19:41
par 33ced
OK merci bien à vous.

Pour info, tout ton script modules.lua est basé sur l'utilisation des devices Idx, pas du tout sur les capteurs matériels?

Re: Niveau batterie sur dashboard

Publié : 06 avr. 2020, 19:49
par vil1driver
aucun script n'est basé sur le matériel