Aller au contenu
papaced

pb scene philips hue

Recommended Posts

bonjour a tous, voila je débute en lua et après avoir fais beaucoup d'essais j'au un "bug" sur cette scène.

je sollicite donc l'aide du forum pour me guider et m'aiguiller sur mes erreurs!

le but de ma scène est d'avoir une notification lumineuse sur l'ouverture de portes, d'autres notifications suivrons (quand ce seras stable)

scène: si porte entrée ouverte alors allumer en bleu

si porte garage ouverte alors allumer en rouge

j'utilise le VD Hue Manager

lampe Philips hue iris

voici mon code:

 

Capture.PNG

Modifié par papaced

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @papaced,

Est-il possible que tu fasses simplement un copier/coller de ton code et que tu le colles entre balises <code> ?

Nos yeux te remercient d'avance ;)

Aussi, qu'est-ce qui fonctionne et ne fonctionne pas à l'heure actuelle sur ton code ?

Modifié par J3R3M

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour J3R3M,

voici le copier-coller de mon code, qui ne garde pas ses couleurs ni les n°de lignes même en insérant un extrait de code?

mon code se comporte comme je le souhaite, mis a part que de temps en temps après fermeture de la porte d'entrée, la lampe reste allumée en bleu, jusqu'à ce que je l'éteigne via l'appli ou Alexa.

 

--[[
%% properties
148 value
76 value
%% globals
--]]

local PorteEntree = fibaro:getValue(148, "value") -- valeur du capteur de porte entree
fibaro:debug("valeur capteur porte entree="..PorteEntree) --affiche la valeur de ma variable1
local PorteSectionelle = fibaro:getValue(76, "value") --valeur du capteur porte sectionnelle
fibaro:debug("valeur capteur porte sectionelle="..PorteSectionelle) --affiche la valeur de ma variable2

if (PorteEntree == "1") and (PorteSectionelle == "0")
then
 fibaro:debug("alumage en bleu")
 fibaro:call(142, "pressButton", "1")--hue manager press Bt On
 fibaro:call(142, "pressButton", "20")--hue manager press Bt en bleu
 fibaro:debug("ok en bleu")

 	elseif (PorteEntree == "0") and (PorteSectionelle == "1")
	then 
  fibaro:debug("alumage en rouge")
  fibaro:call(142, "pressButton", "1")--hue manager press Bt On
  fibaro:call(142, "pressButton", "16")--hue manager press Bt en rouge
  fibaro:debug("ok en rouge")
  
	elseif (PorteEntree == "1") and (PorteSectionelle == "1")
  	then
  fibaro:debug("alumage en rouge")
  fibaro:call(142, "pressButton", "1")--hue manager press Bt On
  fibaro:call(142, "pressButton", "16")--hue manager press Bt en rouge
  fibaro:debug("ok en rouge")
  
  	  elseif (PorteEntree =="0") and (PorteSectionelle == "0")
      then
  	fibaro:call(142, "pressButton", "2"); -- hue manager Bt Off
 	fibaro:debug("eteint")
end

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

ll faut utiliser les balises <code> qui se trouvent dans l'éditeur de message. Il est marérialisé par ces icones : </>

Tu peux cliquer dessus et une fenêtre te demandera d'y insérer ton code. Dans la liste déroulante, il te suffit de sélectionner le langage utilité : LUA.

De cette manière, la coloration syntaxique se fera automatiquement par rapport au langage de programmation sélectionné.

 

Pour ton problème, je pense qu'il pourrait facilement être réglé en réduisant ton dernier pavé par un simple else :

--[[
%% properties
148 value
76 value
%% globals
--]]

local PorteEntree = fibaro:getValue(148, "value") -- valeur du capteur de porte entree
fibaro:debug("valeur capteur porte entree="..PorteEntree) --affiche la valeur de ma variable1
local PorteSectionelle = fibaro:getValue(76, "value") --valeur du capteur porte sectionnelle
fibaro:debug("valeur capteur porte sectionelle="..PorteSectionelle) --affiche la valeur de ma variable2

