Aller au contenu

Messages recommandés

Posté(e)

Le support du nouveau type "com.fibaro.multiPositionSwitch" est disponible depuis la version beta 5.092.19

 

Il est basé sur le type standard "binarySwitch" et supporte les rôles suivants: Chauffage; Lumière; Interrupteur et le commun "Autre appareil"

 

image.png.08b142b7cfc74ceb920f89d073a5e607.png

 

Nous avons donc dans le json

 

image.png.9917965f5c094ef78e119bf6b2e4e848.png

 

Il expose dans ses propriétés un tableau nommé "availablePositions" permettant d'initialiser le QuickApp et mettre à disposition du contrôleur les informations nécessaires à son utilisation dans les scènes.

 

image.png.1c45af833f340bd967b2e5bc40fca738.png

 

La position en cours est persisté et exposée dans

 

image.png.395e673dae55ec97449f0f364b3fc5d3.png

 

Les actions disponibles sont setPosition, toggle, turnOff, turnOn

 

image.png.311971e1f8696d0e6e838c086e111258.png

 

Voici quelques explications sur comment le mettre en œuvre.

 

Tout d'abord il est nécessaire d'initialiser le tableau avec les positions possibles, pour cela un self:updateProperty en phase d'initialisation sera nécessaire.

 

Ex.

 

--! Command table
QuickApp.command = {
    ['confort'] = {
        mode = 'Confort', 
        value = 99
    },
    ['confort1'] = {  
        mode = 'Confort -1 °C',
        value = 50
    },
    ['confort2'] = { 
        mode = 'Confort -2 °C',
        value = 40
    },
    ['eco'] = { 
        mode = 'Eco / Réduit',
        value = 30
    },
    ['hg'] = { 
        mode = 'Hors gel',
        value = 20
    },
    ['off'] = {
        mode = 'Arrêt / Délestage',
        value = 0
    }
}

-- A placer dans la méthode de config du QuickApp à l'init
local availablePositions = {
  {label = self.command['confort'].mode, name = 'confort'},
  {label = self.command['confort1'].mode, name = 'confort1'},
  {label = self.command['confort2'].mode, name = 'confort2'},
  {label = self.command['eco'].mode, name = 'eco'},
  {label = self.command['hg'].mode, name = 'hg'},
  {label = self.command['off'].mode, name = 'off'}
}

self:updateProperty("availablePositions", availablePositions) 

Cette configuration donne le résultat suivant:

 

image.png.52fc3bac44a6bc339ba0c419cefe3247.png

 

Afin de pouvoir traiter les demandes, il est nécessaire d'implémenter les actions associées au type "binarySwitch" et celle dédiée au multiPositionSwitch

 

Par exemple:

 

-----------------------------------------------
-- ACTIONS
-----------------------------------------------

--! [public] set switch position
--!@return none
--!@example: fibaro.call(0, "setPosition", "confort")
function QuickApp:setPosition(value)
    assert(type(value) == "string", "position variable is not a string")
    self:dispatch(value)
end
--! [public] turn ON - Confort
--!@return none
--!@example: fibaro.call(0, "turnOn")
function QuickApp:turnOn()
    self:dispatch('confort')
end
--! [public] turn OFF - Arrêt
--!@return none
--!@example: fibaro.call(0, "turnOff")
function QuickApp:turnOff()
    self:dispatch('off')
end
--! [public] toggle state
--!@return none
--!@example: fibaro.call(0, "toggle")
function QuickApp:toggle()
    local position = getPosition();
    if (position ~= nil) then
        if (position == 'off') then
            self:dispatch('confort')
        else
            self:dispatch('off')
        end
    end
end
--! [public] wakeUpDeadDevice - WakeUp device
--!@return none
--!@example: fibaro.call(0, "wakeUpDeadDevice")
function QuickApp:wakeUpDeadDevice()

end

 

Amusez-vous bien :)

 

  • Like 5
  • Thanks 1
  • Krikroff a mis en évidence ce sujet
Posté(e)

C'est fantastique, merci :60:

 

Enfin un QuickApp multi-position pour le Kamasutra Qubino Fil Pilote :D

 

Cette fonction self:dispatch(), c'est quoi ?

 

 

  • Like 4
Posté(e)



Kamasutra Qubino Fil Pilote
 
Cette fonction self:dispatch(), c'est quoi ?
 
 


C'est vrai que l'un ou l'autre procure de la chaleur

Envoyé de mon BLA-L29 en utilisant Tapatalk

  • Like 1
  • Haha 2
Posté(e)

Cool [mention=133]lazer[/mention] tu vas pouvoir créer des child device de type chauffage fil pilote pour ton quickapp XP800 V4 pour le module X-4FP

Posté(e)

Hum, c'est une bonne idée et je n'avais pas du tout pensé à ça @MAM78, mais @flacon030 va te détester, car je viens de finir il y a 30 minutes la dernière version du nouveau QA... avec, ô surprise, la remonté d'injection car j'ai finalement réussi à l'intégrer dans le QA :)

Du coup je suis obligé de reporter la publication du QA et d'ajouter les child devices multiPosition :D Ou alors plus raisonnable je partage en l'état et j'ajoute ça après....

  • Like 1
Posté(e)

@lazer il y a pas d’urgence, mais ce serait cool quand même.

 

Ce serait pour piloter un sèche serviette de salle de bain sur demande. Ce radiateur peut fonctionner soit en chauffage central (eau), soit électrique. Notamment en demi-saison où lorsque le chauffage central est arrêté.

Posté(e)

Est-ce qu'on peut définir ce template directement sur l'id d'un module Qubino ou uniquement sur un QA ?

Envoyé de mon M2012K11AG en utilisant Tapatalk

×
×
  • Créer...