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

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

Message par Biocef »

Au moins c'est clair :)

J'ai renommé mon capteur "Text" et ma variable "T_mini" pour coller au script.

Désolé de vous embêter encore mais ça ne marche pas, dans les log j'ai : Error: /home/pi/domoticz/scripts/lua/script_device_Tmini.lua:8: attempt to compare number with nil
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

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

Message par patrice »

-en effet
-en effet
-en effet
:lol:
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
Bizarre...
Chez moi ça marche nickel je reçois le texto avec la temp mini de la nuit.
D'abord bien vérifier les noms des capteurs
ensuite chercher qui a la valeur nulle,en rajoutant en tête du script

Code : Tout sélectionner

commandArray = {}
        
       print("T_mini', type(uservariables['T_mini']))
        print('Text', type(otherdevices_temperature['Text']))
      
        ...................
return commandArray
contrôler dans les logs la valeur nil et lui en attribuer une par une url avec l'idx du capteur

Code : Tout sélectionner

http://192.168.1.82:8080/json.htm?type=command&param=udevice&idx=144&nvalue=0&svalue=19
puis un sudo service domoticz.sh restart.
je ne sais pas pourquoi certains capteurs n'ont pas de valeur (nil).


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

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

Message par Biocef »

Ah, j'ai trouvé d'où venait l'erreur !
Sur un site j'ai trouvé cette info : "On a une erreur nil quand on fait une comparaison avec une variable qui n'existe pas."

En fait j'avais créé une sonde de température virtuelle au lieu d'une variable ... :roll:

Du coup ça marche beaucoup mieux là !

Merci beaucoup, ça va bien me servir !

(Si jamais vous avez une solution pour recevoir un sms plutôt qu'un Prowl je suis preneur) ;)
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

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

Message par patrice »

parfait pour ton erreur
pour les sms c'est ici http://easydomoticz.com/nouveau-service ... ee-mobile/
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 »

Bonsoir
Il y a un petit bug dans le script; à la fin la varible T_mini est réinitialisée pour le jour suivant (à 100°....au delà on aura d'autres soucis) mais comme cela a lieu à 7:30 (dans le script) en ce moment c'est avant le lever du soleil donc la variable n'est pas réinitialisée. On peut changer l'heure de l'envoi du sms ou mettre une condition de plus.
À voir.
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
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 »

Biocef a écrit :"On a une erreur nil quand on fait une comparaison avec une variable qui n'existe pas."
Effectivement un capteur virtuel est crée sans valeur (nil), on peut lui en donner une en envoyant par exemple:

Code : Tout sélectionner

une requette url
/json.htm?type=command&param=udevice&idx=IDX&nvalue=0&svalue=valeur
ou bien en Lua
commandArray['UpdateDevice'] = IDX .. '|0|'.. tostring(valeur)
le widget du capteur indique bien la nouvelle valeur mais il faut relancer Domoticz pour qu'elle soit prise en compte dans le script Lua
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
Biocef
Messages : 39
Inscription : 13 déc. 2014, 14:59

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

Message par Biocef »

Non, même avec la requête Json et un reboot ça restait sans valeur alors qu'avec une variable il n'y a pas le moindre soucis.

Par contre je reçois les notification 2 fois avec parfois des températures différentes, est-ce que ça peut venir de cette histoire de réinitialisation de la variable avant le lever du soleil ?

Image
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
Si la valeur du capteur change 2 fois dans la minute de l'envoi du texto,tu reçois 2 notifications. (If DeviceChange....)
Par contre il n'est pas normal qu'il y ait une grosse différence ( mesure aberrante?)
Je cherche une solution qui suspendrait le script jusqu'au soir.
Dernière modification par Jihem le 27 déc. 2014, 16:53, modifié 1 fois.
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
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
Une petite modification du script qui corrige l'initialisation de la valeur mini et l'envoi de 2 notifications.
Il faut créer une variable utilisateur "Notif" qui va enregistrer que l'envoi de la notification a eu lieu. L'initialisation des variables se fait à midi.

Code : Tout sélectionner

-- T_ext: temperature exterieure
-- T_mini: uservariable qui stocke la température la plus basse
-- Notif: uservariable d'envoi de notification
commandArray = {}
       
 time = os.date("*t")

    if (devicechanged['Text'])
        then
            if (uservariables['T_mini'] > otherdevices_temperature['Text']) an$
              then
                uservariables['T_mini'] = otherdevices_temperature['Text']
                commandArray['Variable:T_mini']= tostring(uservariables["T_min$
            end

            if time.hour == 7  and uservariables['Notif'] == 1
               then
                  commandArray['SendNotification']='Temperature Mini#'..(strin$
                  commandArray['Variable:Notif']= "0"           --notification$
            end

            if time.hour == 12                                  --A  midi init$
              then
                commandArray['Variable:T_mini']= "100"
                commandArray['Variable:Notif']= "1"
            end


    end
return commandArray
A adapter selon les besoins.
(Il faut éviter de mettre l'heure d'envoi de la notification trop tôt car ce matin, chez moi, la température la plus basse de la nuit a eu lieu après l'envoi du texto.)
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