Aller au contenu
cybersquat

Création Virtual Devices Avec Un Groupe

Recommended Posts

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

Partager ce message


Lien à poster
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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
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 ;)

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut, 

 

Si tu veux vraiment écrire tous les "noms" sur tes boutons, ce serait plus joli si tu mettais moins de bouton par ligne

:60:

Partager ce message


Lien à poster
Partager sur d’autres sites

pepite oui oui,

 

je suis en mode test la, déjà  faut que ca marche lol

Partager ce message


Lien à poster
Partager sur d’autres sites

Ah ok, teste alors ;-)

pour verifier, mets un fibaro:debug...

Partager ce message


Lien à poster
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 ?

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
Partager sur d’autres sites

quel est le script de ton VD ?

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
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 !

Partager ce message


Lien à poster
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:

Partager ce message


Lien à poster
Partager sur d’autres sites

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

 

 

?

Partager ce message


Lien à poster
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 ?

Partager ce message


Lien à poster
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/

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
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 ?

Partager ce message


Lien à poster
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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

×