Aller au contenu

Affichage État D'une Variable


Patbob

Messages recommandés

Bonjour à  tous,

Désolé si la question a déjà  été posée, mais le forum est assez touffu, et pas trouvé de réponse à  ma question...

 

Tout nouveau dans le monde de la HCLite fraîchement reçue, je me lance dans les scènes  ^_^

 

Pour le moment, je "m'amuse" avec un détecteur de mouvement 3 en 1 FGMS-001 et une prise de courant Wall Plug FGWPE-101.

 

J'ai donc réalisé une scène "basique" où j'allume une lampe pendant 45 secondes quand le détecteur de mouvement voit passer quelqu'un devant son oeil. Tout fonctionne correctement, mais j'aimerais bien que lorsque je suis chez moi, cette scène soit désactivée, et que je puisse l'activer lorsque je quitte le logement.

Pour cela évidemment, il faut aller sur la scène et cocher ou décocher "scène active", mais ça n'est pas très pratique.

 

Grâce à  plusieurs posts et tutos trouvés sur ce forum très instructif :13: , j'ai confectionné un périphérique virtuel à  2 boutons "Dedans" et "Dehors" couplée à  une variable "dedans_dehors" qui peut prendre la valeur "dedans" ou "dehors", et cette variable incluse dans ma scène de détection de mouvement me permet donc de mettre cette scène en route ou non.

 

Donc tout va bien.. Sauf que rien ne m'indique dans l'interface WEB  "tableau de bord" (La Maison) de la HCL quel est l'état de cette variable.

Comment puis-je afficher quelque part si je suis en mode "dehors" ou en mode "dedans"?

 

Pas très ergonomique tout ça !

L'idéal serait de pouvoir afficher en permanence mes 2 boutons "Dedans" et "Dehors" et que le bouton "activé" change de couleur.. mais ils restent tous les 2 avec caractères blancs sur fond noir  :huh:

 

Merci d'avance pour vos suggestions!

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Patbob,

 

as tu voté pour moi ici ?

 

 http://www.domotique-fibaro.fr/index.php/topic/3545-membre-du-mois-de-f%C3%A9vrier/

 

Alors je t'engage à  le faire sans tarder :)

 

Pour ton problème, as tu essayé avec le GPS ?

tu entres dans la zone = dedans

tu sors de la zone = dehors

Lien vers le commentaire
Partager sur d’autres sites

Merci latoupie ! 

pour le vote, je viens juste d'arriver sur le forum, alors laisse moi quelques jours pour me faire une idée  ;)

Pour le GPS, pourquoi pas. Mais si moi je suis dehors et que ma femme est toujours à  la maison, ça va pas le faire ! .... et je ne sors pas toujours de chez moi avec mon téléphone dans la poche  :rolleyes:

De plus, les scènes avec l'utilisation du GPS n'ont pas l'air de fonctionner correctement..

http://www.domotique-fibaro.fr/index.php/topic/235-sc%C3%A9narios-bas%C3%A9s-sur-le-gps/page-2

 

Et de toute manière, je n'aurai toujours aucune indication de l'état de ma variable sur la page WEB de la HCL.

Lien vers le commentaire
Partager sur d’autres sites

Merci Jojo pour ta réponse,

j'avais bien vu tes tutos et c'est d'ailleurs d'eux que je me suis inspirés pour faire mes variables et mes scènes: notamment http://www.domotique-fibaro.fr/index.php/topic/3166-virtual-devices-variables/ et tout fonctionne parfaitement.

Par contre, je ne vois pas comment je peux avoir une indication de la valeur de ma variable. Comment savoir si je suis en mode "dehors" ou "dedans" ?

Lien vers le commentaire
Partager sur d’autres sites

et bien, dans ce tuto, tu regardes la section "Scènes de mise àjour de la Virtual Device" : l'icône change en fonction de la valeur de la variable.

relis bien, ça marche, c'est ce dont j'abuse pour faire cela chez moi

