Aller au contenu

Recommended Posts

Dans ton code les numéros de scène commencent à  trois. Alors pour 1 et 2 je mets rien, c'est à  dire nil.

Mais tu peux supprimer et mettre NumSceneMarie+2 dans le reste du code.

C'est pareil ! ;)

 

L'avantage du nil,nil c'est que le code est prêt pour l'avenir si tu veux utiliser 1 et 2.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour Berale24,

 

Excuse moi ? je n'ai pas compris. Que viennent faire les numéros de scènes (dans le tableau) ? No comprendo :D

 

L'objectif du code: Qu'un appui successif sur le même bouton de la minimote me fasse le même résultat que si je devais appuyer successivement sur 6 boutons physiques différents de la minimote ... Faire appel à  des boutons virtuels du même VD...

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai juste dis que la succession de "If" dans le post 147 peut se résumer à3 lignes.

Quand àta demande en fin post, j'avoue ne pas trop suivre.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

Je viens tout juste de réussir l'inclusion :60: de ma minimote après avoir passé quelques nuits blanches ouf !!!(Firmware 1.19 paramétrage 250  à  0 (elle ne veut pas mémoriser le 1).

 

J'ai ensuite créer une scène en lua dont le contenu est le suivant : 

-----------------------------------------------------------------------------------------------

--[[
%% autostart  
%% properties
74 sceneActivation // correspond à  mon Id de ma minimote
%% globals
--]]
 
local ButtonPressed = fibaro:getValue(74, "sceneActivation")
 
if ( tonumber(ButtonPressed) == 1) then
fibaro:call(15, "turnOn") --Allumer la lampe fenetre 
fibaro:debug("MiniMote button 1 pressed, Allumage lampe fenetre")
  
elseif ( tonumber(ButtonPressed) == 2) then
fibaro:call(15, "turnOff") -- Eteindre la lampe de la fenetre
fibaro:debug("MiniMote button 1 long pressed, Extinction lampe fenetre")
  
elseif ( tonumber(ButtonPressed) == 3) then
fibaro:call(17, "turnOn") -- Allumage plafonnier Salon
fibaro:debug("MiniMote button 2 pressed, Allumage lampe plafonnier")
  
elseif ( tonumber(ButtonPressed) == 4) then
fibaro:call(17, "turnOff") -- Extinction plafonnier 
fibaro:debug("MiniMote button 2 long pressed, Extinction lampe plafonnier")
  
elseif ( tonumber(ButtonPressed) == 5) then
fibaro:call(8, "turnOn") -- Allumage lumière cheminée
fibaro:debug("MiniMote button 3 pressed, Allumage lampe cheminée")
  
elseif ( tonumber(ButtonPressed) == 6) then
fibaro:call(8, "turnOff") -- Extinction lumière cheminée
fibaro:debug("MiniMote button 3 long pressed, Extinction lampe cheminée")
  
elseif ( tonumber(ButtonPressed) == 7) then
fibaro:call(46, "turnOn") -- Allulmage Lampe cadre
fibaro:debug("MiniMote button 4 pressed, Allumage Lampe cadre")
  
elseif ( tonumber(ButtonPressed) == 8) then
fibaro:call(46, "turnOff") -- Extinction Lampe cadre
fibaro:debug("MiniMote button 4 long pressed, Extinction Lampe cadre")
  
else
fibaro:debug("No response")
  
end
-----------------------------------------------------------------------------------------------
 
Quand je lance l'exécution, le script s'exécute une fois en reconnaissant la bonne touche appuyée. Il faut relancer une manuelle fois pour actionner une nouvelle touche. Autrement dit, au lieu de faire une boucle pour reconnaître les touches appuyées, le script fait une détection et s’arrête :15: . Le tout jeune "HC2 débutant" a besoin de vos lumières...Merci d'avance. 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour DomGreg, peux-tu éditer ton message et utiliser les baliser "<>" pour afficher ton code ?

...

Partager ce message


Lien à poster
Partager sur d’autres sites

@domgreg, il faut absolument que tu passes le parametre 250 à1

Tu peux faire un appui long sur learn pour forcer le transfert

Partager ce message


Lien à poster
Partager sur d’autres sites

@Chrispec, quel type de code dois-je choisir pour le code entre balises "<>" (javascript,php .....)?

 

 

