Programmation arrosage en fonction de la pluviométrie
Programmation arrosage en fonction de la pluviométrie
Bonjour à tous,
Je souhaite de l'aide pour réaliser un script LUA me permettant de désactiver mon arrosage automatique le soir en fonction d'un seuil de la pluviomètre du jour.
Ce script LUA testerait à 20h par exemple la valeur de la pluviométrie cumulée du jour et déclencherait un switch virtuel à ON si la valeur de la pluviométrie du jour dépasse un seuil prédéfini.
Le programme d'arrosage a lieu entre 21h00 et 22h30 uniquement si le switch virtuel est à OFF
Ce switch virtuel se remettrait à OFF tous les jours après l'arrosage à 23h59 par exemple.
Mon pluviomètre est un pluviomètre à bascule relié par RFXCOM à mon domoticz
Mon expérience est très maigre en LUA. Merci d'avance pour votre aide.
J'essaie déjà désespérément de print la valeur de mon pluviomètre sans succès.
Je souhaite de l'aide pour réaliser un script LUA me permettant de désactiver mon arrosage automatique le soir en fonction d'un seuil de la pluviomètre du jour.
Ce script LUA testerait à 20h par exemple la valeur de la pluviométrie cumulée du jour et déclencherait un switch virtuel à ON si la valeur de la pluviométrie du jour dépasse un seuil prédéfini.
Le programme d'arrosage a lieu entre 21h00 et 22h30 uniquement si le switch virtuel est à OFF
Ce switch virtuel se remettrait à OFF tous les jours après l'arrosage à 23h59 par exemple.
Mon pluviomètre est un pluviomètre à bascule relié par RFXCOM à mon domoticz
Mon expérience est très maigre en LUA. Merci d'avance pour votre aide.
J'essaie déjà désespérément de print la valeur de mon pluviomètre sans succès.
Dernière modification par Matthias le 05 juin 2022, 12:12, modifié 1 fois.
Cozytouch_v3
Roborock S6
H801 LED
Onkyo AV
RFXCOM (Somfy)
ESPeasy (SonOff)
Zigbee2mqtt (Aqara, Mija, Xiaomi, IKEA, Honeywell)
Broadlink
Foscam - Reolink
Roborock S6
H801 LED
Onkyo AV
RFXCOM (Somfy)
ESPeasy (SonOff)
Zigbee2mqtt (Aqara, Mija, Xiaomi, IKEA, Honeywell)
Broadlink
Foscam - Reolink
Re: Programmation arrosage en fonction de la pluviométrie
Partage-nous le code que tu essayes pour faire le print de la valeur de ton pluviomètre : nous pourrons t'aider à analyser ce qui ne fonctionne pas.
Tu peux regarder les petits guides que j'ai écrits dans ma présentation : il y en a un pour débuter en programmation (lien dans ma signature).
Tu peux regarder les petits guides que j'ai écrits dans ma présentation : il y en a un pour débuter en programmation (lien dans ma signature).
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
Re: Programmation arrosage en fonction de la pluviométrie
Je m'auto réponds. Que pensez vous de ce code ?
Est ce la meilleure façon de l'écrire ? Vos Avis ?
@Keros, Je viens de répondre en même temps. Que penses tu de mon code ? Je vais aller surfer sur tes liens. Merci du conseil.
Est ce la meilleure façon de l'écrire ? Vos Avis ?
Code : Tout sélectionner
commandArray={}
local executionTime = '20:00'
if (os.date('%H:%M') == executionTime and otherdevices_rain['Pluviometre'] >= 6 ) then
commandArray['TemporisationPluie']='On'
end
return commandArray
Dernière modification par Keros le 05 juin 2022, 11:21, modifié 1 fois.
Cozytouch_v3
Roborock S6
H801 LED
Onkyo AV
RFXCOM (Somfy)
ESPeasy (SonOff)
Zigbee2mqtt (Aqara, Mija, Xiaomi, IKEA, Honeywell)
Broadlink
Foscam - Reolink
Roborock S6
H801 LED
Onkyo AV
RFXCOM (Somfy)
ESPeasy (SonOff)
Zigbee2mqtt (Aqara, Mija, Xiaomi, IKEA, Honeywell)
Broadlink
Foscam - Reolink
Re: Programmation arrosage en fonction de la pluviométrie
Je ne pense pas qu'il y est une meilleure façon de l'écrire. Si 5 personnes font un code pour la même chose, il est possible qu'il y ait 5 codes différents.
Ton script me semble pas mal. Il manquerait peut-être :
Edit :
Je viens de voir ton image sur ton premier post, en hébergeant les images à l'extérieur du forum, il y a de fort risques qu'elles ne soient plus disponibles dans quelque temps comme ici, là ou encore là. Est-ce que tu peux éditer ton message et utiliser l'onglet Fichiers joints en dessous de la zone d'écriture des messages pour enregistrer les éléments sur le serveur du forum. Merci
Ton script me semble pas mal. Il manquerait peut-être :
- des prints pour afficher les logs et savoir si ton programme se lance bien et quelles sont les valeurs des variables qu'il analyse.
- et des commentaires pour te laisser des indications sur ce que fait le programme.
Edit :
Je viens de voir ton image sur ton premier post, en hébergeant les images à l'extérieur du forum, il y a de fort risques qu'elles ne soient plus disponibles dans quelque temps comme ici, là ou encore là. Est-ce que tu peux éditer ton message et utiliser l'onglet Fichiers joints en dessous de la zone d'écriture des messages pour enregistrer les éléments sur le serveur du forum. Merci
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
Re: Programmation arrosage en fonction de la pluviométrie
Merci pour ton retour. Je continue d'avancer sur mon LUA.
Je suis confronté à d'autres problèmes maintenant.
Souhaitant créer un programme pour l'activation des électrovannes, j'utilise la fonction :
commandArray['MyOtherDeviceName4']='On FOR 10' -- minutes
Mais cela ne semble pas fonctionner !
Je comprends pour les images mais en théorie aucune ne doit manquer sur l'ensemble de mes posts.
Je suis très vigilant sur ce point car rien de plus pénible que de manquer d'information quelques années plus tard.
Malgré cela, je vois pour modifier mon post. Merci
Je suis confronté à d'autres problèmes maintenant.
Souhaitant créer un programme pour l'activation des électrovannes, j'utilise la fonction :
commandArray['MyOtherDeviceName4']='On FOR 10' -- minutes
Mais cela ne semble pas fonctionner !
Code : Tout sélectionner
commandArray = {}
local executionTime = '12:03'
if (os.date('%H:%M') == executionTime and otherdevices['TemporisationPluie'] == 'On' ) then
commandArray['Irrigation Erable rouge']='On FOR 10'
commandArray['Irrigation Haie Est']='On'
commandArray['Irrigation Haie Ouest']='On'
commandArray['Irrigation Piscine']='On'
end
return commandArray
Je suis très vigilant sur ce point car rien de plus pénible que de manquer d'information quelques années plus tard.
Malgré cela, je vois pour modifier mon post. Merci
Dernière modification par Keros le 05 juin 2022, 13:20, modifié 1 fois.
Raison : Merci d'utiliser les balises [code] pour afficher un script
Raison : Merci d'utiliser les balises [code] pour afficher un script
Cozytouch_v3
Roborock S6
H801 LED
Onkyo AV
RFXCOM (Somfy)
ESPeasy (SonOff)
Zigbee2mqtt (Aqara, Mija, Xiaomi, IKEA, Honeywell)
Broadlink
Foscam - Reolink
Roborock S6
H801 LED
Onkyo AV
RFXCOM (Somfy)
ESPeasy (SonOff)
Zigbee2mqtt (Aqara, Mija, Xiaomi, IKEA, Honeywell)
Broadlink
Foscam - Reolink
Re: Programmation arrosage en fonction de la pluviométrie
Essaye avec cette commande (issue des dernières lignes de cette page) :
Merci pour l'image 
Code : Tout sélectionner
commandArray['MyOtherDeviceName4']='On FOR 10 minutes' 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
Re: Programmation arrosage en fonction de la pluviométrie
Malheureusement cela ne marche pas.
J'en suis là pour gérer mes 4 électrovannes :
J'en suis là pour gérer mes 4 électrovannes :
Code : Tout sélectionner
commandArray = {}
local executionTimeOn1 = '20:00'
local executionTimeOff1 = '20:10'
local executionTimeOn2 = '20:20'
local executionTimeOff2 = '20:30'
local executionTimeOn3 = '20:40'
local executionTimeOff3 = '21:00'
local executionTimeOn4 = '21:00'
local executionTimeOff4 = '21:10'
local executionTimeOff5 = '22:00'
if (os.date('%H:%M') == executionTimeOn1 and otherdevices['TemporisationPluie'] == 'Off') then
commandArray['Irrigation Erable rouge']='On'
elseif (os.date('%H:%M') == executionTimeOn2 and otherdevices['TemporisationPluie'] == 'Off') then
commandArray['Irrigation Haie Est']='On'
elseif (os.date('%H:%M') == executionTimeOn3 and otherdevices['TemporisationPluie'] == 'Off') then
commandArray['Irrigation Haie Ouest']='On'
elseif (os.date('%H:%M') == executionTimeOn4 and otherdevices['TemporisationPluie'] == 'Off') then
commandArray['Irrigation Piscine']='On'
elseif (os.date('%H:%M') == executionTimeOff1 and otherdevices['TemporisationPluie'] == 'Off' ) then
commandArray['Irrigation Erable rouge']='Off'
elseif (os.date('%H:%M') == executionTimeOff2 and otherdevices['TemporisationPluie'] == 'Off' ) then
commandArray['Irrigation Haie Est']='Off'
elseif (os.date('%H:%M') == executionTimeOff3 and otherdevices['TemporisationPluie'] == 'Off' ) then
commandArray['Irrigation Haie Ouest']='Off'
elseif (os.date('%H:%M') == executionTimeOff4 and otherdevices['TemporisationPluie'] == 'Off' ) then
commandArray['Irrigation Piscine']='Off'
elseif (os.date('%H:%M') == executionTimeOff5 and otherdevices['TemporisationPluie'] == 'Off' ) then
commandArray['TemporisationPluie']='On'
end
return commandArrayCozytouch_v3
Roborock S6
H801 LED
Onkyo AV
RFXCOM (Somfy)
ESPeasy (SonOff)
Zigbee2mqtt (Aqara, Mija, Xiaomi, IKEA, Honeywell)
Broadlink
Foscam - Reolink
Roborock S6
H801 LED
Onkyo AV
RFXCOM (Somfy)
ESPeasy (SonOff)
Zigbee2mqtt (Aqara, Mija, Xiaomi, IKEA, Honeywell)
Broadlink
Foscam - Reolink
Re: Programmation arrosage en fonction de la pluviométrie
Cela ne marche pas > il y a quelque-chose qui ne fonctionne pas comme on le souhaite.
As-tu regardé mon petit guide pour déboguer son programme ? J'y donne à la fin 10 pistes de recherche. Peut-être que ton souci est dedans...
Pour t'aider plus profondément, il faudrait que tu mettes des prints dans ton code :
PS1 : ne cherche pas encore à faire 5 cas d'exécutions : commence avec 1 que tu valides et ensuite tu rajouteras les autres.
PS2 : Mets stp tes scripts entre les balises code (bouton </>) plutôt que quote, c'est plus facile à lire.
As-tu regardé mon petit guide pour déboguer son programme ? J'y donne à la fin 10 pistes de recherche. Peut-être que ton souci est dedans...
Pour t'aider plus profondément, il faudrait que tu mettes des prints dans ton code :
- On connaitra les parties qui s'exécutent
- En indiquant les valeurs des variables dans les prints, on saura avec quelles infos travaille le script.
PS1 : ne cherche pas encore à faire 5 cas d'exécutions : commence avec 1 que tu valides et ensuite tu rajouteras les autres.
PS2 : Mets stp tes scripts entre les balises code (bouton </>) plutôt que quote, c'est plus facile à lire.
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
Re: Programmation arrosage en fonction de la pluviométrie
Pardon, je me suis mal exprimé.
Quand je dis que ça ne marche pas, je parlais de ‘On FOR 10 minutes’
Par contre mon script tel que je l’ai mis dans le dernier post fonctionne mais à mon avis il y a moyen de faire plus simple !
Quand je dis que ça ne marche pas, je parlais de ‘On FOR 10 minutes’
Par contre mon script tel que je l’ai mis dans le dernier post fonctionne mais à mon avis il y a moyen de faire plus simple !
Cozytouch_v3
Roborock S6
H801 LED
Onkyo AV
RFXCOM (Somfy)
ESPeasy (SonOff)
Zigbee2mqtt (Aqara, Mija, Xiaomi, IKEA, Honeywell)
Broadlink
Foscam - Reolink
Roborock S6
H801 LED
Onkyo AV
RFXCOM (Somfy)
ESPeasy (SonOff)
Zigbee2mqtt (Aqara, Mija, Xiaomi, IKEA, Honeywell)
Broadlink
Foscam - Reolink
Re: Programmation arrosage en fonction de la pluviométrie
Oui tu peux écrire ton script de façon plus simple. Tu as la condition otherdevices['TemporisationPluie'] == 'Off' que tu utilises plusieurs fois, tu peux utiliser plusieurs niveaux de condition et la mettre au-dessus des os.date('%H:%M') == executionTimeOn1
Code : Tout sélectionner
Si Condition Pluie alors
Si Condition Time1 alors
Commande électrovanne 1
Sinon si Condition Time2 alors
Commande électrovanne 2
Sinon si Condition Time3 alors
Commande électrovanne 3
Fin
Fin
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