Lien vers le commentaire
Partager sur d’autres sites

.. et tu fais bien d'abuser!! car effectivement ça marche! Je n'avais pas pensé à  affecter une icône pour chaque valeur de variable  :o et qu'ensuite chacune s'afficherait en fonction de la valeur.

Merci pour ton aide!

 

Dernière question (pour le moment!), peut-on garder affichés en permanence les 2 boutons "dedans" et "dehors" sur la page de la HCL? Actuellement, ce n'est pas très pratique. Je dois aller sur mon Virtual Device et cliquer sur l'icone des 4 petites flèches qui pointent vers l'extérieur pour faire apparaître mes 2 boutons au milieu de l'écran.

Je n'ai pas pu mettre ma copie d'écran... apparemment une insertion d'image sur ce forum se fait via une url? pas possible d'envoyer directement une image?

Lien vers le commentaire
Partager sur d’autres sites

Tu peux aussi créer un bouton principal qui change la valeur de la variable comme ce qui suit :

Si variable "dedans_dehors" est égale à"dehors" alors "dedans_dehors" prend la valeur "dedans"

Si variable "dedans_dehors" est égale à"dedans" alors "dedans_dehors" prend la valeur "dehors"

Comme ça ton bouton principal inverse la valeur de ta variable "dedans_dehors" àchaque fois que tu cliques dessus.

Je ne sais pas si c'est possible sur la HCL, mais sur la HC2 je mets àjour la valeur d'un label au lieu de changer l'icône.

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Bonjour JossAlf

Merci pour cette réponse très intéressante en effet.

Déjà , l'aide apportée par Jojo pour mes 2 boutons et le changement d'icône m'a bien aidé, mais ce serait l'idéal de n'avoir qu'un seul bouton qui switche entre les 2 modes à  chaque clic, mais je ne vois pas comment faire avec ma HCL?

 

Je ne vois pas quoi mettre dans la scène pour switcher d'un coup les 2 états.

Je peux faire :

Si variable "dedans_dehors" est égale à  "dehors" alors "dedans_dehors" prend la valeur "dedans"

mais je ne peux pas aller plus loin et ajouter à  la suite:

Si variable "dedans_dehors" est égale à  "dedans" alors "dedans_dehors" prend la valeur "dehors"

car pas possible de faire un 2ème test de valeur sur ma variable "dedans_dehors". L'icône de condition ne contient pas "==", mais seulement "="

Peut-être alors lancer une 2ème scène à  partir de la fin de la 1ère avec un "ou" en condition?

 

Petite question: comment faites-vous pour ajouter une image à  vos posts? Pour moi, quand je veux en insérer une, on me demande une url et pas le chemin de mon fichier que j'ai sur mon pc..

Lien vers le commentaire
Partager sur d’autres sites

à‡a progresse !

J'ai créé un module avec un bouton unique qui appelle une 1ère scène qui switche l'état "dehors" vers l'état "dedans", puis à  la fin de cette scène, je mets un "OU" qui appelle une 2ème scène qui switche l'état "dedans" en état "dehors".

Evidemment ces 2 scènes sont en mode Inactif et ne sont lancées que par le bouton.

 

Quand je clique sur mon bouton unique, j'ai bien ma wall plug qui passe de On à  Off et inversement  :60:

Par contre, pas fiable à  100% car par moment, il n'y a pas de changement d'état de la lampe... peut-être un paramétrage de la prise Wall Plug à  affiner ?

Lien vers le commentaire
Partager sur d’autres sites

Merci Did pour l'info.

 

Donc j'essaie:

La 1ère scène:

post-3136-0-24934900-1423414365_thumb.jpg

 

et la 2ème appelée par la 1ère:

post-3136-0-90454400-1423414403_thumb.jpg

 

Il y a certainement des améliorations à  apporter car le basculement "dedans" vers "dehors" (2ème scène) ne se fait pas systématiquement. La Wall Plug reste allumée et je dois cliquer à  plusieurs reprises pour qu'enfin elle s'éteigne.

 

