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