@PITP2, Merci , je vais essayer ton conseil, mais j'aimerai comprendre à  quoi sert au juste ce paramètre ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Ce paramètre sert àindiquer àla télécommande qu'elle doit envoyer un numéro correspondant aux appuis longs ou courts àla box domotique qui se chargera ensuite de l'interpréter pour lancer des scénarios.

Partager ce message


Lien à poster
Partager sur d’autres sites

je mets le 250 àla valeur 1 (log ci-dessous)

[13:58:31] ID 73: Set parameter 250, value = 1

je fais un appui long sur learn (log ci-dessous)

[14:01:36] ID 73: No report was received for parameter 250. The device might not have this parameter.

Que dois en penser ?

Partager ce message


Lien à poster
Partager sur d’autres sites

@chrispec, c'est ça que tu veux ? (le code n'est pas en inversion vidéo ???)

 

 

Bonjour,

 

Je viens tout juste de réussir l'inclusion  :60: de ma minimote après avoir passé quelques nuits blanches ouf !!!(Firmware 1.19 paramétrage 250  à  0 (elle ne veut pas mémoriser le 1).

 

J'ai ensuite créer une scène en lua dont le contenu est le suivant : 

--[[
%% autostart  
%% properties
74 sceneActivation // correspond à  votre Id de votre minimote( voir Important dans la mise en situation)
%% globals
--]]

local ButtonPressed = fibaro:getValue(74, "sceneActivation")

if ( tonumber(ButtonPressed) == 1) then
fibaro:call(15, "turnOn") --Allumer la lampe fenetre id15 correspond au module de prise par exemple un wall plug
fibaro:debug("MiniMote button 1 pressed, Allumage lampe fenetre")
  
elseif ( tonumber(ButtonPressed) == 2) then
fibaro:call(15, "turnOff") -- Eteindre la lampe de la fenetre
fibaro:debug("MiniMote button 1 long pressed, Extinction lampe fenetre")
  
elseif ( tonumber(ButtonPressed) == 3) then
fibaro:call(17, "turnOn") -- Allumage plafonnier Salon
fibaro:debug("MiniMote button 2 pressed, Allumage lampe plafonnier")
  
elseif ( tonumber(ButtonPressed) == 4) then
fibaro:call(17, "turnOff") -- Extinction plafonnier 
fibaro:debug("MiniMote button 2 long pressed, Extinction lampe plafonnier")
  
elseif ( tonumber(ButtonPressed) == 5) then
fibaro:call(8, "turnOn") -- Allumage lumière cheminée
fibaro:debug("MiniMote button 3 pressed, Allumage lampe cheminée")
  
elseif ( tonumber(ButtonPressed) == 6) then
fibaro:call(8, "turnOff") -- Extinction lumière cheminée
fibaro:debug("MiniMote button 3 long pressed, Extinction lampe cheminée")
  
elseif ( tonumber(ButtonPressed) == 7) then
fibaro:call(46, "turnOn") -- Allulmage Lampe cadre
fibaro:debug("MiniMote button 4 pressed, Allumage Lampe cadre")
  
elseif ( tonumber(ButtonPressed) == 8) then
fibaro:call(46, "turnOff") -- Extinction Lampe cadre
fibaro:debug("MiniMote button 4 long pressed, Extinction Lampe cadre")
  
else
fibaro:debug("No response")
  
end

Quand je lance l'exécution, le script s'exécute une fois en reconnaissant la bonne touche appuyée. Il faut relancer une manuelle fois pour actionner une nouvelle touche. Autrement dit, au lieu de faire une boucle pour reconnaître les touches appuyées, le script fait une détection et s’arrête  :15: . Le tout jeune "HC2 débutant" a besoin de vos lumières...Merci d'avance. 

Partager ce message


Lien à poster
Partager sur d’autres sites

Ce genre de script ne boucle pas. Il est en mode veille et attend d'être réveillé par une action sur une touche.

Si ça ne marche pas, c'est que le mode "sceneActivation" n'est pas actif sur ta télécommande.

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est le paramètre 250. Tu as toutes les infos dans le lien de PITP2.

 

Petite remarque sur ton code. Tu peux économiser des boutons (ou des actions) en changeant

