aide pour réalisation script en lua

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 <\>.
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: aide pour réalisation script en lua

Message par vr6man »

j'avais bien vu cette ligne par contre je ne comprends pas comment l'exploitée

J'ai réussi a voir les valeurs vent, uv, pluie via les commandes print

mon problème est que pour vent l'information récupérée ne semble pas exploitable tel quel

comment interpréter l'information vent ?
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: aide pour réalisation script en lua

Message par denis_brasseur »

Il te suffis de comparer les valeurs de ton devices avec les valeurs retournés par le print :
Capture.PNG
Capture.PNG (11.5 Kio) Consulté 3562 fois
3.00;N;82;0;24.6;0.0
direction, , vitesse, rafale, temperature, temperature ressentie
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: aide pour réalisation script en lua

Message par vr6man »

pour info les infos récupéré cet am en plein soleil
2020-05-20 16:35:02.852 Status: LUA: otherdevices['Pluie'] 0;0.0
2020-05-20 16:35:02.853 Status: LUA: otherdevices['UV'] 5.0;0.0
2020-05-20 16:35:02.853 Status: LUA: otherdevices['Vent'] 65.00;ENE;21;29;26.7;26.9
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: aide pour réalisation script en lua

Message par vr6man »

Je pensais implémenter cette nouvelle condition

Code : Tout sélectionner

if (devicechanged['Store Terrasse']=='On' and uservariables["store exterieur"] == 'ferme' and otherdevices['Absence']=='Off' and otherdevices['UV']>='4.0;0.0') then
Le but est que le store s'ouvre tout seul au dessus d'un seuil UV mais que si je suis présent et que si le store n'est pas déjà ouvert

Il ne faut pas que le script boucle

A votre avis est ce que cette condition peut fonctionner ou dois je mettre un or a la place de and avant otherdevices['UV']>='4.0;0.0'
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: aide pour réalisation script en lua

Message par vil1driver »

Non
Tu ne peux pas utiliser directement un device qui possède plusieurs infos..
Il te faut extraire la valeur qui t'intéresse
Pour ne plus avoir qu'une seule info par device.
Les 2 derniers messages sont à lire et re lire jusqu'à compréhension.
Sinon tu n'iras pas plus loin.

Faire les choses pour toi ne t'aidera pas.
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
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: aide pour réalisation script en lua

Message par denis_brasseur »

Toutes les réponses à tes questions ont été apportés, comment interpréter les valeurs et comment les exploiter, mais tu ne lis pas les réponses.
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: aide pour réalisation script en lua

Message par thier »

thier a écrit : 19 mai 2020, 23:08 Vil1driver t'a mis je pense sur une bonne piste pour extraire la donnée qui t'interesse pour un capteur qui a plusieurs données.

Temp, Hum, Hum_S, Baro = otherdevices_svalues['THB']:match("([^;]+);([^;]+);([^;]+);([^;]+)")
print (Temp)
print (Hum)
print (Baro)

Cet exemple est pour un capteur nommé THB et qui contient 4 informations. A adapter...
Et présenté comme ça, ça t'aide?
Temp, Hum, Baro = otherdevices_svalues['THB']:match(" ([^;]+) ; ([^;]+) ; ([^;]+) ")
print (Temp)
print (Hum)
print (Baro)

Chaque ([^;]+) correspond à l'une des infos du device. Les infos tu leurs donnes le nom que tu veux. Dans l'exemple le premier c'est Temp, Le second Hum et le troisième Baro.
Ton device UV renvoi 2 valeurs.
Si tu faisais un truc du genre
valeur1, valeur2 = otherdevices_svalues['UV']:match("([^;]+);([^;]+)")
print('valeur1= '..valeur1)
print('valeur2= '..valeur2)

Je te laisse gratter pour le reste de tes capteurs vents et pluie...
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: aide pour réalisation script en lua

Message par vr6man »

denis_brasseur a écrit : 20 mai 2020, 18:17 Toutes les réponses à tes questions ont été apportés, comment interpréter les valeurs et comment les exploiter, mais tu ne lis pas les réponses.
Si je lis les réponses mais ce qui te parait clair pour toi ne l'ai pas pour moi ...
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: aide pour réalisation script en lua

Message par vr6man »

thier a écrit : 20 mai 2020, 19:16
thier a écrit : 19 mai 2020, 23:08 Vil1driver t'a mis je pense sur une bonne piste pour extraire la donnée qui t'interesse pour un capteur qui a plusieurs données.

Temp, Hum, Hum_S, Baro = otherdevices_svalues['THB']:match("([^;]+);([^;]+);([^;]+);([^;]+)")
print (Temp)
print (Hum)
print (Baro)

Cet exemple est pour un capteur nommé THB et qui contient 4 informations. A adapter...
Et présenté comme ça, ça t'aide?
Temp, Hum, Baro = otherdevices_svalues['THB']:match(" ([^;]+) ; ([^;]+) ; ([^;]+) ")
print (Temp)
print (Hum)
print (Baro)

Chaque ([^;]+) correspond à l'une des infos du device. Les infos tu leurs donnes le nom que tu veux. Dans l'exemple le premier c'est Temp, Le second Hum et le troisième Baro.
Ton device UV renvoi 2 valeurs.
Si tu faisais un truc du genre
valeur1, valeur2 = otherdevices_svalues['UV']:match("([^;]+);([^;]+)")
print('valeur1= '..valeur1)
print('valeur2= '..valeur2)

Je te laisse gratter pour le reste de tes capteurs vents et pluie...
Franchement non je ne comprends pas plus

pourquoi 2 valeurs ?
vr6man
Messages : 627
Inscription : 18 juil. 2017, 12:15

Re: aide pour réalisation script en lua

Message par vr6man »

vil1driver a écrit : 20 mai 2020, 18:00 Non
Tu ne peux pas utiliser directement un device qui possède plusieurs infos..
Il te faut extraire la valeur qui t'intéresse
Pour ne plus avoir qu'une seule info par device.
Les 2 derniers messages sont à lire et re lire jusqu'à compréhension.
Sinon tu n'iras pas plus loin.

Faire les choses pour toi ne t'aidera pas.
Je ne demande pas que vous fassiez les choses mais tes explications pour une personne novice sont loin d'être clair

perso je ne comprends pas
Répondre