Rechercher dans la communauté
Affichage des résultats pour les étiquettes 'multipositionswitch'.
1 résultat trouvé
-
multipositionswitch QuickApp du type com.fibaro.multiPositionSwitch
Krikroff a posté un sujet dans Support
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" Nous avons donc dans le json 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. La position en cours est persisté et exposée dans Les actions disponibles sont setPosition, toggle, turnOff, turnOn 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: 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