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 »

tiers si je supprime les commandes Json plus rien ne commande en manuel le store

La commande json actionne chaque module qubino

Pour la variable je ne sais pas faire
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: aide pour réalisation script en lua

Message par thier »

J'arrive avec le script. Ton script d'avant ne fonctionnait pas puisque en parallèle tu avais tes 2 action sur On et Off de ton device Store Terasse.
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.
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: aide pour réalisation script en lua

Message par thier »

voila le script. Il répond à ta question de savoir dans quel état est le store avant d'agir par l'utilisation d'une variable. il ne répond toujours pas à tes valeurs de vent, pluie et UV pour l'ouverture.
Si ce script fonctionne tu ajouteras tes conditions météo quand tu seras récuperer la valeur.

Code : Tout sélectionner

commandArray={}

--pour connaitre les valeurs on met des print. Tu les commentes avec -- quand tu n'en as plus besoin.
        print('otherdevices[\'UV\'] '..otherdevices['UV'])
        print('otherdevices[\'Pluie\'] '..otherdevices['Pluie'])
        print('otherdevices[\'Nuit\'] '..otherdevices['Nuit'])
        print('otherdevices[\'Vent\'] '..otherdevices['Vent'])
        print('otherdevices[\'Absence\'] '..otherdevices['Absence'])
        print('otherdevices[\'Store Terrasse\'] '..otherdevices['Store Terrasse'])
        print('otherdevices[uservariables["store"]] '..uservariables["store"])
-- Ouverture Store Terrasse
if (devicechanged['Store Terrasse']=='On' and uservariables["store"] == 'ferme' and otherdevices['Absence']=='Off' ) then
        commandArray['ton qubino qui ouvre le store']='On'
        print('Ouverture Store Terrasse')
	    commandArray ['Variable:Store']='ouvert'
        commandArray['SendNotification']='Store Terrasse#Ouverture Store Terrasse'

-- Fermeture du Store Terrasse
elseif (devicechanged['Store Terrasse']=='Off' and uservariables["store"] == 'ouvert' and otherdevices['Absence']=='Off' and otherdevices['Nuit']=='On') then
        commandArray['Ton qubino qui ferme le store']='On'
        print('Fermeture Store Terrasse')
        commandArray ['Variable:Store']='ferme'
        commandArray['SendNotification']='Store Terrasse#Fermeture Store Terrasse'
end

return commandArray
Il implique que tu créés une user variable nommée 'Store' de type chaine (met lui la valeur ouvert ou ferme en fonction de comment est ton store sinon erreur dans le script) + que tu remplace 'Ton qubino qui ouvre le store' et 'Ton qubino qui ferme le store' par les noms de tes 2 qubinos + tes 2 qubinos doivent être de type push On. Attention à ne pas avoir les commandes d'ouverture et fermeture en même temps.
Dernière modification par thier le 10 mai 2020, 16:23, modifié 2 fois.
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 »

je comprends toujours pas

maintenant la fermeture fonctionne avec le script

Code : Tout sélectionner

commandArray={}

print('otherdevices[\'Store Terrasse\'] '..otherdevices['Store Terrasse'])
--print('otherdevices[\'Nuit\'] '..otherdevices['Nuit'])
print('otherdevices[\'UV\'] '..otherdevices['UV'])
print('otherdevices[\'Pluie\'] '..otherdevices['Pluie'])
print('otherdevices[\'Vent\'] '..otherdevices['Vent'])



-- Fermeture du Store Terrasse
        if(otherdevices['Store Terrasse']=='16.0' and devicechanged['Nuit']=='On') then
        commandArray['Store Terrasse']='Off'
        print('Fermeture Store Terrasse')
        commandArray['SendNotification']='Store Terrasse#Fermeture Store Terrasse'
end

return commandArray

et je souhaite laisser les 2 actions json sur le device virtuel store terrasse pour pouvoir commander en manuel
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: aide pour réalisation script en lua

Message par vil1driver »

Pour récupérer les uv seuls tu peux tester ceci

Code : Tout sélectionner

otherdevices_uv['UV'] 
Pour la pluie il existe aussi ceci

Code : Tout sélectionner

otherdevices_rain['Pluie'] 
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
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: aide pour réalisation script en lua

Message par thier »

je souhaite laisser les 2 actions json sur le device virtuel store terrasse pour pouvoir commander en manuel
c'est ce que fais le script. Enlève tes 2 actions.
Dans le script if (devicechanged['Store Terrasse'] donc dès que tu touches à ton virtuel le script est exécuté.
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.
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: aide pour réalisation script en lua

Message par thier »

Correction, pas l'habitude des majuscules.

Code : Tout sélectionner

commandArray={}

--pour connaitre les valeurs on met des print. Tu les commentes avec -- quand tu n'en as plus besoin.
        print('otherdevices[\'UV\'] '..otherdevices['UV'])
        print('otherdevices[\'Pluie\'] '..otherdevices['Pluie'])
        print('otherdevices[\'Nuit\'] '..otherdevices['Nuit'])
        print('otherdevices[\'Vent\'] '..otherdevices['Vent'])
        print('otherdevices[\'Absence\'] '..otherdevices['Absence'])
        print('otherdevices[\'Store Terrasse\'] '..otherdevices['Store Terrasse'])
        print('otherdevices[uservariables["store"]] '..uservariables["store"])
-- Ouverture Store Terrasse
if (devicechanged['Store Terrasse']=='On' and uservariables["store"] == 'ferme' and otherdevices['Absence']=='Off' and otherdevices['UV']>='4' and otherdevices['Pluie']<='0,5' and otherdevices['Nuit']=='Off' and otherdevices['Vent']<='8.0') then
        commandArray['to qubino qui ouvre le store']='On'
        print('Ouverture Store Terrasse')
	    commandArray ['Variable:store']='ouvert'
        commandArray['SendNotification']='Store Terrasse#Ouverture Store Terrasse'

-- Fermeture du Store Terrasse
elseif (devicechanged['Store Terrasse']=='Off' and uservariables["store"] == 'ouvert' and otherdevices['Absence']=='Off' and otherdevices['Nuit']=='On') then
        commandArray['To qubino qui ferme le store']='On'
        print('Fermeture Store Terrasse')
        commandArray ['Variable:store']='ferme'
        commandArray['SendNotification']='Store Terrasse#Fermeture Store Terrasse'
end

return commandArray
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 »

ok pour le script par contre je peux laisser les actions json sur le device virtuel store ?

Je souhaite les laisser afin de commander en manuel le store
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 »

Vous êtes tout les 2 dans vos échanges, je crois que vil1driver essaie de vous aider :
vil1driver a écrit : 10 mai 2020, 16:19 Pour récupérer les uv seuls tu peux tester ceci

Code : Tout sélectionner

otherdevices_uv['UV'] 
Pour la pluie il existe aussi ceci

Code : Tout sélectionner

otherdevices_rain['Pluie'] 
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 »

Excuse moi je emballe.
Comme tu veux pouvoir lancer l'ouverture sans tenir compte des conditions météo il te faut:
- un widget qui lance le script.
- un second widget avec tes deux actions en lien.

Pour l'instant laisse tomber le deuxième cas puisque tu sais faire et travail sur le script sans mettre tes 2 d'actions.
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.
Répondre