jojo Posté(e) le 2 janvier 2015 Signaler Partager Posté(e) le 2 janvier 2015 De nombreuses personnes de la communauté continuent de se poser des questions par rapport aux variables, Virtual Devices, … Berale24 a écrit un tuto récapitulatif très instructif à ce sujet : Mode Block - Un Peu De Tout. Je propose ici une variante, qui permet d'utiliser les scènes avec Google Calendar : cfr tuto de Pinou : Google Calendar Vers Hc2/hcl Pour plus d'info concernant les commandes GET dans les Virtual Device : Requêtes Http /get Sur Hcl Description du besoin / de la fonctionnalité On a une variable avec (deux) valeurs possibles. Exple : Vacances = Oui/Non On affiche dans une Virtual Device la valeur actuelle de la variable On peut modifier la valeur de la variable via la Virtual Device OU via le calendrier Google Tout ceci fonctionne pour HCL et HC2, ainsi que depuis des smartphone (testé avec Androà¯d, je suppose que iOS le peut également) Création de la variable Panels -> Variables Panel Créer la variable Vacances avec deux valeurs possibles Oui et Non Création de la Virtual Device Toutes les Virtual Devices que j'ai créées pour afficher / modifier la valeur de mes variables, je les ai associées à une pièce Variables dans la section Section Virtuelle J'ai commencé toutes mes Virtual Devices associées à des variables par Var_ Champ IP Address : entrez l'IP de votre box adorée. Le port est 80. Laissez l'icône par défaut des Virtual Devices. Elle sera remplacée automatiquement (voir la suite) par l'icône représentative de la valeur de la variable. Ainsi, si vous voyez cette icône, c'est que la box n'a pas complètement terminé son redémarrage. Dans les paramètres avancés, créez autant de boutons que de valeurs possibles de la variable. Pour chaque bouton, donnez-lui un ID représentatif de la fonction du bouton / de la valeur de la variable associée. (l'ID ne peut pas avoir d'espace ou de _) La commande pour chaque bouton est : GET<space>/api/sceneControl?id=<id>&action=start HTTP/1.10x0D0x0AHost:<IP><space>0x0D0x0AAuthorization:<space>Basic<space><user:pwd inBase64><space>0x0D0x0A0x0D0x0A NB1 : remplacer <space> par 1 espace,<id> par l'ID de la scène qui mettra à jour la variable (voir la suite), <IP> par l'IP de votre Box NB2 : la syntaxe doit être SCRUPULEUSEMENT respectée, sous peine de non fonctionnement NB3 : cette syntaxe a été validée pour HCL v 3.593, elle peut différer pour les autres versions du firmware de la HCL ou pour la HC2. NB4: Base64 encoder : https://www.base64encode.org/ A chaque boutons, nous avons associé une icône représentative de la valeur de la variable. Donc ici, lorsqu'on appuiera sur le bouton Oui, la scène (id = 153, chez moi) démarrera, scène qui mettra la variable Vacances à Oui et la Virtual Device affichera l'icône associée. Scènes de mise à jour de la variable Il faut créer 1 scène par valeur possible de la variable (ou par bouton de la Virtual Device). Mes scènes commencent par le nom de la variable, puis sa valeur. Elles sont assignées à la pièce représentative de la variable (ici une pièce virtuelle Vacances). C'est l'ID de ces scènes qui est référencé dans la Virtual Device. C'est ici que mon approche est différente de celle de Berale24, car les scènes créées pourraient également être appelées par le script de Pinou en fonction du Calendrier Google. Scènes de mise à jour de la Virtual Device Il faut créer 1 scène par valeur possible de la variable (ou par bouton de la Virtual Device). Mes scènes commencent par Var_ puis le nom de la variable, puis sa valeur. Elles sont assignées à la pièce virtuelle Variables. Il faut cocher "Active Scene" et "Start when Home Center 2 starts" Cette scène tourne "en continu" pour vérifier la valeur de la variable et mettre à jour la Virtual Device en conséquence. (indispensable que cela se fasse automatiquement après un restart de la Box ou une sauvegarde de a Virtual Device) Et je vous jure que tout cela est très WAF : même mon épouse l'utilise, et n'a rien trouvé à redire … 1 7 Lien vers le commentaire Partager sur d’autres sites More sharing options...
MasterBT Posté(e) le 3 janvier 2015 Signaler Partager Posté(e) le 3 janvier 2015 Très bon tuto qui fait une bonne piqure de rappel ou permet de montrer aux nouveaux les fonctions de la HCL, merci à toi d'avoir pris le temps de faire une belle mise en page Afin de rendre ce tuto parfait, il serait bien de rappeler le lien de avoir son mdp en base 64. Avis personnel sur la question: - on doit pouvoir mettre à jour une variable directement depuis le Virtual Device en put avec un truc comme ça (je dois avoir une légère erreur dans le code, car celui la ne marche pas) PUT http://127.0.0.1:11111/api/globalVariables HTTP/1.10x0D0x0A0x0D0x0A Content-Length: 27 {"name":"TEST","value":"1"} Cela permettrait de diminuer le nombre de scène. Bref c'est juste pour dire d'avoir les différentes possibilités. Ta solution marche au poil et tout tourne rond! La communauté te remercie! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Moicphil Posté(e) le 3 janvier 2015 Signaler Partager Posté(e) le 3 janvier 2015 Merci pour le tuto Jojo Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 3 janvier 2015 Auteur Signaler Partager Posté(e) le 3 janvier 2015 Très bon tuto qui fait une bonne piqure de rappel ou permet de montrer aux nouveaux les fonctions de la HCL, merci à toi d'avoir pris le temps de faire une belle mise en page Afin de rendre ce tuto parfait, il serait bien de rappeler le lien de avoir son mdp en base 64. Avis personnel sur la question: - on doit pouvoir mettre à jour une variable directement depuis le Virtual Device en put avec un truc comme ça (je dois avoir une légère erreur dans le code, car celui la ne marche pas) PUT http://127.0.0.1:11111/api/globalVariables HTTP/1.10x0D0x0A0x0D0x0A Content-Length: 27 {"name":"TEST","value":"1"} Cela permettrait de diminuer le nombre de scène. Bref c'est juste pour dire d'avoir les différentes possibilités. Ta solution marche au poil et tout tourne rond! La communauté te remercie! Master BT, Par rapport à ta "remarque" concernant le PUT directement depuis la Virtual Device (histoire de réduire le nombre de scènes), j'ai fait référence au tuto du Berale24. Comme décrit, cette alternative permet également d'utiliser Google Calendar. Je rajouté le lien vers le convertisseur en base64 Lien vers le commentaire Partager sur d’autres sites More sharing options...
MasterBT Posté(e) le 3 janvier 2015 Signaler Partager Posté(e) le 3 janvier 2015 Effectivement, j'étais passé à coté de son tuto, merci de me l'avoir fait remarquer. Très bon boulot, je bookmark Lien vers le commentaire Partager sur d’autres sites More sharing options...
Berale64 Posté(e) le 3 janvier 2015 Signaler Partager Posté(e) le 3 janvier 2015 Merci Jojo pour ce très bon sujet. Les commandes GET et PUT commencent àbien s'éclaircirent, ce qui était loin d'être le cas il y a quelques mois quand j'ai commencé sur la HCL. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sakkhho Posté(e) le 4 janvier 2015 Signaler Partager Posté(e) le 4 janvier 2015 merci pour ce tuto, qui permet de comprendre un peu mieux comment ca marche tu peux poster les icônes en meme temps ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
MasterBT Posté(e) le 4 janvier 2015 Signaler Partager Posté(e) le 4 janvier 2015 Bonjour Sakkhho, Tu trouvera une grande quantité d'icon ici: http://www.domotique-fibaro.fr/index.php/gallery/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sakkhho Posté(e) le 4 janvier 2015 Signaler Partager Posté(e) le 4 janvier 2015 J'avais bien regardé avant mais sauf erreur de ma part ils n'y sont pas. edit : c'est dimanche matin et je suis pas réveillé ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 4 janvier 2015 Auteur Signaler Partager Posté(e) le 4 janvier 2015 Sakkhho, Je n'ai aucun talent graphique, alors toutes mes icônes je les ai pompées de notre forum préféré. Beaucoup se trouvent dans la gallerie (cfr MasterBT). D'autres se trouvent dans ce sujet : http://www.domotique-fibaro.fr/index.php/topic/1588-banque-icones-hc2-et-hcl/page-14?hl=%20banque%20%20icones Lien vers le commentaire Partager sur d’autres sites More sharing options...
latoupie Posté(e) le 17 janvier 2015 Signaler Partager Posté(e) le 17 janvier 2015 @jojo merci pour ce tuto que je viens de suivre pas à pas mais je ne vois pas à quel moment tu indiques le ou les modules que tu veux commander ? Pour ma part, je veux faire le test avec un wall plug qui allume une lampe ou qui l'éteint (pour commencer) Où dois je mettre l'iD du WP ? merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
MasterBT Posté(e) le 17 janvier 2015 Signaler Partager Posté(e) le 17 janvier 2015 Ce tuto sert plutôt à mettre à jour une variable avec un virtual device, exemple si tu veux avoir une sorte de retour d'état sur un device non Z-Wave, ou une Variable Rythme de Vie Exemple: Bouton 3 position Semaine, Week end, Vacance. Quand tu cliquera dessus, tu pourra "dire" la box dans quelle rythme de vie tu es. Ou bien tu as un appareil qui n'est pas en Z-wave mais tu veux que la HCx soit au courant de l'état de ce device, tu te débrouille donc pour mettre à jour ta variable Etat_VoletCuisine (par exemple). Mais pour commander un WP, ne t'embête pas à passer par la. C'est un module reconnu par la box, elle connait l'état du device, et tu peut le commander directement ou via une scène si nécessaire. Lien vers le commentaire Partager sur d’autres sites More sharing options...
latoupie Posté(e) le 17 janvier 2015 Signaler Partager Posté(e) le 17 janvier 2015 Pour le wp c'est juste àtitre d exemple. L exercice du jour consistant àcréer un bouton pour couper ou allumer plusieurs modules d un coup. Lien vers le commentaire Partager sur d’autres sites More sharing options...
MasterBT Posté(e) le 17 janvier 2015 Signaler Partager Posté(e) le 17 janvier 2015 Ah donc, le mieux c'est que tu crée une scène par exemple avec ce que tu veux allumer ou éteindre, et tu pointe la scène avec ton virtual device. Donc plutôt dans ce tuto la: http://www.domotique-fibaro.fr/index.php/topic/2675-requ%C3%AAtes-http-get-sur-hcl/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
latoupie Posté(e) le 17 janvier 2015 Signaler Partager Posté(e) le 17 janvier 2015 ok merci je viens de faire mon premier virtual device c'est presque la fête !!! 1* entre le moment ou je déclenche via le VD et le moment où la lampe s'allume, c'est super long !!! 2* j'ai des déclenchements intempestifs !!! c'est la vrai boite de nuit ici <<<<<<faut faire qq chose, c'est pas WAF du tout je post je que j'ai fais, si vous avez une idée, il doit manquer qq chose (il y a bien sur une autre scène pour arrêter la lampe) merci EDIT déclenchement toutes les minutes sur une durée de 6 secondes environ Lien vers le commentaire Partager sur d’autres sites More sharing options...
latoupie Posté(e) le 17 janvier 2015 Signaler Partager Posté(e) le 17 janvier 2015 ah et une autre question : comment intégrer à ce VD, plusieurs modules, par exemple, la totalité de mes lampes ? est-ce possible ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
MasterBT Posté(e) le 17 janvier 2015 Signaler Partager Posté(e) le 17 janvier 2015 1ére leçon: Toujours faire les test dans son coin pour éviter d’énerver madame, sinon tu pars avec un gros handicap (j'en sais quelque chose.. S.a.r.a.h. pendant un temps coupé la Télé de madame et j'ai perdu beaucoup de points ) Pour ta scène, il ne faut pas cocher scène active si tu veux pas qu'elle s'active toute seul (selon les conditions que tu as mis avant le Alors, ou met une autre condition bidon), car la tu as réglé pour qu'elle s'allume tout le temps. Pour ton virtual device, tu peut très faire un truc comme ça: 1er bouton: Arrête tout (et donc une scène qui fait cela) 2éme bouton: Allume que la lampe 1 et 2 (et donc une scène qui fait cela) 3éme bouton: Allume toutes les lamps, (et donc une scène qui fait cela) Et ainsi de suite, pour commencer c'est effectivement un bon exercice. Hésites pas à consulter les tuto pour les scènes: http://www.domotique-fibaro.fr/index.php/topic/53-cr%C3%A9er-une-sc%C3%A8ne-simple-en-mode-bloc/ http://www.domotique-fibaro.fr/index.php/topic/557-exemples-de-sc%C3%A8nes-mode-bloc/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 17 janvier 2015 Auteur Signaler Partager Posté(e) le 17 janvier 2015 en complément aux recommandations de MasterBT : dans tes Virtual Devices (VD) tu ne faits que des démarrage de scène : donc tu démarres une scène qui allume tes lampes, tu démarres une autre scène qui arrête tes lampes. C'est tout àfait différent que si tu arrêtes la première scène (celle qui démarre les lampes). En fait arrêter une scène, n'est utile que si une scène dure longtemps, c'est àdire qu'après son démarrage, il y a des actions àeffecter avec un certain délais Lien vers le commentaire Partager sur d’autres sites More sharing options...
latoupie Posté(e) le 17 janvier 2015 Signaler Partager Posté(e) le 17 janvier 2015 ok donc un virtual device commande obligatoirement une scène et non un module. Et bien, ça ne marche plus chez moi j'ai enlevé scène active <<<< rien j'ai mis une autre condition bidon <<<<rien non plus j'ai redémarré la box <<<< toujours rien Pourtant j'ai commencé avec du simple Lien vers le commentaire Partager sur d’autres sites More sharing options...
MasterBT Posté(e) le 17 janvier 2015 Signaler Partager Posté(e) le 17 janvier 2015 Je penses qu'il faut reprendre la base, A la base le virtual device à était mis en place pour communiquer avec les appareil non Z-wave ou non reconnu par la box domotique, en gros pour balancer des requête url à ce qui est possible de contrôler de cette manière (Hue, Ipx800, autre box domotique, etc...) mais on peut également faire pointer le module virtuel vers la HCL elle même afin de lui envoyer des ordres quand on à pas de script LUA par exemple (HC2). Dans ton cas, Au début tu veux allumer ou arrêter plusieurs lampes. Donc pour y arriver on créer une scène pour arrêter toutes les lampes et une scène pour allumer toutes les lampes. Il faut construire les scènes de la façon suivantes: [Une condition par exemple de jour de la semaine,] [ alors ] [Allumer lampe 1] [Et] [Allumer lampe 2] et une autre scène avec Stop au lieu de annuler. Dans ces 2 scènes tu décoche le [scene active] afin que la box domotique ne passe pas son temps à regarder les conditions afin de lancer la scène. En gros ta scène ne sera lancer que quand tu l’appellera et non avec sa condition et débutera directement à la ligne [alors] Ensuite tu fais un virtual device avec 2 boutons. Le 1er doit pointer la scène allumer les lampes et le 2éme Arrêter les lampes. Lien vers le commentaire Partager sur d’autres sites More sharing options...
latoupie Posté(e) le 17 janvier 2015 Signaler Partager Posté(e) le 17 janvier 2015 certes....... les scènes fonctionnent bien seules = j'allume et j'éteins En revanche, elles ne fonctionnent pas via le virtual device, c'est comme ci il ne commandait rien (je n'ai rien changé par rapport à mes screenshot sauf scene active qui est décoché Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 17 janvier 2015 Auteur Signaler Partager Posté(e) le 17 janvier 2015 as-tu bien spécifié l'IP de ta box dans l'écran général de ta VD ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
latoupie Posté(e) le 17 janvier 2015 Signaler Partager Posté(e) le 17 janvier 2015 @jojo, oui avec le port 80 j'ai beau tout démonter et tout refaire, nada ... comprends pas c'est bien ça qu'il faut mettre avec GET ? GET http://192.168.0.16/api/sceneControl?id=50&action=start HTTP/1.10x0D0x0AHost:192.168.0.16:80 0x0D0x0AAuthorization: Basic <id:pw> 0x0D0x0A0x0D0x0A (<id:pw> id et pw sont codés en base64) Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 17 janvier 2015 Auteur Signaler Partager Posté(e) le 17 janvier 2015 La commande pour chaque bouton est : GET<space>/api/sceneControl?id=<id>&action=start HTTP/1.10x0D0x0AHost:<IP><space>0x0D0x0AAuthorization:<space>Basic<space><user:pwd inBase64><space>0x0D0x0A0x0D0x0A NON, le début de ton GET n'est pas bon, lis bien ce que j'avais écris au début Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 17 janvier 2015 Auteur Signaler Partager Posté(e) le 17 janvier 2015 donc tu dois laisser tomber dans ton GET le http://IP => tout le brol avant /api/sceneControl... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés