Krikroff Posté(e) le 24 janvier 2022 Signaler Posté(e) le 24 janvier 2022 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 5 1
Lazer Posté(e) le 24 janvier 2022 Signaler Posté(e) le 24 janvier 2022 C'est fantastique, merci Enfin un QuickApp multi-position pour le Kamasutra Qubino Fil Pilote Cette fonction self:dispatch(), c'est quoi ? 4
mprinfo Posté(e) le 24 janvier 2022 Signaler Posté(e) le 24 janvier 2022 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 1 2
MAM78 Posté(e) le 24 janvier 2022 Signaler Posté(e) le 24 janvier 2022 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
Lazer Posté(e) le 24 janvier 2022 Signaler Posté(e) le 24 janvier 2022 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 Ou alors plus raisonnable je partage en l'état et j'ajoute ça après.... 1
Dragoniacs Posté(e) le 24 janvier 2022 Signaler Posté(e) le 24 janvier 2022 Excellent Merci pour ce tuto, je vais pouvoir piloter les Qubino plus proprement Envoyé de mon M2012K11AG en utilisant Tapatalk
fredokl Posté(e) le 24 janvier 2022 Signaler Posté(e) le 24 janvier 2022 Super tuto @Krikroff. Merci, on va enfin pouvoir mieux gérer les Qubino! Cool! 1
MAM78 Posté(e) le 24 janvier 2022 Signaler Posté(e) le 24 janvier 2022 @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é.
flacon030 Posté(e) le 25 janvier 2022 Signaler Posté(e) le 25 janvier 2022 (modifié) @Lazer voila une super nouvelle pour la réinjection hâte de pouvoir tester cela Merci mille fois Modifié le 25 janvier 2022 par flacon030
Dragoniacs Posté(e) le 25 janvier 2022 Signaler Posté(e) le 25 janvier 2022 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
mprinfo Posté(e) le 25 janvier 2022 Signaler Posté(e) le 25 janvier 2022 Je pense que c'est uniquement sur un QAEnvoyé de mon BLA-L29 en utilisant Tapatalk
Lazer Posté(e) le 25 janvier 2022 Signaler Posté(e) le 25 janvier 2022 @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. 1
jjacques68 Posté(e) le 25 janvier 2022 Signaler Posté(e) le 25 janvier 2022 excellent, merci pour le partage !
Messages recommandés