Notification sms incluant la valeur d'une variable ?

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 <\>.
Biocef
Messages : 39
Inscription : 13 déc. 2014, 14:59

Notification sms incluant la valeur d'une variable ?

Message par Biocef »

Bonjour,

Je cherche à inclure la valeur d'une variable dans un message envoyé via le service de notification sms de Free Mobile mais je ne trouve pas comment faire.

Concrètement, je voudrais être alerté en cas de gel durant le nuit et avoir dans le sms la température la plus basse qu'il a fait.
A l'aide d'un blockly j'arrive à avoir cette température dans une variable mais je bloque sur l'insertion de celle-ci dans une notification sms.

Je voudrais par exemple, recevoir le matin un sms du style "Cette nuit il a fait -5".

Merci pour votre aide !!
Dernière modification par Biocef le 21 janv. 2015, 07:53, modifié 1 fois.
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: Notification sms incluant la valeur d'une variable ?

Message par patrice »

On eut faire un truc comme cela

imaginons que ta temperature soit dans un script sh sous le nom de TEMP
ici dans mon exemple j'ai mis "en dur" TEMP="-6.5" mais bien sur toi tu utilises ta variable

et à la fin de l'url tu ajoutes un +$TEMP en fermant les guillemets avant et hop...

#!/bin/sh
TEMP="-6.5"
curl -s -i -k "https://smsapi.free-mobile.fr/sendmsg?u ... &msg=Cette nuit : "+$TEMP
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
Jihem
Messages : 337
Inscription : 19 sept. 2014, 13:04
Localisation : Finistère Sud

Re: Notification sms incluant la valeur d'une variable ?

Message par Jihem »

Bonjour
Sur mon congélateur j'ai mis une notification qui m'envoie un sms quand la température monte au dessus d'un certain seuil. C'est directement depuis le widget du thermomètre.
Si tu veux connaître exactement la plus basse température, il faut aller voir sur le log du thermomètre.
Je ne sais pas si on peut récupérer les valeurs des logs pour les analyser depuis un script mais ça doit bien être quelque part.
A creuser
Hard:Raspberry Pi4 + SSD Arduino Tablette murale Archos
Soft: Domoticz WireGuard vpn Homebridge Tradfri Ikea
Devices:[/colore]Rfxtrx433 DI-O Chacon Sonoff touch Anémomètre, pluviometre, sondes Orégon, capteurs humidité Miflora, téléinfo
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: Notification sms incluant la valeur d'une variable ?

Message par patrice »

Bonjour

Je n'avais pas compris a la lecture de ton premier message que ta valeur etait stockée dans un variable Domoticz
Il faut donc aller l'extraire avant d'utiliser le script sh que je t'ai donné plus haut

D'abord dans un navigateur tu lances un
http://192.168.1.81:8080/json.htm?type= ... rvariables

qui liste toutes les variables de Domoticz,
tu y reperes l'idx de ta variable a toi

ensuite un /json.htm?type=command&param=getuservariable&idx=IDX
te donne le contenu de la variable


Ensuite tu peux utiliser un script comme celui que j'ai fait pour recuperer l'etat des batteries
en le modifiant pour qu'il aille chercher "Value' et non pas "BatteryLevel"
changer les offset et longueur pour bien recuperer ta variable avec les -
tu mets la valeur 1 dans debug au tout debut du programme pour voir ce que tu recuperes

puis dans la partie qui se nomme def maj_widget tu remplace les 'http domoticz' par ton url de chez free

Essaye ca et dis nous si ca roule ,
j'essaie de trouver un peu de temps pour refaire un script python propre sinon

Bon Dimanche
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
Biocef
Messages : 39
Inscription : 13 déc. 2014, 14:59

Re: Notification sms incluant la valeur d'une variable ?

Message par Biocef »

Merci pour ton aide, je vais regarder tout ça dès que j'ai un peu de temps !

Par contre après quelques tests je me suis rendu compte que bizarrement, mon blockly ne stockait pas la température mais l'id de mon capteur ...
Jihem
Messages : 337
Inscription : 19 sept. 2014, 13:04
Localisation : Finistère Sud

