Aller au contenu
SimonT

Associer Synchroniser 2 Modules Fibaro Rgbw?

Recommended Posts

Sur le dernier firmware j'ai pas essayer car je suis toujours en 3.600.

Mais le 403 access forbidden n'est pas normal.

 

Tu as essayer de reboot pour être sur.

Partager ce message


Lien à poster
Partager sur d’autres sites

Ha non, je tente en live...

j'ai du le faire 3 ou 4 fois sur ma tentative d'association (je sais pas c'est qui l'endouille qui a poster que cela fonctionnait chez lui!!!) et là  j'ai pas eu le reflexe! 

Partager ce message


Lien à poster
Partager sur d’autres sites

Plus de message d'erreur mais pas de syncro, je vais revoir le code... que tu as édité on est d'accord, en le copiant ce matin j'ai pas besoin de rajouter une seconde fois la ligne

local startSource = fibaro:getSourceTrigger();

Partager ce message


Lien à poster
Partager sur d’autres sites

Je ne vois rien! j'ai fais un copier/coller, pas de message d'erreur quant je le lance, et il n'y a que 2 lignes à  modifier! 

Partager ce message


Lien à poster
Partager sur d’autres sites

Ha, j'ai vu quelque chose, avec mes test ds le paramètre 6 du module maitre de tout à  l'heure j'ai du faire du caca,  je vois que j'ai plus rien ds le groupe 1...

Je vais déjà  reconfiguer le module

Partager ce message


Lien à poster
Partager sur d’autres sites

Non, 3 lignes à  modifier.

Je recommence:

- ID color dans l'entete du script

- RGB_ master

- RGB_slave

 

Et ouis j'ai éditer le script que j'ai posté.

Partager ce message


Lien à poster
Partager sur d’autres sites

Vi, j'ai vu l'entête, pardon, j'ai écrit 2 dans le sens de l'expression...

Partager ce message


Lien à poster
Partager sur d’autres sites

la question pour la doublette de ligne était con 

Partager ce message


Lien à poster
Partager sur d’autres sites

Je viens d'exclure/reseter le hard/réinclure le master, changer le code (3lignes!) avec sa nouvelle ID et rien...

je crois que je vais tester sur du 3.xx chez moi (ça m'enbête l'association a fonctioné sur ma box!)

Partager ce message


Lien à poster
Partager sur d’autres sites

Met des fibaro:debug dans le code pour voir si il y a une partie qui coince voir même si la scène ce lance.

Mais c'est pas normal, il y a aucune raison a première vue pour que le script bloque.

Partager ce message


Lien à poster
Partager sur d’autres sites

en touts cas ds la fenetre debug je n'ai aucun message au lancement

Partager ce message


Lien à poster
Partager sur d’autres sites


____



 



--[[
%% properties
7 color
%% globals
--]]

fibaro:debug("_______start_______");

local startSource = fibaro:getSourceTrigger();
local RGBW_master = 72;
local RGBW_slaves = {12,42};

fibaro:debug("etape 1");

function split(s, pattern, maxsplit)
local pattern = pattern or ' '
local maxsplit = maxsplit or -1
local s = s
local t = {}
local patsz = #pattern
while maxsplit ~= 0 do
local curpos = 1
local found = string.find(s, pattern)
if found ~= nil then
table.insert(t, string.sub(s, curpos, found - 1))
curpos = found + patsz
s = string.sub(s, curpos)
else
table.insert(t, string.sub(s, curpos))
break
end

maxsplit = maxsplit - 1
if maxsplit == 0 then
table.insert(t, string.sub(s, curpos - patsz - 1))
end
end
return t
end

fibaro:debug("etape 2");

if (startSource['type']=='property') then
if (startSource['deviceID']==tostring(RGBW_master)) then
local result = split(fibaro:getValue(RGBW_master, "color"), ',')
for i = 1, #RGBW_slaves do
if (result[1] == "0" and result[2] == "0" and result[3] == "0" and result[4] == "0" and (tonumber(fibaro:getValue(RGBW_master, "currentProgramID")) > 0)) then
fibaro:call(RGBW_slaves[i], "startProgram", fibaro:getValue(RGBW_master, "currentProgramID"));
else
fibaro:call(RGBW_slaves[i], "setColor", result[1], result[2], result[3], result[4])
end
end
end
end

fibaro:debug("_______end_______");

[DEBUG] 11:37:07: _______start_______

[DEBUG] 11:37:07: etape 1

[DEBUG] 11:37:07: etape 2

[DEBUG] 11:37:07: _______end_______

Partager ce message


Lien à poster
Partager sur d’autres sites

Tiens essaye sa je viens de l'essayer et sa fonctionne pour moi.