if (PorteEntree == "1") and (PorteSectionelle == "0") then
  fibaro:debug("alumage en bleu")
  fibaro:call(142, "pressButton", "1")--hue manager press Bt On
  fibaro:call(142, "pressButton", "20")--hue manager press Bt en bleu
  fibaro:debug("ok en bleu")
elseif (PorteEntree == "0") and (PorteSectionelle == "1") then 
  fibaro:debug("alumage en rouge")
  fibaro:call(142, "pressButton", "1")--hue manager press Bt On
  fibaro:call(142, "pressButton", "16")--hue manager press Bt en rouge
  fibaro:debug("ok en rouge")
elseif (PorteEntree == "1") and (PorteSectionelle == "1") then
  fibaro:debug("alumage en rouge")
  fibaro:call(142, "pressButton", "1")--hue manager press Bt On
  fibaro:call(142, "pressButton", "16")--hue manager press Bt en rouge
  fibaro:debug("ok en rouge")
else
  fibaro:call(142, "pressButton", "2"); -- hue manager Bt Off
  fibaro:debug("eteint")
end

Avec cette modification, la lumière sera systématiquement éteinte si aucune condition n'est respectée lors du lancement de la scène.

Néanmoins, rien ne se passera si la scène n'est pas exécutée. Donc, dans la situation actuelle, si les valeurs des modules 76 et 148 n'est pas modifiée.

 

NB : Je ne connais pas le VD Hue Manager, mais l'appui sur le bouton ON '1' est-il réellement nécessaire avant l'envoi de chaque couleur?

 

Modifié par J3R3M

Partager ce message


Lien à poster
Partager sur d’autres sites

Puisque tu es dans l'apprentissage du LUA, je te fournis le code suivant, qui fera exactement la même chose que ton code actuel, mais qui aura l'avantage de pouvoir être rapidement entretenu.

Je te laisse l'étudier et pourra répondre à tes interrogations si besoin ;)

 

--[[
%% properties
148 value
76 value
--]]

local t = {}; -- On crée une table qui contiendra les données à vérifier
-- On insert les données
table.insert(t, {nom="Porte Entrée", id=148, valeur=1, couleur="bleu", btn=20});
table.insert(t, {nom="Porte Sectionnelle", id=76, valeur=1, couleur="rouge", btn=16});

-- On vérifie les valeurs
local TotalTable, RetourNombreCapteurs, RetourCouleur, RetourBtn = #t, 0, "", "";
for i=1,TotalTable do
  local Nom, ID, ValeurDef, Couleur, Btn = t[i].nom, t[i].id, tostring(t[i].valeur), t[i].couleur, tostring(t[i].btn);
  local ValeurActu = fibaro:getValue(ID, "value");
  fibaro:debug("Valeur Capteur "..Nom.." : "..ValeurActu);
  if ValeurActu == ValeurDef then
    RetourNombreCapteurs = RetourNombreCapteurs+1;
    RetourCouleur = Couleur;
    RetourBtn = Btn;
  end
end

-- Actions en fonction des vérifications précédentes
if RetourNombreCapteurs == 1 then
  fibaro:debug("Allumage en "..RetourCouleur);
  fibaro:call(142, "pressButton", "1"); --hue manager press Bt On
  fibaro:call(142, "pressButton", RetourBtn); --hue manager press Bt
  fibaro:debug("OK en "..RetourCouleur);
elseif RetourNombreCapteurs > 1 then
  fibaro:debug("Allumage en rouge");
  fibaro:call(142, "pressButton", "1"); --hue manager press Bt On
  fibaro:call(142, "pressButton", "16"); --hue manager press Bt en rouge
  fibaro:debug("OK en rouge");
else
  fibaro:call(142, "pressButton", "2"); -- hue manager Bt Off
  fibaro:debug("Eteint")
end

 

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour J3R3M,

