Aller au contenu

Création Virtual Devices Avec Un Groupe


cybersquat

Messages recommandés

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 :)

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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 ;)

Lien vers le commentaire
Partager sur d’autres sites

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

 

 

post-2281-0-73426600-1421782358_thumb.jpg

post-2281-0-38260200-1421782574_thumb.jpg

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

post-2281-0-65995400-1421789664_thumb.jpg

post-2281-0-71009800-1421789665_thumb.jpg

Lien vers le commentaire
Partager sur d’autres sites

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 !

Lien vers le commentaire
Partager sur d’autres sites

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:

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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/

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

LUA, lol je suis pas programmeur, j'y comprends rien, il me faut des desseins :D 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 ?
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...