if ( tonumber(ButtonPressed) == 1) then
fibaro:call(15, "turnOn") --Allumer la lampe fenetre id15 correspond au module de prise par exemple un wall plug
fibaro:debug("MiniMote button 1 pressed, Allumage lampe fenetre")
 
elseif ( tonumber(ButtonPressed) == 2) then
fibaro:call(15, "turnOff") -- Eteindre la lampe de la fenetre
fibaro:debug("MiniMote button 1 long pressed, Extinction lampe fenetre")

Par

if ( tonumber(ButtonPressed) == 1) then
  if (fibaro:getValue(15,"value") == "0") then
      fibaro:call(15, "turnOn") --Allumer la lampe fenetre id15 correspond au module de prise par exemple un wall plug
  else
      fibaro:call(15, "turnOff") -- Eteindre la lampe de la fenetre
fibaro:debug("MiniMote button 1 pressed, Allumage lampe fenetre")
 
elseif ......

Ainsi tu peux utiliser l'appui long pour autre chose.

Partager ce message


Lien à poster
Partager sur d’autres sites

@Berale24

En ce qui concerne le paramètre 250, je l'ai passé à  1 (partie maître et esclave), mais il me met que : "dernière valeur configurée : undefined".

Merci pour ton programme lua beaucoup plus astucieux que le précédent. Cependant :

1. Il ne reconnait pas les touches 2 et 4.

2. Je suis toujours obligé de relancer la scène pour détecter la moindre touche.

 

Cela vient-il du firmware de la télécommande 1.19 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

J'avais fait ça pour gérer mes lumières. Chaque bouton allume ou éteint alternativement la lumière en vérifiant son état avant (ID teleco 13) :

--[[
%% properties
13 sceneActivation
%% globals
--]]

local ButtonPressed = fibaro:getValue(13, "sceneActivation")
 
 --lumiere blanche
if ( tonumber(ButtonPressed) == 1) then
 local MaVariable=fibaro:getValue(296,'value')
    if (MaVariable=='0')then
    fibaro:call(296, "turnOn") 
    else
    fibaro:call(296, "turnOff") 
end  

  --appui long 1 rien encore
elseif ( tonumber(ButtonPressed) == 2) then
---
 --- 
  
  --lumière orange
elseif ( tonumber(ButtonPressed) == 3) then
 local MaVariable=fibaro:getValue(295,'value')
    if (MaVariable=='0')then
    fibaro:call(295, "turnOn") 
    else
    fibaro:call(295, "turnOff") 
    end

 -- appui long 2 rien encore
elseif ( tonumber(ButtonPressed) == 4) then
---
  ---

--lumière verte 
elseif ( tonumber(ButtonPressed) == 5) then
  local MaVariable=fibaro:getValue(182,'value')
    if (MaVariable=='0')then
    fibaro:call(182, "turnOn") 
    else
    fibaro:call(182, "turnOff") 
    end

 -- appui long 3 rien encore
elseif ( tonumber(ButtonPressed) == 6) then
---
  ---

 --lumière zinc
elseif ( tonumber(ButtonPressed) == 7) then
 local MaVariable=fibaro:getValue(10,'value')
    if (MaVariable=='0')then
    fibaro:call(10, "turnOn") 
    else
    fibaro:call(10, "turnOff") 
    end

--Appui long 4 lumière abajoue blanc
elseif ( tonumber(ButtonPressed) == 8) then
   
 local MaVariable=fibaro:getValue(297,'value')
    if (MaVariable=='0')then
    fibaro:call(297, "turnOn") 
    else
    fibaro:call(297, "turnOff") 
    end
 
end

Autre exemple d'une seconde telco (ID 11) :

--[[
%% properties
11 sceneActivation
%% globals
--]]

local ButtonPressed = fibaro:getValue(11, "sceneActivation")
 
 
 --lumiere blanche
if ( tonumber(ButtonPressed) == 1) then
 local MaVariable=fibaro:getValue(296,'value')
    if (MaVariable=='0')then
    fibaro:call(296, "turnOn") 
    else
    fibaro:call(296, "turnOff") 
    end
  

  --appui long 1 Mode normal
elseif ( tonumber(ButtonPressed) == 2) then
fibaro:call(77, "pressButton", "2");
 --- 
  
  --Système SqueezeBox Duet ON/OFF (OFF HP + DAC seulement)
