[Tuto] Boite aux lettres

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
jeje
Messages : 32
Inscription : 13 août 2021, 01:17
Localisation : nord

Re: [Tuto] Boite aux lettres

Message par jeje »

Bonjour keros merci de répondre, je vais regarder ça, juste pour savoir est ce qu'il y a quelques à changer dans le script_ time alerte qui est donné en première page.

EDIT : Je crois que je viens de comprendre en lisant "débuter en programmation" je n'ai pas de script_variable qui gère la variable qui est dans le script_time et le script_device :roll: .Je vais regarder ça de plus près.
Dernière modification par Keros le 13 août 2021, 12:28, modifié 1 fois.
Raison : Edtion du message précédent
domoticz sur VM sur freebox delta
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: [Tuto] Boite aux lettres

Message par Keros »

Je pense que tu fais fausse route avec script_variable : tu n'en as pas besoin.

Oui, il y a des paramètres a changé à moins que tu ais repris exactement les mêmes noms pour tes dispositifs.

Vérifie d'abords que les noms de tes dispositifs et variables correspondent.
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
jeje
Messages : 32
Inscription : 13 août 2021, 01:17
Localisation : nord

Re: [Tuto] Boite aux lettres

Message par jeje »

Oui j'ai repris certains noms et j'ai changé ce que je devais.Le premier script device fonctionne j'ai juste rajouté un device parce-que je voudrais différencier le courrier du colis, mais ça sa fonctionne, c'est le script time alerte qui ne fonctionne pas, je ne sais pas si il faut declarer la variable quelques par à moins que cette variable n'est pas pris en compte je vais essayer de debuger se soir, la je ne suis pas chez moi donc je peux rien faire, merci a toi de t'interresser à mon problème.
domoticz sur VM sur freebox delta
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: [Tuto] Boite aux lettres

Message par Keros »

Le script_time fait appel à uservariables["courrier"]. Tu as créé cette uservariable dans DomoticZ ? Normalement oui sinon tu aurais une erreur dans les log avec le script_device ...

Cependant, je fais des hypothèses ne voyant pas ton système. Il serait bien que tu nous mettes :
  • Le nom des dispositifs en lien avec ta boite aux lettres
  • Le nom des uservariables
  • Les différents scripts avec l'indication du trigger utilisé.
  • Les erreurs que tu as dans les logs 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
jeje
Messages : 32
Inscription : 13 août 2021, 01:17
Localisation : nord

Re: [Tuto] Boite aux lettres

Message par jeje »

Je n'ai pas créé user variable dans domoticz et je crois que c'est ça mon erreur, je ne savais pas qu'il fallait la créé :? , je n'y est pas pensé :oops: , dés que je suis chez moi j'essaye de créé cette variable,pour être sur c'est bien dans variable utilisateurs qu'on la créé,pour les logs je n'est pas d'erreur dans le script device et il passe bien j'avais bien les prints courrier pour le courrier et le print colis pour le colis,c'est les lignes que j'ai rajouté et j'ai bien mon capteur virtuel alerte dans mesure qui change bien et qui me donne les bonnes infos celon le capteur qui et actionné, c'est le script time alerte qui ne se declancher pas je ne voyais rien du tout dans les logs.
domoticz sur VM sur freebox delta
jeje
Messages : 32
Inscription : 13 août 2021, 01:17
Localisation : nord

Re: [Tuto] Boite aux lettres

Message par jeje »

Donc j'ai 3 capteurs pour la boite aux lettres respectivement appeler: capteur courrier-capteur colis-capteur ramassage courrier sur un esp avec espeasy,dans domoticz capteur courrier correspond a un switch contact door appeler lui facteur,celui du colis appeler colis et celui ramassage courrier appeler recuperation courrier.J'ai crée le matériel dummy device boite aux lettres et le capteur alerte.
Screenshot 2021-08-13 at 23-23-46 merville.png
Screenshot 2021-08-13 at 23-23-46 merville.png (24.18 Kio) Consulté 1917 fois
Screenshot 2021-08-13 at 23-22-46 merville.png
Screenshot 2021-08-13 at 23-22-46 merville.png (12.08 Kio) Consulté 1917 fois
Screenshot 2021-08-13 at 23-23-11 merville.png
Screenshot 2021-08-13 at 23-23-11 merville.png (12.29 Kio) Consulté 1917 fois
Screenshot 2021-08-13 at 23-22-56 merville.png
Screenshot 2021-08-13 at 23-22-56 merville.png (12.43 Kio) Consulté 1917 fois
Screenshot 2021-08-13 at 23-15-19 merville.png
Screenshot 2021-08-13 at 23-15-19 merville.png (3.69 Kio) Consulté 1917 fois
Screenshot 2021-08-13 at 23-00-02 merville.png
Screenshot 2021-08-13 at 23-00-02 merville.png (5.34 Kio) Consulté 1917 fois
Screenshot 2021-08-13 at 22-56-46 merville.png
Screenshot 2021-08-13 at 22-56-46 merville.png (37.1 Kio) Consulté 1917 fois
le script_device_boite aux lettres

