[LUA] envoi mail niveau cuve

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
sebnatl
Messages : 56
Inscription : 08 févr. 2016, 11:00

[LUA] envoi mail niveau cuve

Message par sebnatl »

bonjour j essai de faire un script simple pour qu il envoi un mail lors du niveau 3 de la cuve mais sans succes

Code : Tout sélectionner

commandArray = {}
debug=true
    if (devicechanged['niveau cuve'] == 'SwitchTypeVal=3' ) then
           commandArray['SendEmail']='niveaucuve#3#xxxxxx@xxx.fr'

end
return commandArray
info sur le capteur

Code : Tout sélectionner

{
   "ActTime" : 1489831054,
   "ServerTime" : "2017-03-18 10:57:34",
   "Sunrise" : "06:56",
   "Sunset" : "18:57",
   "result" : [
      {
         "AddjMulti" : 1.0,
         "AddjMulti2" : 1.0,
         "AddjValue" : 0.0,
         "AddjValue2" : 0.0,
         "BatteryLevel" : 255,
         "Counter" : "3 /4",
         "CounterToday" : "0 /4",
         "CustomImage" : 0,
         "Data" : "3 /4",
         "Description" : "",
         "Favorite" : 0,
         "HardwareID" : 27,
         "HardwareName" : "rfxcom",
         "HardwareType" : "RFXCOM - RFXtrx433 USB 433.92MHz Transceiver",
         "HardwareTypeVal" : 1,
         "HaveTimeout" : false,
         "ID" : "05F5",
         "LastUpdate" : "2017-03-18 10:39:41",
         "Name" : "niveau cuve",
         "Notifications" : "false",
         "PlanID" : "0",
         "PlanIDs" : [ 0 ],
         "Protected" : false,
         "ShowNotifications" : true,
         "SignalLevel" : 8,
         "SubType" : "RFXMeter counter",
         "SwitchTypeVal" : 3,
         "Timers" : "false",
         "Type" : "RFXMeter",
         "TypeImg" : "counter",
         "Unit" : 0,
         "Used" : 1,
         "ValueQuantity" : "Count",
         "ValueUnits" : "/4",
         "XOffset" : "0",
         "YOffset" : "0",
         "idx" : "677"
      }
   ],
   "status" : "OK",
   "title" : "Devices"
}
malgré ce script je n ai pas de défaut dans les logs mais rien ce fait .
en Blockly je n ai pas trouvé le moyen non plus .
voici les infos sur la réalisation du capteur :viewtopic.php?f=7&t=2992
merci
3 RPI2 . 2 avec motioneyes . 1 domoticz ( RFXcom .Rlink)
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: [LUA] envoi mail niveau cuve

Message par vil1driver »

Salut,

rends toi compte de ce que tu vas pouvoir tester comme valeur (certainement pas ceci 'SwitchTypeVal=3')

Code : Tout sélectionner

commandArray = {}

    if (devicechanged['niveau cuve']) then
           print(otherdevices_svalues['niveau cuve'])

    end
return commandArray
Dernière modification par vil1driver le 18 mars 2017, 20:29, modifié 1 fois.
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
sebnatl
Messages : 56
Inscription : 08 févr. 2016, 11:00

Re: [LUA] envoi mail niveau cuve

Message par sebnatl »

merci de m avoir dirigé , en effet SwitchTypeVal est pour monitor et en regardant le wiki j ai vu mon erreur
je vais continuer pour reussir ce que je veux faire .
3 RPI2 . 2 avec motioneyes . 1 domoticz ( RFXcom .Rlink)
sebnatl
Messages : 56
Inscription : 08 févr. 2016, 11:00

Re: [LUA] envoi mail niveau cuve

Message par sebnatl »

voici une petite avancé de mon script

Code : Tout sélectionner

commandArray = {}
debug = true
a = 'niveau cuve'
V = otherdevices_svalues[a] 
if (devicechanged['niveau cuve']) then
    print (otherdevices_svalues['niveau cuve'])
    if (tonumber(V) > 3) then
        print('cuve HIGH ')
    elseif (tonumber(V) < 1) then
        print('cuve LOW ')
end    
end
 
return commandArray

tout fonctionne je dois encore rajouter l envoi de mail .

Code : Tout sélectionner

commandArray = {}
debug = true
a = 'niveau cuve'
V = otherdevices_svalues[a] 
if (devicechanged['niveau cuve']) then
    print (otherdevices_svalues['niveau cuve'])
    if (tonumber(V) > 3) then
        print('cuve HIGH ')
        commandArray['SendEmail']='niveaucuve#le niveau est haut#xxxxxxx@xxxxxx.fr'
    elseif (tonumber(V) < 1) then
        print('cuve LOW ')
        commandArray['SendEmail']='niveaucuve#le niveau est bas#xxxxxxx@xxxxx.fr'
end    
end
 
return commandArray

voila c est bon j ai testé.

Merci de m avoir dirigé vil1driver :D .
c est la suite de ca https://easydomoticz.com/forum/viewtopi ... 2&start=10
3 RPI2 . 2 avec motioneyes . 1 domoticz ( RFXcom .Rlink)
sebnatl
Messages : 56
Inscription : 08 févr. 2016, 11:00

Re: [LUA] envoi mail niveau cuve

Message par sebnatl »

bonjour je cherche a optimiser donc il relance le script une fois 20 secondes après pour bien confirmer que le niveau est pas bon mais même si le processus se relance une heure après c est pas grave ,
voici ce que j ai rajouté mais pas de logs

Code : Tout sélectionner

commandArray = {}
debug = true
a = 'niveau cuve'
V = otherdevices_svalues[a]
if (devicechanged['niveau cuve']) then
    print (otherdevices_svalues['niveau cuve'])
    if (tonumber(V) > 3) then
        print('cuve HIGH ')
--        commandArray['SendEmail']='niveaucuve#4#xxxxxx@xxxx.fr'
    elseif (tonumber(V) < 1) then
        print('cuve LOW ')
--        commandArray['SendEmail']='niveaucuve#0#xxxxxx@xxxx.fr'
    elseif (tonumber (V) > 3 or tonumber (V) < 1) then
time.sleep(20)
retry = 1
os.execute(home/pi/domoticz/scripts/lua/script_device_niveaucuve.lua)
print ('probleme')
end
end
return commandArray
que pourriez-vous me conseiller !
3 RPI2 . 2 avec motioneyes . 1 domoticz ( RFXcom .Rlink)
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: [LUA] envoi mail niveau cuve

Message par vil1driver »

seul domoticz doit lancer les script lua..
et pas de sleep dans les script, sinon ils seront tués par domoticz.
Dernière modification par vil1driver le 22 mars 2017, 12:10, modifié 1 fois.
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
sebnatl
Messages : 56
Inscription : 08 févr. 2016, 11:00

Re: [LUA] envoi mail niveau cuve

Message par sebnatl »

merci pour les infos
3 RPI2 . 2 avec motioneyes . 1 domoticz ( RFXcom .Rlink)
Répondre