Aller au contenu

Associer Synchroniser 2 Modules Fibaro Rgbw?


Messages recommandés

Posté(e)
Bonjour,
 
j'ai 2 modules Fibaro RGBW contrôlant des rubans led, et j'aimerai faire fusionner les 2 zones d'éclairage pour avoir une seul interface de contrôle de couleur identique à  celui qui permet de contrôler 1 seul module

Qui connait un tuto sur le net ou qui serait comment faire?

j'ai beau essayer de mettre une croix sur le 2ème module RGBW dans associations groupe mais rien n'y fait c'est comme si je cochais dans le vide

Merci
Posté(e)

Perso, j ai fais mon script pour les synchroniser.

Mais faut savoir qu'il y a un soucis.

En effet lors du démarrage d'un programme, entre plusieurs modules il y a un écart de l'ordre de 0.5 secondes et ce décallage s'amplifie au fil du temps.

Posté(e)

pour l'instant impossible d'associer de module RGB donc je aimerai  bien du decalage si ca marchait

 

je veux pouvoir piloter sur un seul emplacement d'icon dans imperihome la gestion des 2 modules RGB en meme temps moi :(

Pourquoi dans groupe rien ne bouge sauf si je coche HC2 qui prend le chiffre 1 et rien d'autre ne marche au double enregistrement

 

Qu'est ce que j'ai fait de mal pour mériter ca

 

je suis pas le seul de cette planette a avoir besoin d'associer 2 modules RGBW

Posté(e)

Alors voici mon code, j'espère que je ferais pas d'errer car il dans un script complet d'association.

--[[
%% properties
91 color
%% globals
--]]

local startSource = fibaro:getSourceTrigger();
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

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
Posté(e)

Yo!

J'avoue que c'est une vrai galère ce paramètre avec les rgbw!

Je viens de voir le code je laisse shad (qui doit être en train de te rédiger sa réponse) t'expliquer.  :D

 

Nan mais recommence un peu avant(c'est triste de l'ecrire comme ça, on a l'impression d'attendre un miracle!).

ça doit marcher,

même si là  je viens de le refaire en sens inverse (décoche du module esclave et cochage home center 2) et bah le numéro du module est resté  :angry:  au premier essais (de 2 clic sur sauvegarde). Pourtant je me suis retrouvé en haut de page comme si la box avais pris l'ordre (ce qui doit arrivé au 2de clic, au premier coup on reste à  la même hauteur).

 

C'est très aléatoire comparé aux paramètres des autres modules si ça peu te rassurer, c'est peu être pas le moment de t'ecrire que c'est une bonne box  :D

Posté(e)

Quand je copie ton script dans une scène lua

j'ai ce message en rouge

 

[ERROR] 22:15:12: line 35: attempt to index global 'startSource' (a nil value)

Posté(e)

Salut Shad,

 

Est-ce que ton soucis de décalage n’apparaît qu'avec les programmes (de couleur c'est ça)!?

Avec les slid et les preset il n'y en a pas?

Posté(e)

Voilà  je savais que j'avais oublier un truc.

 Met sa dans les local en haut

local startSource = fibaro:getSourceTrigger();

 

Tu dois modifier l'id RGBW_master par celui que tu veux utiliser.

Et le slaves pour les autres.

 

Il faut que tu le colles dans une scène en lua.

Posté(e)

Désolé mais je demarre le script maintenant il n'y a plus erreur mais aucun message

après quand j'allume mon module rgbw master l'autre ne s'allume pas du tout avec

Posté(e)

j'ai juste modifié ici

ca

  1. local RGBW_master = 91;
  2. local RGBW_slaves = {191,197,203};

par ca

  1. local RGBW_master = 35;
  2. local RGBW_slaves = 42;

c'est tout ce à  faire non?

Posté(e)

Ok je tente ca ce soir dès que je rentre du taff

 l'attente va être longue :))

 

Si le script marche, il suffira de le lancer une seul fois pour que quand je commande le master il fasse la meme chose sur le slave (et à  chaque démarrage de la box, il faudra relancer le script)

et j'aurai juste à  stopper le script si je veux plus que le master commande le slave, c''est bien ca?

?

PS:j'ai également ecrit dans le bugtracker pour leur dire que quand on coche les modules dans les groupes ca ne prend pas en compte la case cochée

Posté(e)

Tu n'as rien a faire sur le script. Il tourne en tache de ton fond.

Dès que tu changes les lumières du RGB master , le ID(91 pour moi) color le détecte et modifie les valeurs des autres RGB.

Posté(e)

Bonjour à  vous,

 

Là  je suis sur une autre installe que la mienne et je tente ton code Shad,

Dès que je change l'état du master, j'ai droit à  un 403 acces forbittenn,

une idée du pourquoi

(bien sà»r avant cette tentative et pour tester, j'ai réessayer la manipe dans les paramètre association tel que je l'ai moi même décrit comme fonctionnant à  la maison..ben ça marche pas!!!). 

×
×
  • Créer...