Aller au contenu
Krikroff

QuickApp du type com.fibaro.multiPositionSwitch

Recommended Posts

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites



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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Excellent
Merci pour ce tuto, je vais pouvoir piloter les Qubino plus proprement

Envoyé de mon M2012K11AG en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

@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é.

Partager ce message


Lien à poster
Partager sur d’autres sites

@Lazer voila une super nouvelle pour la réinjection

hâte de pouvoir tester cela

Merci mille fois

 

Modifié par flacon030

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Je pense que c'est uniquement sur un QA

Envoyé de mon BLA-L29 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

@Dragoniacs tu ne peux pas changer le type d'un module existant.

Donc il faut bien que ça soit un nouveau QuickApp, qui gère le Qubino. Comme avant en fait.

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

×