Page 1 sur 1

si changement de la valeur de consigne de thermostat envoi de SMS

Publié : 24 mars 2016, 22:56
par lebsana
Bonjour tout le monde,

Me voilà déjà revenu.
En gros j'ai la consigne de chauffage du thermostat dans l'onglet mesure.
Je sais modifier cette valeur soit en activant la commande physique de l'appareil ou en utilisant un script /json...

Le tout fonctionne correctement.
Grâce à l'Api de free, je voudrais être informé par sms lorsque il y changement (dû au script /json ou intervention manuelle) de consigne de la température.

Je pensai le faire via le script suivant mais Lua me remonte toujours une erreur :
Error: EventSystem: in sms changement consigne: [string "local consigne = 'consigne temperature'..."]:7: 'then' expected near 'values'

Code : Tout sélectionner

local consigne = 'consigne temperature'
local temp_thermostat = tonumber(otherdevices_svalues[consigne])


commandArray = {}

if changed values[temp_thermostat] then
    Print ('blabla ..... pour céer mon scénario SMS si la consigne thermostat change dû à l'activation manuelle ou par /json')
end
    
return commandArray

J'ai essayé avec devicechanged [temp_thermostat ou devicechanged[consigne] ou change value [...........] mais rien ne fonctionne j'ai toujours un message d'erreur.

donc si une âme charitable pouvait éclairer ma lanterne ce serais sympa.

Lebsana

Re: si changement de la valeur de consigne de thermostat envoi de SMS

Publié : 25 mars 2016, 15:06
par lebsana
Je me réponds à moi-même.
Après une bonne nuit de sommeil il y a des idées qui germes !!
Voici la parade que j'ai trouvée :

Code : Tout sélectionner

local consigne = 'consigne temperature'
local temp_thermostat = tonumber(otherdevices_svalues[consigne])
-- pour envoi de smsapi
local url = 'https://smsapi.free-mobile.fr/sendmsg?user=XXXXX&pass=YYYYYY&msg='

commandArray = {}

function timedifference(d)
   s = otherdevices_lastupdate[d]
   year = string.sub(s, 1, 4)
   month = string.sub(s, 6, 7)
   day = string.sub(s, 9, 10)
   hour = string.sub(s, 12, 13)
   minutes = string.sub(s, 15, 16)
   seconds = string.sub(s, 18, 19)
   t1 = os.time()
   t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
   difference = os.difftime (t1, t2)
   return difference
end

-- on regarde de quand date le dernier changement de consigne du thermostat
local lastSeen = string.sub(os.date("!%X", timedifference(consigne)), 1, 8)
print ('dernier changement de consigne :' ..lastSeen)
 
 
 --envoie du SMS lorsqu'il y a un changement
   if (lastSeen >= '00:00:00' and lastSeen <= '00:00:05') then
      commandArray['OpenURL']=url..'Changement de consigne du thermostat Domoticz à : '..temp_thermostat..' !!!'
    end
   
return commandArray 
Comme ça j'ai toujours un œil sur la dernière consigne de température du thermostat et en cas d'anomalie cela me permettra d'y remédier et surtout d'éviter d'avoir "madame" sur le dos (à juste titre) !!!!

:D :D :D :D

Lebsana