LUA Debute 1 inter et 1 sortie
-
daniel4860
- Messages : 84
- Inscription : 26 sept. 2016, 18:31
- Localisation : Lapoutroie Haut-Rhin
Re: LUA Debute 1 inter et 1 sortie
Je vais voir vos guides et reviendrais pour vous informer de mon avancement ou pas!
Je n' avais pas encore utiliser le LUA et je voudrais découvrir afin de pouvoir m'améliorer.
je ne trouve pas beaucoup d'aide sur l'Internet!
Bonne après midi.
Je n' avais pas encore utiliser le LUA et je voudrais découvrir afin de pouvoir m'améliorer.
je ne trouve pas beaucoup d'aide sur l'Internet!
Bonne après midi.
Domoticz sur Raspberry sur lequel 3 sondes prennent la température.
Une Gpio Out fait basculer un relais pour enclencher un circulateur.
Une Gpio Out fait basculer un relais pour enclencher un circulateur.
-
fcBourgogne
- Messages : 172
- Inscription : 31 mars 2020, 14:22
Re: LUA Debute 1 inter et 1 sortie
Re,
Ah désolé j'avais pas vu le moment où tu parles de la led du Gpio16 qui s'allume en Blocky.
Cela vient de ton script certainement, tu utilises ceci
Chez moi la sortie Gpio est déclarée dans les Dispositifs, puis dans le script lua je le reprends comme ceci ensuite la commande
A+
Ah désolé j'avais pas vu le moment où tu parles de la led du Gpio16 qui s'allume en Blocky.
Cela vient de ton script certainement, tu utilises ceci
ceci est un exemple que tu as pêché?-- Numéro du GPIO à contrôler (exemple: GPIO17)
local gpioPin = 16
Chez moi la sortie Gpio est déclarée dans les Dispositifs, puis dans le script lua je le reprends comme ceci
Code : Tout sélectionner
local sirene = 'Sirenes'Code : Tout sélectionner
commandArray[sirene] = 'On'Raspberry PI5+ 1WIRE + I2C +ESP8266 +esp32
-
daniel4860
- Messages : 84
- Inscription : 26 sept. 2016, 18:31
- Localisation : Lapoutroie Haut-Rhin
Re: LUA Debute 1 inter et 1 sortie
Bonjour a tous,
Mon but est toujours de commander une gpio avec un inter virtuel en LUA.
Après quelque recherche voici celui qui fonctionne:
et celui qui ne fonctionne pas:
ET le code avec if elseif:
Faut-il toujours utilisez les noms définies des Interrupteurs, pourquoi je ne peut pas passez par des variables local?
A+
Mon but est toujours de commander une gpio avec un inter virtuel en LUA.
Après quelque recherche voici celui qui fonctionne:
Code : Tout sélectionner
commandArray = {}
local marche = "BPVirtuelGpio16"
local sortie = "Sortie16"
if (devicechanged['BPVirtuelGpio16'] == 'On' and otherdevices['Sortie16'] == 'Off') then
print("Marche On")
commandArray['Sortie16']='On'
end
if (devicechanged['BPVirtuelGpio16'] == 'Off' and otherdevices['Sortie16'] == 'On') then
print("Marche On")
commandArray['Sortie16']='Off'
end
return commandArray
Code : Tout sélectionner
commandArray = {}
local marche = "BPVirtuelGpio16"
local sortie = "Sortie16"
print(marche)
print(sortie)
if (devicechanged['marche'] == 'On' and otherdevices['sortie'] == 'Off') then
print("Marche On")
commandArray['sortie']='On'
end
if (devicechanged['marche'] == 'Off' and otherdevices['sortie'] == 'On') then
print("Marche Off")
commandArray['sortie']='Off'
end
return commandArrayCode : Tout sélectionner
commandArray = {}
local marche = "BPVirtuelGpio16"
local sortie = "Sortie16"
if (devicechanged['BPVirtuelGpio16'] == 'On' and otherdevices['Sortie16'] == 'Off') then
print("Marche On")
commandArray['Sortie16']='On'
elseif (devicechanged['BPVirtuelGpio16'] == 'Off' and otherdevices['Sortie16'] == 'On') then
print("Marche Off")
commandArray['Sortie16']='Off'
end
return commandArray
A+
Domoticz sur Raspberry sur lequel 3 sondes prennent la température.
Une Gpio Out fait basculer un relais pour enclencher un circulateur.
Une Gpio Out fait basculer un relais pour enclencher un circulateur.
Re: LUA Debute 1 inter et 1 sortie
Quand tu écris commandArray['sortie']='On', c'est le widget sortie qui est commandé.
Essaye d'enlever les guillemets pour que ce soit le valeur de la variable qui soit utilisée.
Essaye d'enlever les guillemets pour que ce soit le valeur de la variable qui soit utilisée.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
-
daniel4860
- Messages : 84
- Inscription : 26 sept. 2016, 18:31
- Localisation : Lapoutroie Haut-Rhin
Re: LUA Debute 1 inter et 1 sortie
Effectivement en enlevant tout les 'marche' 'sortie' ce qui donne:
Cela fonctionne.
Merci
Code : Tout sélectionner
commandArray = {}
local marche = "BPVirtuelGpio16"
local sortie = "Sortie16"
if (devicechanged[marche] == 'On' and otherdevices[sortie] == 'Off') then
print("Marche On")
commandArray[sortie]='On'
elseif (devicechanged[marche] == 'Off' and otherdevices[sortie] == 'On') then
print("Marche Off")
commandArray[sortie]='Off'
end
return commandArrayMerci
Domoticz sur Raspberry sur lequel 3 sondes prennent la température.
Une Gpio Out fait basculer un relais pour enclencher un circulateur.
Une Gpio Out fait basculer un relais pour enclencher un circulateur.
Re: LUA Debute 1 inter et 1 sortie
Désolé, je ne l'avais pas vu dans tes premiers messages.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
-
fcBourgogne
- Messages : 172
- Inscription : 31 mars 2020, 14:22
Re: LUA Debute 1 inter et 1 sortie
Bonjour,
Tu dis:
A+
Tu dis:
Normal que ça ne marche pas, il faut enlever les ' ' quand c'est une variable déclarée tu aurais dû écrire:et celui qui ne fonctionne pas:
Code : Tout sélectionner
commandArray = {}
local marche = "BPVirtuelGpio16"
local sortie = "Sortie16"
print(marche)
print(sortie)
if (devicechanged['marche'] == 'On' and otherdevices['sortie'] == 'Off') then
print("Marche On")
commandArray['sortie']='On'
end
Code : Tout sélectionner
if (devicechanged[marche] == 'On' and otherdevices[sortie] == 'Off') thenRaspberry PI5+ 1WIRE + I2C +ESP8266 +esp32
-
daniel4860
- Messages : 84
- Inscription : 26 sept. 2016, 18:31
- Localisation : Lapoutroie Haut-Rhin
Re: LUA Debute 1 inter et 1 sortie
Bonjour,
Merci à tous du moins ceux qui me réponde et courage à ceux qui lisent.
J'ai effectivement enlever les ' et cela fonctionne avec la déclaration des local.
Quand j'avais déclarer la gpio dans le /etc/init.d/domoticz.sh, cela ne fonctionnais pas. Alors je l'ai aussi déclaré dans le /etc/rc.local, et là la gpio est reconnu et fonctionne.
Maintenant j'ai un autre petit problème, sur une ESP8266 j'ai un DHT22. Je récupére les valeurs de température et d’humidité dans un dispositif ou il m'affiche les deux valeurs.
Comment je peux faire pour récupérer uniquement la température dans une variable lua?
N'existe t'il pas un mode d’emplois LUA pour domoticz?
A+
Merci à tous du moins ceux qui me réponde et courage à ceux qui lisent.
J'ai effectivement enlever les ' et cela fonctionne avec la déclaration des local.
Quand j'avais déclarer la gpio dans le /etc/init.d/domoticz.sh, cela ne fonctionnais pas. Alors je l'ai aussi déclaré dans le /etc/rc.local, et là la gpio est reconnu et fonctionne.
Maintenant j'ai un autre petit problème, sur une ESP8266 j'ai un DHT22. Je récupére les valeurs de température et d’humidité dans un dispositif ou il m'affiche les deux valeurs.
Comment je peux faire pour récupérer uniquement la température dans une variable lua?
N'existe t'il pas un mode d’emplois LUA pour domoticz?
A+
Domoticz sur Raspberry sur lequel 3 sondes prennent la température.
Une Gpio Out fait basculer un relais pour enclencher un circulateur.
Une Gpio Out fait basculer un relais pour enclencher un circulateur.
Re: LUA Debute 1 inter et 1 sortie
C'est au moment de la création du widget virtuel que tu indiques quel type de donnée, tu souhaites afficher.
Il y a quelques tutos Lua ici et là : j'ai essayé de regrouper les infos que j'ai dans mon petit guide "Débuter en programmation" (lien dans ma signature).
Tu peux aussi regarder le DzVent : là, il y a une documentation avec pleins d'explications, d'exemples et une grande majorité des commandes possibles (voir le wiki de DomoticZ).
Il y a quelques tutos Lua ici et là : j'ai essayé de regrouper les infos que j'ai dans mon petit guide "Débuter en programmation" (lien dans ma signature).
Tu peux aussi regarder le DzVent : là, il y a une documentation avec pleins d'explications, d'exemples et une grande majorité des commandes possibles (voir le wiki de DomoticZ).
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
-
denis_brasseur
- Messages : 898
- Inscription : 24 déc. 2018, 17:05
- Localisation : (26)
Re: LUA Debute 1 inter et 1 sortie
Tu peux utiliser :daniel4860 a écrit : 21 mars 2025, 13:35
Comment je peux faire pour récupérer uniquement la température dans une variable lua?
Code : Tout sélectionner
otherdevices_temperature['NomDuDevice']Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090