Aller au contenu
Noyde

QuickApp Color controller

Recommended Posts

Bonjour,

 

J'ai un souci avec les QuickApp de type color controler.

Lorsque j'utilise le slider de l'app mobile ou les couleurs favorites je n'arrive pas à récupérer le code "rgbw" complet, seulement le "r".

 

image.png.c6b0cd0602a8b0d0cb5b44ef5ca592fe.png

 

Par contre si je fait un call:

fibaro.call(134, "setColor", "204,75,194,0")

image.png.5701fcf02a8209a7b113b7d92e19ffdf.png

 

Avez-vous une idée?

 

Merci d'avance.

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai refait un QA tout propre,

 

voila le code généré à la creation:

 

-- Color controller type should handle actions: turnOn, turnOff, setValue, setColor
-- To update color controller state, update property "value" with integer 0-99

function QuickApp:turnOn()
    self:debug("color controller turned on")
    self:updateProperty("value", 99)
end

function QuickApp:turnOff()
    self:debug("color controller turned off")
    self:updateProperty("value", 0)    
end

-- Value is type of integer (0-99)
function QuickApp:setValue(value)
    self:debug("color controller value set to: " .. tostring(value))
    self:updateProperty("value", value)    
end

-- Color is type of string, with format "r,g,b,w". 
-- Eg. relaxing forest green, would look like this: "34,139,34,150"
function QuickApp:setColor(color)
    self:debug("color controller color set to: " .. color)
    self:updateProperty("color", color)    
end

-- To update controls you can use method self:updateView(<component ID>, <component property>, <desired value>). Eg:  
-- self:updateView("slider", "value", "55") 
-- self:updateView("button1", "text", "MUTE") 
-- self:updateView("label", "text", "TURNED ON") 

-- This is QuickApp inital method. It is called right after your QuickApp starts (after each save or on gateway startup). 
-- Here you can set some default values, setup http connection or get QuickApp variables.
-- To learn more, please visit: 
--    * https://manuals.fibaro.com/home-center-3/
--    * https://manuals.fibaro.com/home-center-3-quick-apps/

function QuickApp:onInit()
    self:debug("onInit")
end

 

image.png.73058a69e257265c1dfc097b643558cc.png

 

image.png.3658caf2bee9cc8f5042908eace13b25.png

Partager ce message


Lien à poster
Partager sur d’autres sites
QuickApp function: turnOn ()
    self: debug ("color controller turned on")
    self: updateProperty ("value", 99)
end

QuickApp function: turnOff ()
    self: debug ("color controller turned off")
    self: updateProperty ("value", 0)    
end

- Value is of integer (0-99)
QuickApp function: setValue (value)
    self: debug ("color controller value set to:" .. tostring (value))
    self: updateProperty ("value", value)    
end

- Color is type of format r, g, b, w. 
- Eg. relaxing forest green, would look like this: 34,139,34,150
QuickApp function: setColor (r, g, b, w)
    local color = table.concat ({r, g, b, w}, ",")
    self: debug ("color controller color set to:", color)
    self: updateProperty ("color", color)     
end

QuickApp function: onInit ()
    self: debug ("onInit", self.name)
    self: turnOn ()
end

 

Modifié par jang
  • Like 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Super, merci beaucoup ca fonctionne! :)

 

Autre soucis avec ce QA,

 

sur l'app mobile il y a 2 sliders, un pour la couleur et un pour intensité:

 

image.png.30aa1cfe49577bc2407c3400c45a35ea.png

 

 

Mais interaction des 2 appellent la methode setColor. <_<

 

pour moi le 2eme devrait appeler setValue

 

Modifié par Noyde

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, ils diminuent l'intensité en abaissant les valeurs RGB ...

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci beaucoup Jang pour ces réponses, 3 jours que je galère avec ce code RGB !! je vais pouvoir convertir en hexa et envoyer ça à mon bandeau led Yeelight via Jeedom!! :)

Partager ce message


Lien à poster
Partager sur d’autres sites

×