Code : Tout sélectionner

--[[
script qui gère la boite aux lettres
- Le widget change et sonne quand le facteur passe.
- La remise à zéro du widget se fait soit par la relève du courrier soit dans le script_time_suivi_temp_exterieure à l'heure de remise à zéro.
- L'alerte toutes les Xmn si le courrier n'est pas rammassé est dans script_time_ping_courrier

gestion des couleurs:
0 – gris
1 – vert
2 – jaune caca d’oie
3 – orange
4 – rouge
]]--


commandArray = {}
if (devicechanged['facteur']== 'Open') then
	--print ('courrier')
	commandArray['UpdateDevice'] = '129|1|il a du courrier'
	commandArray ['Variable:courrier']='oui'
	print (' varriable courrier')
end

-- j'ai juste rajouter çà--
if (devicechanged['colis']== 'Open') then
	--print ('colis')
	commandArray['UpdateDevice'] = '129|1|il a 1 colis'
	commandArray ['Variable:colis']='oui'
end

if (devicechanged['recuperation courrier']== 'Open') then
	--print ('courrier rammasser')
	--commandArray['UpdateDevice'] = '130|0|Ramassé'   
	commandArray['UpdateDevice'] = '129|0|Ramassé'
	commandArray ['Variable:courrier']='non'
         commandArray ['Variable:colis']='non'
	
end
return commandArray
et le script_time_ping_courrier

Code : Tout sélectionner

--[[
script qui ping la boite aux lettres pour savoir si il y a du courrier.
s'il y a du courrier, rappel toutes les heures.
La uservariable courrier est gérée dans le script_device_boites-aux_lettres.
]]--

--local sonnette = 'sonnette2'


--recupere les minutes

time=os.time()
minutes=tonumber(os.date('%M',time))
hours=tonumber(os.date('%H',time))

commandArray = {}

 if (uservariables["courrier"] == 'oui' and minutes == '02') then
    print ('enoyer alerte')  
	--commandArray[sonnette]='On'
 
end
return commandArray
voilà où j'en suis j’espère que ça pourra d'aider et merci encore.
Dernière modification par Keros le 14 août 2021, 07:12, modifié 1 fois.
Raison : Merci d'éditer le dernier message pour y rajouter l'information supplémentaire
domoticz sur VM sur freebox delta
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: [Tuto] Boite aux lettres

Message par Keros »

Dans ton script Time, est-ce que tu peux rajouter un print(uservariables["courrier"]) entre commandArray = {} et la ligne if(user... : tu devrais voir ce print toutes les minutes dans la log de DomoticZ. Ainsi, on va pouvoir vérifier deux choses : que le script se lance bien et si le script récupère correctement la variable courrier.
C'est seulement pour les tests : tu peux commenter la ligne après pour ne pas polluer les logs.
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
jeje
Messages : 32
Inscription : 13 août 2021, 01:17
Localisation : nord

Re: [Tuto] Boite aux lettres

Message par jeje »

Ok j'essaye, je venais aussi d'y penser en relisant mais je ne savais pas ou le mettre.Voila c'est fait. A priori il démarre :) et il récupère bien la valeur,il doit bloquer au if ( ... alors ! .
Pièces jointes
Screenshot 2021-08-14 at 07-54-49 merville.png
Screenshot 2021-08-14 at 07-54-49 merville.png (1.47 Kio) Consulté 1890 fois
domoticz sur VM sur freebox delta
jeje
Messages : 32
Inscription : 13 août 2021, 01:17
Localisation : nord

Re: [Tuto] Boite aux lettres

Message par jeje »

J'ai fait un test en commantant dans la ligne du if (...) j'ai commenter le and minutes et j'ai mon print (envoyer alerte)qui s'affiche dans le log,j'avance doucement mais surement.
domoticz sur VM sur freebox delta
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: [Tuto] Boite aux lettres

Message par Keros »

Très bien, tu es sur la bonne voie !!

Avance doucement, étape par étape, valide les choses au fur et à mesure et je suis certain que tu vas y arriver ;)
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
Répondre