cybersquat Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 Bonjour à tous, J'ai créer un virtual device sur ma HC2, cela permet de regrouper au sein d'un même bloc les informations ou commandes de différents modules qui ne fonctionne pas pour le moment. Un bouton = Maison Un bouton = Extérieur Un bouton = Nuit Un bouton = Vacances La chose est que j'appui sur me mode extérieur qu'il puisse prendre en considération certaines commandes ou scènes, cela est-il possible (un peu comme sur la home live) Merci de vos lumières à tous
Krikroff Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 Pour cela tu dois utiliser une variable globale que tu nommes par exemple "mode", ensuite dans le code de ton bouton tu passes une valeur àla variable, exemple "exterieur". Tu pourras ensuite utiliser cette variable dans les scènes et le vd.
cybersquat Posté(e) le 20 janvier 2015 Auteur Signaler Posté(e) le 20 janvier 2015 salut et merci de ton retour rapide, pour créer la variable je dois aller dans les scènes ? désolé je suis débutant dans la chose Merci ALAIN
cybersquat Posté(e) le 20 janvier 2015 Auteur Signaler Posté(e) le 20 janvier 2015 autant pour moi :s dans panneau Quand je reviens sur mon bouton de mon virtual device, j'ai Etiquette ou j'ai mis Maison et ID ou j'ai le Button11 Est-ce dans Butto11 que je dois mettre cela ? Merci
zeldoi5 Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 Oui et non, tu ne modifies pas Boutton11 (ou tu changes son label !), mais tu mets un script : pour chaque bouton correspondant à tes différents modes, tu fais un petit script LUA du genre : fibaro:setGlobal("MODE", "1") ou fibaro:setGlobal("MODE", "Maison") ... et ainsi de suite Si tu es bloqué, fais signe
cybersquat Posté(e) le 20 janvier 2015 Auteur Signaler Posté(e) le 20 janvier 2015 Bonsoir Zeldoi5 Merci de ton conseil J'ai intégrer de cette façon les dans mes boutons lors de la création du virtual device, regarde voici une image de ceux que j'ai effectué, dis moi ceux que tu en penses. Ensuite voila ceux que ça donne, et l'idée est que quand j'appui sur un des boutons (ex: je sort de chez moi je vais au travail, je clique sur le bouton 'absent' et il pourrait enclencher certains modules (détecteur de porte) et quand je suis chez moi avec le bouton 'maison' le détecteur de porte n'est pas actif...) Voila un peu les idées lol
pepite Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 Salut, Si tu veux vraiment écrire tous les "noms" sur tes boutons, ce serait plus joli si tu mettais moins de bouton par ligne
cybersquat Posté(e) le 20 janvier 2015 Auteur Signaler Posté(e) le 20 janvier 2015 pepite oui oui, je suis en mode test la, déjà faut que ca marche lol
pepite Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 Ah ok, teste alors ;-) pour verifier, mets un fibaro:debug...
cybersquat Posté(e) le 20 janvier 2015 Auteur Signaler Posté(e) le 20 janvier 2015 pépite, j'ai refais comme il faut, le truc c'est que je ne sais pas comment cela se relie en faite. Quand je clique sur n'importe quel bouton, se passe rien, bref j'y comprends rien comme d'hab mais je vais avancer quand même lol pour verifier, mets un fibaro:debug... hummm en francais ?
jojo Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 pour reprendre la très bonne idée de KriKroff, tu peux reprendre le tuto de Berale24 (http://www.domotique-fibaro.fr/index.php/topic/3126-mode-block-un-peu-de-tout/) pour mettre àjour la variable. Ensuit, il n'y a plus qu'àfaire des scènes en fonction de la valeur de la variable
cybersquat Posté(e) le 20 janvier 2015 Auteur Signaler Posté(e) le 20 janvier 2015 merci à tous, pas simple pas simple, j'essai de faire des essais sur les scènes mais il me faut du temps car ça marche pas trop ça va venir et j'apprécie votre aide
cybersquat Posté(e) le 20 janvier 2015 Auteur Signaler Posté(e) le 20 janvier 2015 re, j'ai écouté vos conseils la scène créer fonctionne, voici une image afin d'avoir un visuel! (c'est un test) lorsque j'appui sur mon icon (nuit) il ne se passe rien alors qu'il devrait éteindre mon wall plug (salon) Je vois pas ou est mon erreur, sachant qu'une fois régler, le scénario prendra de l'ampleur Merci de votre aide
cybersquat Posté(e) le 20 janvier 2015 Auteur Signaler Posté(e) le 20 janvier 2015 script ? j'ai simplement ca pour chaque bouton fibaro:setGlobal("MODE", "maison") fibaro:debug fibaro:setGlobal("MODE", "absent") fibaro:debug etc... heu j'ai oublié quelque chose ?
jojo Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 je ne sais pas (je suis trop jeune en HC2), par contre ce que Berale24 proposait dans son tuto marchait sur HCL (et donc surement aussi sur HC2) est différent. Essaye pour voir
zeldoi5 Posté(e) le 20 janvier 2015 Signaler Posté(e) le 20 janvier 2015 Bonsoir Zeldoi5 Merci de ton conseil J'ai intégrer de cette façon les dans mes boutons lors de la création du virtual device, regarde voici une image de ceux que j'ai effectué, dis moi ceux que tu en penses. Ensuite voila ceux que ça donne, et l'idée est que quand j'appui sur un des boutons (ex: je sort de chez moi je vais au travail, je clique sur le bouton 'absent' et il pourrait enclencher certains modules (détecteur de porte) et quand je suis chez moi avec le bouton 'maison' le détecteur de porte n'est pas actif...) Voila un peu les idées lol Salut cybersquat, attention, tu n'as pas cliqué sur "code lua" pour les scripts de tes boutons. Dans le main loop, tu peux faire un fibaro:debug(fibaro:getGlobalValue("MODE")); pour voir si ta variable globale évolue/est modifiée BOnne soirée Edit : après pour ta scène, j'aime vraiment pas les scènes graphiques faites par fibaro... rien ne vaut, à mes yeux, le codage en LUA, plus clair et plus compréhensible !
cybersquat Posté(e) le 20 janvier 2015 Auteur Signaler Posté(e) le 20 janvier 2015 Salut cybersquat, attention, tu n'as pas cliqué sur "code lua" pour les scripts de tes boutons. Dans le main loop, tu peux faire un fibaro:debug(fibaro:getGlobalValue("MODE")); pour voir si ta variable globale évolue/est modifiée BOnne soirée Edit : après pour ta scène, j'aime vraiment pas les scènes graphiques faites par fibaro... rien ne vaut, à mes yeux, le codage en LUA, plus clair et plus compréhensible ! re, lorsque je clique sur démarrer selon ton conseil j'ai ca, DEBUG] 22:48:26: [DEBUG] 22:48:29: [DEBUG] 22:48:32: [DEBUG] 22:48:35: [DEBUG] 22:48:38: [DEBUG] 22:48:41:
zeldoi5 Posté(e) le 21 janvier 2015 Signaler Posté(e) le 21 janvier 2015 Hummm Tu peux regarder aussi dans le menu des variables (panneau/variables) la valeur... et si tu mets tant le main loop : fibaro:debug("Valeur de variable "..globalefibaro:getGlobalValue("MODE")); ?
al1_fibaro Posté(e) le 21 janvier 2015 Signaler Posté(e) le 21 janvier 2015 Tu as oublié de cocher "code lua"
cybersquat Posté(e) le 21 janvier 2015 Auteur Signaler Posté(e) le 21 janvier 2015 all_fibaro le code lua était déjà coché :s par contre zeldoi5, fibaro:debug("Valeur de variable "..globalefibaro:getGlobalValue("MODE")); tu peux le mettre que dans ton module, dans les panneaux/variable on peut pas l'intégrer ça ?
zeldoi5 Posté(e) le 21 janvier 2015 Signaler Posté(e) le 21 janvier 2015 Cybersquat : il faut que mettes le debug dans le main loop (ou boucle principale) .. en dessous des boutons. J'ai comme toi, un VD qui me permet de changer le status (ou bouton P/A/R : Présence/Absence/Repos) dont la valeur (1/2 ou 3) est changée par 3 boutons distincts. J'ai un main loop (ou boucle principale) pour loger au cas ou les différentes valeurs et changer les icônes (mais c'est accessoire : tu peux le faire par les boutons): local status = ""; if( tonumber(fibaro:getGlobalValue("PRESENCE")) == tonumber("1")) then status = "Présent"; fibaro:call(67,"setProperty","currentIcon","58"); --Réapplication icone Présence en "présent" end if( tonumber(fibaro:getGlobalValue("PRESENCE")) == tonumber("2")) then status = "Absent"; fibaro:call(67,"setProperty","currentIcon","59"); --Réapplication icone Présence en "absent" end if( tonumber(fibaro:getGlobalValue("PRESENCE")) == tonumber("3")) then status = "Repos"; fibaro:call(67,"setProperty","currentIcon","60"); --Réapplication icone Présence en "repos" end if( tonumber(fibaro:getGlobalValue("PRESENCE")) == tonumber("0")) then status = "Inconnu"; fibaro:call(67,"setProperty","currentIcon","63"); --Réapplication icone Présence en "ampoule" end fibaro:debug(" Mode "..status); fibaro:sleep(60*1000); La variable PRESENCE peut être remplacée par MODE pour toi Perso, les icônes que j'utilise sont : Présence http://www.google.fr/imgres?imgurl=http%3A%2F%2Ficons.iconarchive.com%2Ficons%2Fartua%2Fmac%2F512%2FHome-icon.png&imgrefurl=http%3A%2F%2Fwww.iconarchive.com%2Fshow%2Fmac-icons-by-artua%2FHome-icon.html&h=512&w=512&tbnid=CS7_X8vP1sLqfM%3A&zoom=1&docid=l-4U-gsRHdKU1M&ei=Us2_VI2VD8PwUqrngrAF&tbm=isch&iact=rc&uact=3&dur=1622&page=1&start=0&ndsp=43&ved=0CDQQrQMwBg Absence http://www.domotique-fibaro.fr/index.php/gallery/image/2488-at-work/ Repos http://www.domotique-fibaro.fr/index.php/gallery/image/2487-warning/
cybersquat Posté(e) le 21 janvier 2015 Auteur Signaler Posté(e) le 21 janvier 2015 hello zeldoi5 merci de ton aide j'ai fais un débug et j'obtiens ceci, j'imagine que cela fonctionne, maintenant il faut que je fasse des scénarios en conséquence, je vais tester le mode nuit avec une scène toute bête pour commencer afin de savoir déjà si cela fonctionne correctement ... et une scène maison pour demain matin etc, qu'en penses tu ? Alain [DEBUG] 18:00:01: nuit[DEBUG] 18:00:01: Mode
zeldoi5 Posté(e) le 21 janvier 2015 Signaler Posté(e) le 21 janvier 2015 Ca me semble bon ça Bon, tu peux mettre en commentaire ton code dans ta main loop maintenant Pour les scénarii, je ne peux que te conseiller de te mettre au LUA : personnellement, je ne suis arrivé à rien avec le mode scènes Veux tu un exemple de code sur lequel je travaille ?
cybersquat Posté(e) le 21 janvier 2015 Auteur Signaler Posté(e) le 21 janvier 2015 LUA, lol je suis pas programmeur, j'y comprends rien, il me faut des desseins comme les enfants lol Oui vas y montre moi ca voila le code modifié de mon côté fibaro:debug(fibaro:getGlobalValue("mode")); local status = ""; if( tonumber(fibaro:getGlobalValue("MODE")) == tonumber("1")) then status = "maison"; fibaro:call(67,"setProperty","currentIcon","58"); --Réapplication icone Présence en "présent" end if( tonumber(fibaro:getGlobalValue("MODE")) == tonumber("2")) then status = "absent"; fibaro:call(67,"setProperty","currentIcon","59"); --Réapplication icone Présence en "absent" end if( tonumber(fibaro:getGlobalValue("MODE")) == tonumber("3")) then status = "nuit"; fibaro:call(67,"setProperty","currentIcon","60"); --Réapplication icone Présence en "repos" end if( tonumber(fibaro:getGlobalValue("MODE")) == tonumber("0")) then status = "vacance"; fibaro:call(67,"setProperty","currentIcon","63"); --Réapplication icone Présence en "ampoule" end fibaro:debug(" Mode "..status); fibaro:sleep(60*1000); Mince je dois modifier pour les icons par contre non ?
Messages recommandés