--[[
%% properties
91 color
%% globals
--]]
 
local RGBW_master = 91;
local RGBW_slaves = {191,197,203};
 
function split(s, pattern, maxsplit)
  local pattern = pattern or ' '
  local maxsplit = maxsplit or -1
  local s = s
  local t = {}
  local patsz = #pattern
  while maxsplit ~= 0 do
    local curpos = 1
    local found = string.find(s, pattern)
    if found ~= nil then
      table.insert(t, string.sub(s, curpos, found - 1))
      curpos = found + patsz
      s = string.sub(s, curpos)
    else
      table.insert(t, string.sub(s, curpos))
      break
    end
    maxsplit = maxsplit - 1
    if maxsplit == 0 then
      table.insert(t, string.sub(s, curpos - patsz - 1))
    end
  end
  return t
end
 

local result = split(fibaro:getValue(RGBW_master, "color"), ',')
for i = 1, #RGBW_slaves do
  if (result[1] == "0" and result[2] == "0" and result[3] == "0" and result[4] == "0" and (tonumber(fibaro:getValue(RGBW_master, "currentProgramID")) > 0)) then
    fibaro:call(RGBW_slaves[i], "startProgram", fibaro:getValue(RGBW_master, "currentProgramID"));
  else
    fibaro:call(RGBW_slaves[i], "setColor", result[1], result[2], result[3], result[4])
  end
end

Partager ce message


Lien à poster
Partager sur d’autres sites

Tiens essaye sa je viens de l'essayer et sa fonctionne pour moi.

--[[
%% properties
91 color
%% globals
--]]
 
local RGBW_master = 91;
local RGBW_slaves = {191,197,203};
 
function split(s, pattern, maxsplit)
  local pattern = pattern or ' '
  local maxsplit = maxsplit or -1
  local s = s
  local t = {}
  local patsz = #pattern
  while maxsplit ~= 0 do
    local curpos = 1
    local found = string.find(s, pattern)
    if found ~= nil then
      table.insert(t, string.sub(s, curpos, found - 1))
      curpos = found + patsz
      s = string.sub(s, curpos)
    else
      table.insert(t, string.sub(s, curpos))
      break
    end
    maxsplit = maxsplit - 1
    if maxsplit == 0 then
      table.insert(t, string.sub(s, curpos - patsz - 1))
    end
  end
  return t
end
 

local result = split(fibaro:getValue(RGBW_master, "color"), ',')
for i = 1, #RGBW_slaves do
  if (result[1] == "0" and result[2] == "0" and result[3] == "0" and result[4] == "0" and (tonumber(fibaro:getValue(RGBW_master, "currentProgramID")) > 0)) then
    fibaro:call(RGBW_slaves[i], "startProgram", fibaro:getValue(RGBW_master, "currentProgramID"));
  else
    fibaro:call(RGBW_slaves[i], "setColor", result[1], result[2], result[3], result[4])
  end
end

Partager ce message


Lien à poster
Partager sur d’autres sites

Déjàtu as un soucis:

7 color
local RGBW_master =72;

Sa devrait être le même ID.

Partager ce message


Lien à poster
Partager sur d’autres sites

Ha quand même.

Je commençais à  me poser des questions mdr.

 

On peut passer à  autre chose :D.

Partager ce message


Lien à poster
Partager sur d’autres sites

Lol, ui, mais je vais ouvrir un topic pour ça, tjr sur les RGBW, pour de la syncro avec different actionneur, je me casse la tête sur un code depuis des semaine  :)

Partager ce message


Lien à poster
Partager sur d’autres sites

En tout cas j'enregistre celui làprécieusement...

Merci encore

Partager ce message


Lien à poster
Partager sur d’autres sites

Comment sa, tu veux que chaque RGBW puisse commander les autres ?

 

Si c'est le cas c'est pas bien difficile.

30 Secondes et je te fais le code.

Partager ce message


Lien à poster
Partager sur d’autres sites

Nan c'est parfait comme ça!

C'est un autre délire, pour une couleur différente envoyée suivant differente actions (ouverture de porte en vert, passage coulir haut en violet, etc...)

Partager ce message


Lien à poster
Partager sur d’autres sites

Je sais faire et revenir éteint ou sur une couleur définie, mais je bute sur un retour sur la couleur initiale si le bandeau etait allumé avant l'ouverture 

Partager ce message


Lien à poster
Partager sur d’autres sites

be sa c'est pas dur à  faire ;)

sa va dans l'idée de mon script d'association.

 

Be avant de faire change la couleur faut juste récupérer la valeur d'origine.

Ce script peux t'aider pour sa.

Partager ce message


Lien à poster
Partager sur d’autres sites

×