merci pour tes réponses, je viens de corriger la fin de mon code avec le simple else et en plein "bug" et cela m'a directement éteint ma lampe.

pour le VD HueManager, non le bouton ON n'est pas nécessaire lors des changement de couleurs mais c'est le moyen que j'ai trouver pour allumer a chaque conditions.

pour l'insertion de code entre balises c'est bien ce que j'ai fait mais avec beaucoup de bug pour moi j'aurais certainement du utiliser un autre navigateur que "edge"! car la fenetre ne s'afiche pas tout le temps et après avoir valider soit j'ai un trait bleu soit ce que j'ai poster!

 

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 2 minutes, papaced a dit :

merci pour tes réponses, je viens de corriger la fin de mon code avec le simple else et en plein "bug" et cela m'a directement éteint ma lampe. 

Je ne suis pas sûr de bien comprendre. Cela fait ce que tu souhaitais si la lampe s'est éteinte?

il y a 3 minutes, papaced a dit :

pour le VD HueManager, non le bouton ON n'est pas nécessaire lors des changement de couleurs mais c'est le moyen que j'ai trouver pour allumer a chaque conditions.

Donc, tu devrais pouvoir simplement "appuyer" sur les boutons des couleurs, sans avoir à allumer la lampe à chaque fois. Donc directement :

--[[
%% properties
148 value
76 value
%% globals
--]]

local PorteEntree = fibaro:getValue(148, "value") -- valeur du capteur de porte entree
fibaro:debug("valeur capteur porte entree="..PorteEntree) --affiche la valeur de ma variable1
local PorteSectionelle = fibaro:getValue(76, "value") --valeur du capteur porte sectionnelle
fibaro:debug("valeur capteur porte sectionelle="..PorteSectionelle) --affiche la valeur de ma variable2

if (PorteEntree == "1") and (PorteSectionelle == "0") then
  fibaro:debug("alumage en bleu")
  fibaro:call(142, "pressButton", "20")--hue manager press Bt en bleu
  fibaro:debug("ok en bleu")
elseif (PorteEntree == "0") and (PorteSectionelle == "1") then 
  fibaro:debug("alumage en rouge")
  fibaro:call(142, "pressButton", "16")--hue manager press Bt en rouge
  fibaro:debug("ok en rouge")
elseif (PorteEntree == "1") and (PorteSectionelle == "1") then
  fibaro:debug("alumage en rouge")
  fibaro:call(142, "pressButton", "16")--hue manager press Bt en rouge
  fibaro:debug("ok en rouge")
else
  fibaro:call(142, "pressButton", "2"); -- hue manager Bt Off
  fibaro:debug("eteint")
end

 

il y a 4 minutes, papaced a dit :

pour l'insertion de code entre balises c'est bien ce que j'ai fait mais avec beaucoup de bug pour moi j'aurais certainement du utiliser un autre navigateur que "edge"! car la fenetre ne s'afiche pas tout le temps et après avoir valider soit j'ai un trait bleu soit ce que j'ai poster! 

Etrange, effectivement, il y a un problème chez toi alors?

Jamais rencontré de problème avec Firefox, Opera et Chrome pour info ;)

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 2 heures, J3R3M a dit :

Puisque tu es dans l'apprentissage du LUA, je te fournis le code suivant, qui fera exactement la même chose que ton code actuel, mais qui aura l'avantage de pouvoir être rapidement entretenu.

Je te laisse l'étudier et pourra répondre à tes interrogations si besoin ;)

 


--[[
%% properties
148 value
76 value
--]]

local t = {}; -- On crée une table qui contiendra les données à vérifier
-- On insert les données
table.insert(t, {nom="Porte Entrée", id=148, valeur=1, couleur="bleu", btn=20});
table.insert(t, {nom="Porte Sectionnelle", id=76, valeur=1, couleur="rouge", btn=16});

