Aller au contenu

QuickApp Color controller


Noyde

Messages recommandés

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.

Lien vers le commentaire
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

Lien vers le commentaire
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
Lien vers le commentaire
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
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...