Mon scénario est le suivant: mode "dedans" la Wall plug s'allume, et elle s'éteint en mode "dehors".

Lien vers le commentaire
Partager sur d’autres sites

il y a qqch que je ne comprends pas dans ta première scène.

Après le "Alors", tu ne devrais pouvoir que mettre différentes actions liées par en "et". Quelle serait la logique de mettre un "ou" ?

 

Si "A" je fais "B" ou "C" ? Comment peut-il savoir s'il faut faire "B" ou "C" ?

Lien vers le commentaire
Partager sur d’autres sites

Oui tu as raison. J'ai complètement zappé le fait que la HCL ne propose pas la fonction ELSE et j'ai mis ce que j'ai trouvé, c'est à  dire un OU... qui ne sert qu'à  tourner en rond!

 

Donc, je fais un "dehors" qui devient "dedans" puis à  nouveau redevient "dehors" donc ça ne va marcher seulement que dans le cas du 2ème script "dedans" devient "dehors".

 

Il faudrait pouvoir faire:

Si variable "dedans_dehors" est égale à  "dehors" alors "dedans_dehors" prend la valeur "dedans"

ELSE (ou SINON)
variable "dedans_dehors"  prend la valeur "dehors"

 

Mais on ne peut pas car SINON n'existe pas  :( C'est frustrant!

Lien vers le commentaire
Partager sur d’autres sites

@jojo : 

j'utilise ca dans une scène qui gère mes télécommandes. Du coup avec 4 boutons j'ai 8 scènes différentes. Voix un bout du code : ( le module 12 est une prise Everspring). 

if ( tonumber(ButtonPressed) == 1) then
 local MaVariable=fibaro:getValue(12,'value')
    if (MaVariable=='0')then
    fibaro:call(12, "turnOn") 
    else
    fibaro:call(12, "turnOff") 
    end
end

@Patbot :

si dedans-dehors == dehors

Alors dedans-dehors = dedans

else (y a else sur HCL ?)

dedans-dehors = dehors

fin

 

 

desole je suis sur tablette et je ne peux par regarder sur ma HCL en mode bloc...

Lien vers le commentaire
Partager sur d’autres sites

Bon alors tu fais 2 scènes :

La première ->

si dedans-dehors == dehors

Alors dedans-dehors = dedans

La seconde :

si dedans-dehors == dedans

Alors dedans-dehors = dehors

Tu crées un module virtuel qui va lancer les 2 scènes (avec son bouton principal).

Lien vers le commentaire
Partager sur d’autres sites

Oui.. c'est bien ce que j'ai fait cet après midi (voir mes cop d'écran ci-dessus),

 

Mais le souci c'est que si au début la variable est à  "dehors",  la scéne 1 va la mettre à  "dedans" et  quand on arrive sur la 2ème scène, celle-ci va mettre la variable sur "dehors" !

Donc on se retrouve au point de départ: la variable est à  "dehors" comme au début de la scène 1.

 

Donc, si la scène 1 a fait son travail et passé de "dehors" à  "dedans", si pas possible de faire un "exit" à  la fin de la scène 1 sans lancer la scène 2, impossible de swapper correctement la variable en sortie du processus car la scène 2 va remettre la variable en "dehors".

Bref, c'est inextricable sans commande "exit" ou "else" à  la fin de la scène 1...!

Lien vers le commentaire
Partager sur d’autres sites

Bon...

Et si tu utilises une variable supplémentaire ?

Ton MV lance 2 scènes :

Scène 1 :

Si dedans-dehors == dedans

Alors vartest = 1

Scène 2 :

Si dedans-dehors == dehors

Alors vartest = 0

Lancement des scènes 3 et 4

Scène 3 :

Si vartest == 1

Alors dedans-dehors = dehors

Scène 4 :

Si vartest == 0

Alors dedans-dehors = dedans

Ca roule là?

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...