-- On vérifie les valeurs
local TotalTable, RetourNombreCapteurs, RetourCouleur, RetourBtn = #t, 0, "", "";
for i=1,TotalTable do
  local Nom, ID, ValeurDef, Couleur, Btn = t[i].nom, t[i].id, tostring(t[i].valeur), t[i].couleur, tostring(t[i].btn);
  local ValeurActu = fibaro:getValue(ID, "value");
  fibaro:debug("Valeur Capteur "..Nom.." : "..ValeurActu);
  if ValeurActu == ValeurDef then
    RetourNombreCapteurs = RetourNombreCapteurs+1;
    RetourCouleur = Couleur;
    RetourBtn = Btn;
  end
end

-- Actions en fonction des vérifications précédentes
if RetourNombreCapteurs == 1 then
  fibaro:debug("Allumage en "..RetourCouleur);
  fibaro:call(142, "pressButton", "1"); --hue manager press Bt On
  fibaro:call(142, "pressButton", RetourBtn); --hue manager press Bt
  fibaro:debug("OK en "..RetourCouleur);
elseif RetourNombreCapteurs > 1 then
  fibaro:debug("Allumage en rouge");
  fibaro:call(142, "pressButton", "1"); --hue manager press Bt On
  fibaro:call(142, "pressButton", "16"); --hue manager press Bt en rouge
  fibaro:debug("OK en rouge");
else
  fibaro:call(142, "pressButton", "2"); -- hue manager Bt Off
  fibaro:debug("Eteint")
end

 

encore merci d'avoir pris le temps d'écrire ceci

là tu me donne a manger pour 15jours! je vais en effet étudier celui ci de prêt, sa me serviras de cours sur un sujet qui me parles.

a ce jour les tables je ne sais pas encore ce que c'est! donc c'est l'occasion pou moi de prendre des cours (en solo c'est compliqué;))

qu'entend tu par entretenable? 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 6 minutes, J3R3M a dit :
il y a 11 minutes, papaced a dit :

merci pour tes réponses, je viens de corriger la fin de mon code avec le simple else et en plein "bug" et cela m'a directement éteint ma lampe. 

Je ne suis pas sûr de bien comprendre. Cela fait ce que tu souhaitais si la lampe s'est éteinte?

bon ma femme est rentrée et la lampe est bleue!! donc mon code bof bof!!!

je vais étudier le tiens plus rapidement !!!

mais j'aimerais le comprendre avant de faire un simple copier coller

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 1 minute, papaced a dit :

encore merci d'avoir pris le temps d'écrire ceci

là tu me donne a manger pour 15jours! je vais en effet étudier celui ci de prêt, sa me serviras de cours sur un sujet qui me parles.

a ce jour les tables je ne sais pas encore ce que c'est! donc c'est l'occasion pou moi de prendre des cours (en solo c'est compliqué;))

qu'entend tu par entretenable? 

 

Il y a de nombreux site, dont beaucoup en français, qui traitent du LUA.

Par exemple, rien que pour aborder la chose plus sereinement, recherche directement "Tables LUA" et les "Boucles FOR LUA", tu verras que tu comprendras très aisément ce code.

Le code que j'ai fait rapidement se compose ainsi :

 

- Création de la table t

- Insertion dans cette table les valeurs que tu souhaites surveiller en y précisant le nom, l'ID du module, la valeur qui validera une action, le numéro du bouton et la couleur qui y est associée.

- Une boucle FOR vérifie, pour chaque ligne du tableau si la valeur du module correspond à celle précisée lors de la création de cette ligne

- Cette boucle incrémente la variable RetourNombreCapteurs de +1 dès que la condition ValeurActu == ValeurDef est remplie

- Ainsi, lorsque la boucle aura terminé d'analyser toutes les entrées de la table t, la suite du code appuie sur le bouton du VD défini, en fonction de s'il y a une ou plusieurs conditions vérifiées.

 

C'est plus simple à maintenir, car imagine que tu veuilles monitorer 50 devices. Avec ton code actuel, tu auras 50*5=250 lignes de code à écrire (même s'il s'agit de copier/coller).