Re: Notification sms incluant la valeur d'une variable ?

Message par Jihem »

Bonsoir,
Dans l'esprit de cette discussion, je voudrais savoir si on peut passer une variable dans la commande: commandArray['SendNotification'] de lua?
par exemple

Code : Tout sélectionner

 temp = uservariables['T_max']
comment l'inserer dans la commande
commandArray['SendNotification']='subject#body#0'
je ne trouve pas la syntaxe. ( $temp ça marche en bash mais pas là)
Merci d'avance
Hard:Raspberry Pi4 + SSD Arduino Tablette murale Archos
Soft: Domoticz WireGuard vpn Homebridge Tradfri Ikea
Devices:[/colore]Rfxtrx433 DI-O Chacon Sonoff touch Anémomètre, pluviometre, sondes Orégon, capteurs humidité Miflora, téléinfo
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: Notification sms incluant la valeur d'une variable ?

Message par patrice »

Bonsoir
Oui on peut faire un truc comme cela
temp=uservariables['limvar']
print ("temp" .. temp)
commandArray['SendNotification']='variable= '..tostring(temp)..'#ma variable'
la notif marche en 2 partie le sujet puis # puis le body
Attention à garder le # puis mettre un body et à mettre les quotes correctement

je pense mais je n'ai pas testé (dépassement de mon quota quotidien)
que ceci devrait fonctionner si je ne me suis pas raté dans les '

commandArray['SendNotification']='La variable= '#ma variable= '..tostring(temp)..
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
Biocef
Messages : 39
Inscription : 13 déc. 2014, 14:59

Re: Notification sms incluant la valeur d'une variable ?

Message par Biocef »

J'ai essayé d'adapter le script de niveau de batterie mais je bloque à l'installation de request, la commande pip ne fonctionne pas, command not found.
Que dois-je faire ?

Et encore un grand merci pour toutes ces infos !!
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: Notification sms incluant la valeur d'une variable ?

Message par patrice »

Bonjour

un sudo apt-get install python-pip
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
Jihem
Messages : 337
Inscription : 19 sept. 2014, 13:04
Localisation : Finistère Sud

Re: Notification sms incluant la valeur d'une variable ?

Message par Jihem »

Bonjour
Merci Patrice ça marche bien.
Du coup, voila un petit script en Lua qui envoie une notification (en Prowl chez moi) à 7h30 le matin et qui indique la température la plus basse de la nuit (entre le coucher et le lever du soleil).

Code : Tout sélectionner

-- T_ext: temperature exterieure
-- T_mini: uservariable qui stocke la température la plus basse
--à mettre dans ~/domoticz/scripts/lua/script_device_Tmini.lua  
commandArray = {}

    if (devicechanged['Text'])
        then
            if (uservariables['T_mini'] > otherdevices_temperature['Text']) and  (timeofday['Nighttime'])
              then
                uservariables['T_mini'] = otherdevices_temperature['Text']
                commandArray['Variable:T_mini']= tostring(uservariables["T_mini"])
            end

        time = os.date("*t")
            if time.hour == 7 and time.min == 30
               then
                  commandArray['SendNotification']='Temperature Mini#'..(string.format("%g",tostring(uservariables['T_mini'])))..'°C'
                  uservariables['T_mini'] = 100
                  commandArray['Variable:T_mini']= tostring(uservariables["T_mini"])
           end
 end
return commandArray
A adapter selon les besoins, on peut aussi faire un thermomètre Mini-Maxi que l'on récupère dans Domoticz.
A ce sujet ce serait bien d'avoir un virtual-sensor qui stocke 2 températures; comment peut on faire une suggestion à Domoticz?
Hard:Raspberry Pi4 + SSD Arduino Tablette murale Archos
Soft: Domoticz WireGuard vpn Homebridge Tradfri Ikea
Devices:[/colore]Rfxtrx433 DI-O Chacon Sonoff touch Anémomètre, pluviometre, sondes Orégon, capteurs humidité Miflora, téléinfo
Répondre