elseif ( tonumber(ButtonPressed) == 3) then
  local MaVariable=fibaro:getValue(178,'value')
    if (MaVariable=='0')then
  fibaro:call(178, "turnOn") --DAC Audio DG
  fibaro:call(176, "turnOn") --HP Audio engine 5+
  fibaro:call(179, "turnOn") --Squeezebox Duet
  fibaro:call(181, "turnOn") --Squeezebox Controler
    else
  fibaro:call(176, "turnOff") --HP Audio engine 5+
  fibaro:call(178, "turnOff") --DAC Audio DG
    end

 -- appui long 2 mode invité
elseif ( tonumber(ButtonPressed) == 4) then
fibaro:call(77, "pressButton", "3");
  ---

--lumière Escalier ON/Off 
elseif ( tonumber(ButtonPressed) == 5) then
  local MaVariable=fibaro:getValue(190,'value')
    if (MaVariable=='0')then
    fibaro:call(190, "turnOn") 
    else
    fibaro:call(190, "turnOff") 
    end

 -- appui long 3 mode vacances
elseif ( tonumber(ButtonPressed) == 6) then
  fibaro:call(77, "pressButton", "5");
---
  ---

 --Toutes les lumières du Haut OFF
elseif ( tonumber(ButtonPressed) == 7) then
	fibaro:call(197, "pressButton", "1"); -- MV Eteindre 2nd etage

  
--Appui long 4 Bonne nuit
elseif ( tonumber(ButtonPressed) == 8) then
   fibaro:call(86, "pressButton", "1");
 
end
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@JossAlf, tu peux te dispenser d'une variable

Exemple du code que j'utilise :

-- bouton 1 Eclairage spots armoire
if ( tonumber(ButtonPressed) == 1) then
  if ( tonumber(fibaro:getValue(69, "value")) == 0 )
  then fibaro:call(69, "turnOn"); -- Eclairage spots armoire chambre
  else fibaro:call(69, "turnOff"); -- Extinction spots armoire chambre
end

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@JossAlf, merci beaucoup !!! tu as résolu mon problème de télécommade...Ouf !!! Trop fort.

@i-magin, merci àtoi de cette économie de variable qui effectivement n'est pas indispensable...

Bien cordialement àvous.

Partager ce message


Lien à poster
Partager sur d’autres sites

@i-magin : effectivement bien vu la simplification. Merci.

@DomGreg : content de t'avoir inspiré ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Je n'ai pas lu le sujet, mais juste au cas ou votre minimote déconne.

 

Pour une raison que je n'explique pas, ma femme et moi étions en Firmware 0.18

Sur la mienne tout allait bien, sur celle de ma femme inopérante, plus de voyants et impossibilité d'ouvrir les ouvrants extérieurs.

 

Une mise a jour est disponible 0.19

La telco de ma femme est fonctionnel, les voyants Re fonctionne et la télécommande aussi.

Du coup j'ai fait aussi la Maj, RAS de mon coté.

 

Suite a je ne sais quel maj de Fibaro. Depuis plusieurs jours elle se plaignait de la telco qui débloquait... et pis moi, ben heu ! elle fonctionne la mienne lol...

Y a des trucs bizzare quand meme.

 

Bernie

Partager ce message


Lien à poster
Partager sur d’autres sites

bonsoir à  tous,

je viens de recevoir ma télécommande minimote et je pensais l'installer facilement sur ma HC lite....  mais est ce possible??

installation rapide en tant que module mais ça ne fonctionne pas ensuite.

et

ma Hc lite ne la reconnait pas en tant que controleur secondaire....!!!

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour le controleur secondaire je ne sais pas, je n'utilise pas la télécommande pour cette fonction.

En ce qui concerne le fonctionnement en mode télécommande, tu dis que cela ne fonctionne pas.

Tu as fait la scène en LUA comme indiqué en page 1 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai bien suivi la notice et la télecommande fonctionne bien mais directement sur un module si celui ci n'est pas associé à  ma HC lite.

pour fonctionner avec des modules déjà  connectés à  un controleur primaire ( ma HC lite) on est obligé de passer en controleur secondaire....

d'après ce que j'ai compris.. . 

je ne suis pas tres calé en informatique.. le LUA je ne connaît pas!!!!

Partager ce message


Lien à poster
Partager sur d’autres sites

×