Avec le code que j'ai fait, tu auras simplement à rajouter une entrée dans la table t pour chaque nouveau module, donc 50 lignes au total, le restant du code restant le même, que tu aies un seul module ou 1000 :)

En cas de modification, tu retrouveras très rapidement tes petits!

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 9 minutes, papaced a dit :

bon ma femme est rentrée et la lampe est bleue!! donc mon code bof bof!!!

je vais étudier le tiens plus rapidement !!!

mais j'aimerais le comprendre avant de faire un simple copier coller

Le code que j'ai fait se base sur le tien, donc le résultat sera le même. Il faut comprendre où se situe le problème dans ta configuration.

En cherchant des pannes, il faudrait que tu ailles sur la scène en question et que tu regardes le DEBUG.

Tu devrais voir les messages valeur capteur = avec une valeur différente en fonction de l'ouverture de la porte, 1 puis 0 ensuite.

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 3 minutes, J3R3M a dit :

Le code que j'ai fait se base sur le tien, donc le résultat sera le même. Il faut comprendre où se situe le problème dans ta configuration.

En cherchant des pannes, il faudrait que tu ailles sur la scène en question et que tu regardes le DEBUG.

Tu devrais voir les messages valeur capteur = avec une valeur différente en fonction de l'ouverture de la porte, 1 puis 0 ensuite.

ok c'est bien sa le problème c'est que dans mon debug les valeurs capteur sont bien de 0 et 0 il met bien "eteint" et la lampe  est bleue!:15:

donc je viens de supprimer l’appui systématique sur btON car ce bouton a pour effet d’allumer sur le dernier réglage de la lampe. donc certainement que cette lampe interprète les commandes plus lentement que ne l'envoie le HC2 et du coup ne les fait pas dans l'ordre...

je laisse vivre comme sa pour voir car les essais "fonctionnent" mais bon...

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 8 minutes, papaced a dit :

ok c'est bien sa le problème c'est que dans mon debug les valeurs capteur sont bien de 0 et 0 il met bien "eteint" et la lampe  est bleue!:15:

donc je viens de supprimer l’appui systématique sur btON car ce bouton a pour effet d’allumer sur le dernier réglage de la lampe. donc certainement que cette lampe interprète les commandes plus lentement que ne l'envoie le HC2 et du coup ne les fait pas dans l'ordre...

je laisse vivre comme sa pour voir car les essais "fonctionnent" mais bon...

De manière générale, la HC2 ne gère pas bien du tout un enchaînement de deux mêmes actions telles que des fibaro:call.

Un temps d'une seconde est nécessaire entre deux actions. C'est pour cela qu'il faut se passer des commandes qui ne sont pas utiles.

Sans ce temps, certaines actions ne sont pas effectuées, zappées.

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 6 minutes, J3R3M a dit :

De manière générale, la HC2 ne gère pas bien du tout un enchaînement de deux mêmes actions telles que des fibaro:call.

Un temps d'une seconde est nécessaire entre deux actions. C'est pour cela qu'il faut se passer des commandes qui ne sont pas utiles.

Sans ce temps, certaines actions ne sont pas effectuées, zappées.

a sa je ne savais pas du tout! je vais y prêter attention du coup lors de mes prochaines expériences de codes

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 59 minutes, papaced a dit :

a sa je ne savais pas du tout! je vais y prêter attention du coup lors de mes prochaines expériences de codes

C'est écrit nul part, c'est quelque chose dont je me suis rendu compte à force de faire des essais.

Et cela se vérifie régulièrement :)

J'oubliais, mais pour faire une pause au sein d'un script LUA, il faudrait que tu utilises la fonction fibaro:sleep(1000). Le temps est en millisecondes, donc 1000 pour 1 seconde ;)

Attention, il s'agit bien d'une pause. Le programme lit le code et se met en pause sur cette ligne. La suite du code sera exécutée après cette pause.

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour @J3R3M,

un retour difficile après ce déconfinement, boulot a 200%, Fibaro a 1%

si je peux encore te déranger un peux?

la boucle de vérification je ne comprend pas tout


-- On vérifie les valeurs
local TotalTable, RetourNombreCapteurs, RetourCouleur, RetourBtn = #t, 0, "", "";
for i=1,TotalTable do
  local Nom, ID, ValeurDef, Couleur, Btn = t[i].nom, t[i].id, tostring(t[i].valeur), t[i].couleur, tostring(t[i].btn);
  local ValeurActu = fibaro:getValue(ID, "value");
  fibaro:debug("Valeur Capteur "..Nom.." : "..ValeurActu);
  if ValeurActu == ValeurDef then
    RetourNombreCapteurs = RetourNombreCapteurs+1;
    RetourCouleur = Couleur;
    RetourBtn = Btn;
  end
end

a la première ligne:

RetourBtn = #t, 0, "", "";

le # a quoi il sert? les valeurs vide sont elles obligatoires?

 

a la deuxième ligne le i=1 ?

je comprend que tu fais une sorte de "calcul" en transformant les valeurs reçues en nombre

de ce fait si je met d'autres "couleurs" il faudra mettre ensuite: if RetourNombreCapteur==2        if RetourNombreCapteur==3     ....?

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @papaced!

Le 20/06/2020 à 10:49, papaced a dit :

a la première ligne:

RetourBtn = #t, 0, "", "";

La première ligne déclare toutes les variables qui vont être utiles par la suite pour l'exécution du script.

Ainsi, on commence par déclarer TotalTable en y stockant combien d'entrées il y a dans le tableau t.

Ensuite, on crée simplement des variables avec une valeur nulle à chaque fois, que le script mettra à jour par la suite si nécessaire.

Il faut effectivement déclarer ces variables avant de les utiliser. Dans le cas contraire, il y a aura une erreur puisqu'on essaiera de mettre à jour une variable qui n'existe pas.

 

Le 20/06/2020 à 10:49, papaced a dit :

a la deuxième ligne le i=1 ? 

On est dans une boucle for numérique classique. Dans ces boucles, on utilise et déclare une variable au début de celles-ci.

Cette ligne signifie :

Citation

Considère que i=1. Pour chaque valeur de i entre 1 et la valeur de TotalTable, fais les actions suivantes.

Cela permet de parcourir le contenu de la table en faisant évoluer la valeur de i, puisqu'on va utiliser i comme clé.

Le 20/06/2020 à 10:49, papaced a dit :

de ce fait si je met d'autres "couleurs" il faudra mettre ensuite: if RetourNombreCapteur==2        if RetourNombreCapteur==3     ....?

Alors non :lol: Enfin, tout dépend de ce que tu souhaites faire.

Tel quel, pour rajouter un élément à surveiller, il te faut simplement déclarer une nouvelle entrée dans la table t, comme au début du script :

table.insert(t, {nom="Porte Sectionnelle", id=76, valeur=1, couleur="rouge", btn=16});

La partie du script dont tu parles effectue juste une analyse de la valeur de la variable RetourNombreCapteurs.

Si la valeur de cette variable est égale à 1, la couleur de tes lampes sera celle précisée lors de la déclaration de ton entrée du tableau t.

Si la valeur de cette variable est supérieure à 1, la couleur de tes lampes sera systématiquement rouge, t'informant visuellement que plusieurs portes sont ouvertes.

Si la valeur de cette variable n'est ni égale à 1, ni supérieure à 1, on éteindra tes lampes.

Modifié par J3R3M

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour @J3R3M,

tout d'abord merci pour le temps que tu m'accorde et pour toutes ces précisions...

alors whaou, je ne voyais pas sa comme ça même après avoir lu et relu des "cours" sur les tables...

c'est déjà beaucoup plus clair pour moi!

même si les tables et toutes ces variables pour 2 portes et 1 lampe ça me perturbe toujours, je ne sait pas sur une page blanche comment j'arriverais a sa!

