Aller au contenu

mes debut dans le "LUA"


Fredric

Messages recommandés

bonsoir,

 

j'essai de compléter le script que j'ai fait (grâce à  vous en grande partie et je vous en remercie) pour activer l'alarme avec la télécommande Aeons Labs AEO_DSA22.

ça marche parfaitement et j'ai décidé de rajouter un puch pour me signifier que l'alarme et active ou inactive quand je le fais par la télécommande.

pour faire cela, j'ai rajouté la dernière ligne (avant then bien sà»r), ça marche, sauf que je reçois deux puch !

voyez vous une erreur dans mes lignes?

 

 

--[[
%% properties
15 sceneActivation
%% globals
--]]

local NumScene = tonumber(fibaro:getValue(15, "sceneActivation"))

if (NumScene == 2) --  (touche 1 appui long)


then


fibaro:call(14, "setArmed", "0");
fibaro:call(5, "setArmed", "0");



fibaro:call(17, "sendDefinedPushNotification", "5");




end


 

Lien vers le commentaire
Partager sur d’autres sites

Étrange, le code semble ok, peut-être que l'appui long sur la telco se traduit par 2 activations de scène :) . Peut être faire un test avec un appui court histoire d'être certain ?

Lien vers le commentaire
Partager sur d’autres sites

j'ai fait autrement est le problème reste le même, une scène par actions. activer et desactivé.

et cela m'envoie 2 push, même si j'active par l'iphone. 

--[[
%% properties
5 armed
%% globals
--]]

local MaVariable = fibaro:get(5, 'armed' )
fibaro:debug( ' armed = ' ..MaVariable)

if ( MaVariable == '1') then


fibaro:call(17, "sendDefinedPushNotification", "4");

end

Lien vers le commentaire
Partager sur d’autres sites

j'ai juste la bête, alors j'ai que 6 scènes pour le moment.

deux pour la télécommande on et off

deux pour l'avertissement on alarme coté fenêtre et cote court (qui sont désactivés pour le moment)

et ses deux là

--message puch : Alarme activée

--[[

%% properties

5 armed

%% globals

--]]

local MaVariable = fibaro:get(5, 'armed' )

fibaro:debug( ' armed = ' ..MaVariable)

if ( MaVariable == '1') then

fibaro:call(17, "sendDefinedPushNotification", "4");

end

--Message puch : alarme désactivée

--[[

%% properties

5 armed

%% globals

--]]

local MaVariable = fibaro:get(5, 'armed' )

fibaro:debug( ' armed = ' ..MaVariable)

if ( MaVariable == '0') then

fibaro:call(17, "sendDefinedPushNotification", "5");

end

Lien vers le commentaire
Partager sur d’autres sites

Si si , c'était drôle Krikroff 😄!!

J'avoue qu'à  l'heure ou j'ai arrêté, je ne savais plus trop ou j'en était 😲.

C'est pour ça que ce soir, je vais commencer par stopper toutes les scènes et y aller une par une.

Lien vers le commentaire
Partager sur d’autres sites

C'est une des raison ou il faut essayer de centraliser un maximum les scènes de différentes raison.

Pour éviter les embrouilles (j'ai eu les décorations de noà«l qui s'allumer la journée aléatoirement, et j'ai trouver le weed-end dernier pourquoi  Xd) je suis partie sur des scènes "maîtres" et des règles.

Ce que je recommande:

- Toutes les scènes qui doivent être lancé à  une heure précise, utiliser le scheduler

- Toutes les scènes qui doivent être lancer grâce à  un module, utiliser une scènes dédier aux "association" (enfin c'est plus une scène qui démarre les autres que association).

A la rigueur faudrait même peut-être faire une scène pour les actionneurs passif comme par exemple les détecteurs de fenêtre et actionneurs actif comme une télécommande.

- Partez du principe qu'une scène ne ce lance jamais d'elle même.

- Documentez au maximum votre code, surtout quand vous êtes débutant.

 

Alors je sais que ce n'est pas facile quand on commence, mais vous allez gagner pas mal d'heure à  un certains moment, et vous éviterez d'être chauve :D.

Lien vers le commentaire
Partager sur d’autres sites

Ca vient de là , c'est sur, le debug renvoie deux fois l'appuis du bouton.

pareil sur le désarmement.

Mais je ne vois pas ce qui double 8/

 

--[[

%% properties

15 sceneActivation

%% globals

--]]

local NumScene = tonumber(fibaro:getValue(15, "sceneActivation")) -- récupère la scène activée, stocké dans la variable "NumScene"

if (NumScene == 1) -- la touche appuyée génère le numéro de scène 1 (touche 1 appui court)

then

fibaro:debug("Bouton 1 appuyé (court):")

if ((tonumber(fibaro:getValue(14, 'value'))) == 0)

then

fibaro:call(14, "setArmed", "1");

fibaro:call(5, "setArmed", "1");

end

end

 

avec le script suivant, je vois bien que la télécommande envoie seulement une fois 1 (appuis court) ou 2 (appuis long)

--[[

%% properties

%% globals

--]]

local NumScene = fibaro:getValue(15, "sceneActivation")

fibaro:debug("Numéro de scène: " ..NumScene)

?? je sèche ??

Lien vers le commentaire
Partager sur d’autres sites

Arrête de poster ton code comme sa. Met le entre les balises code stp ce sera plus lisible.

 

Ensuite donne moi l'id de ta télécommande, j'en ai pas mais je suppose que tu dois avoir également un id précis si tu restes appuyé sur le bouton.

Si oui donne le moi.

Lien vers le commentaire
Partager sur d’autres sites


--[[

%% properties

15 sceneActivation

%% globals

--]]

local NumScene = tonumber(fibaro:getValue(15, "sceneActivation")) -- récupère la scène activée, stocké dans la variable "NumScene"

if (NumScene == 1) -- la touche appuyée génère le numéro de scène 1 (touche 1 appui court)

then

fibaro:debug("Bouton 1 appuyé (court):")

if ((tonumber(fibaro:getValue(14, 'value'))) == 0)

then

fibaro:call(14, "setArmed", "1");

fibaro:call(5, "setArmed", "1");

end

end

Lien vers le commentaire
Partager sur d’autres sites

ok, merci, je pense que tu m'a donné la solution, quand je copie le script de ton lien et que je l'adapte avec mon ID15 de ma télécommande, j'appuis sur n'importe quelles touche, la commande  se double.

je vais la supprimer et la réinstaller

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...