perso je pense que j'ai encore beaucoup de chemin pour y arriver...mon problème est je pense ma façon de penser et de voir le cahier des charge de base (peut être la déformation professionnelle je suis électricien en industrie...)

il faut je pense que je reprenne des cours de base et que je me formate a cette façon de penser...(tiens une idée pour utiliser mon DIF :))

je vais essayer de "jouer" avec ton code maintenant que c'est un peux plus clair (en rajoutant, modifiant d'autres notifications même inutile histoire de voir...)

je te solliciterais surement encore si tu le permet.

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 4 minutes, papaced a dit :

tout d'abord merci pour le temps que tu m'accorde et pour toutes ces précisions...

Avec grand plaisir! C'est un forum d'entraide ;)

il y a 5 minutes, papaced a dit :

alors whaou, je ne voyais pas sa comme ça même après avoir lu et relu des "cours" sur les tables...

Effectivement, il y a beaucoup de notions sur les tables.

Il y a encore quelques mois, je ne savais pas les utiliser.

il y a 6 minutes, papaced a dit :

même si les tables et toutes ces variables pour 2 portes et 1 lampe ça me perturbe toujours, je ne sait pas sur une page blanche comment j'arriverais a sa!

En tous cas, tu as en tête le principe de la feuille blanche et c'est un excellent début!

Aussi, tu peux programmer en testant au fur-et-à-mesure, en ajoutant tes blocs petits à petits, ce qui te permettra de voir l'évolution de ton code et constater qu'il fait bien ce que tu souhaites.

il y a 8 minutes, papaced a dit :

perso je pense que j'ai encore beaucoup de chemin pour y arriver...mon problème est je pense ma façon de penser et de voir le cahier des charge de base (peut être la déformation professionnelle je suis électricien en industrie...)

il faut je pense que je reprenne des cours de base et que je me formate a cette façon de penser...(tiens une idée pour utiliser mon DIF :))

Sois positif et aie confiance en toi!

Très sincèrement, je n'y connaissais rien du tout en arrivant sur ce forum. J'ai d'ailleurs posé de nombreuses questions quand je n'arrivais pas à mettre en application certaines notions de LUA.

Voici un de mes premiers posts. Tu constateras que je ne comprenais vraiment pas grand chose malgré ma volonté. On a pris le temps de me trouver des solutions et de m'expliquer.

Un peu plus tard, j'ai voulu creuser du côté des tables, mais je galérais un peu pour mon application, alors j'ai posté une autre question.

Ensuite, j'ai voulu faire fonctionner ma Welcome de Netatmo, j'ai alors cherché sur la toile et suis tombé sur un script que j'ai voulu adapter et partager.

Il y a toujours beaucoup à apprendre et il y aura toujours des personnes pour t'aider à comprendre si besoin.

De mon côté, je me suis contenté de glaner les informations qui m'intéressaient sur quelques sites d'apprentissage du LUA en essayant de les mettre en application avec la domotique.

il y a 34 minutes, papaced a dit :

je vais essayer de "jouer" avec ton code maintenant que c'est un peux plus clair (en rajoutant, modifiant d'autres notifications même inutile histoire de voir...)

je te solliciterais surement encore si tu le permet.

En jouant, ça va certainement t'aider à comprendre ;)

Dans tous les cas, tu as déjà la bonne procédure en tête puisque tu avais fait un script quasi fonctionnel ;)

Pour tes questions sur le LUA lié à la domotique, tu peux créer de nouveaux sujets directement dans le forum HC2, en précisant dans le sujet qu'il s'agit d'une question de LUA :)

Il y a de nombreuses personnes qui pourront t'aider ici, même à comprendre le fonctionnement d'un code si besoin ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour @J3R3M,

 

merci pour tes encouragement, cela me rassure aussi de voir que l'on y arriver sans n'y connaitre rien a la base.;)

 

Partager ce message


Lien à poster
Partager sur d’autres sites

×