Aller au contenu

J3R3M

Membres confirmés
  • Compteur de contenus

    593
  • Inscription

  • Dernière visite

  • Jours gagnés

    8

Tout ce qui a été posté par J3R3M

  1. J3R3M

    Netatmo Welcome

    Bonsoir @Fredmas, Il existe déjà un tuto pour récupérer le flux dans la HC2 :D
  2. Bonjour, Il est possible de faire un script qui fait ce que tu souhaites relativement simplement. Je t'indique un principe simple ci-dessous pour que tu puisses creuser les différents points si besoin. Aussi, pour t'aider davantage, n'hésite pas à nous en dire un poil plus... Quel est ton capteur de mouvement? Quel type d'éclairage souhaites-tu contrôler? Créer une nouvelle scène LUA qui peut démarrer automatiquement et qui peut avoir plusieurs instances simultanées Le trigger de cette scène doit être la valeur de ton détecteur de mouvement Envoie la valeur 100% à ton éclairage À ce stade, la lumière s'allumera automatiquement dès qu'un mouvement sera détecté Il faut ensuite que des actions se passent après cet allumage. Pour délayer ces actions, deux fonctions possibles : setTimeout() et fibaro:sleep() Il est préférable d'utiliser setTimeout(), mais elle est légèrement plus complexe à mettre en place. Néanmoins, des sujets expliquent bien comment l'utiliser sur le forum. Tu crées donc une temporisation de cinq minutes À l'issue de celle-ci, tu comptes le nombre d'instances en cours de ta scène : S'il n'y en a plus qu'une, tu peux simplement tuer cette instance de scène puisqu'un nouveau mouvement a été détecté. L'autre instance s'occupe de refaire les vérifications. S'il n'y en a qu'une, aucun nouveau mouvement n'a été détecté. Tu peux diminuer l'intensité de ton éclairage à 50%, puis : Tu crées une nouvelle temporisation de cinq minutes À l'issue de celle-ci, tu comptes à nouveau le nombre d'instances en cours de ta scène : S'il n'y en a plus qu'une, tu peux simplement tuer cette instance de scène puisqu'un nouveau mouvement a été détecté. L'autre instance s'occupe de refaire les vérifications. S'il n'y en a qu'une, aucun nouveau mouvement n'a été détecté. Tu peux éteindre ton éclairage. Ta scène est finie. Rassure-toi, l'écrire toi-même prendra certainement moins de caractères que mon explication! Si tu es plus à l'aise, il est possible de faire quelque chose de bien plus optimisé, en créant une fonction LUA qui vérifiera chaque minute depuis combien de temps le capteur de mouvement n'a pas détecté de mouvement et fera les actions en conséquence.
  3. J3R3M

    pb scene philips hue

    Avec grand plaisir! C'est un forum d'entraide Effectivement, il y a beaucoup de notions sur les tables. Il y a encore quelques mois, je ne savais pas les utiliser. En tous cas, tu as en tête le principe de la feuille blanche et c'est un excellent début! Aussi, tu peux programmer en testant au fur-et-à-mesure, en ajoutant tes blocs petits à petits, ce qui te permettra de voir l'évolution de ton code et constater qu'il fait bien ce que tu souhaites. Sois positif et aie confiance en toi! Très sincèrement, je n'y connaissais rien du tout en arrivant sur ce forum. J'ai d'ailleurs posé de nombreuses questions quand je n'arrivais pas à mettre en application certaines notions de LUA. Voici un de mes premiers posts. Tu constateras que je ne comprenais vraiment pas grand chose malgré ma volonté. On a pris le temps de me trouver des solutions et de m'expliquer. Un peu plus tard, j'ai voulu creuser du côté des tables, mais je galérais un peu pour mon application, alors j'ai posté une autre question. Ensuite, j'ai voulu faire fonctionner ma Welcome de Netatmo, j'ai alors cherché sur la toile et suis tombé sur un script que j'ai voulu adapter et partager. Il y a toujours beaucoup à apprendre et il y aura toujours des personnes pour t'aider à comprendre si besoin. De mon côté, je me suis contenté de glaner les informations qui m'intéressaient sur quelques sites d'apprentissage du LUA en essayant de les mettre en application avec la domotique. En jouant, ça va certainement t'aider à comprendre Dans tous les cas, tu as déjà la bonne procédure en tête puisque tu avais fait un script quasi fonctionnel Pour tes questions sur le LUA lié à la domotique, tu peux créer de nouveaux sujets directement dans le forum HC2, en précisant dans le sujet qu'il s'agit d'une question de LUA Il y a de nombreuses personnes qui pourront t'aider ici, même à comprendre le fonctionnement d'un code si besoin
  4. J3R3M

    pb scene philips hue

    Bonjour @papaced! La première ligne déclare toutes les variables qui vont être utiles par la suite pour l'exécution du script. Ainsi, on commence par déclarer TotalTable en y stockant combien d'entrées il y a dans le tableau t. Ensuite, on crée simplement des variables avec une valeur nulle à chaque fois, que le script mettra à jour par la suite si nécessaire. Il faut effectivement déclarer ces variables avant de les utiliser. Dans le cas contraire, il y a aura une erreur puisqu'on essaiera de mettre à jour une variable qui n'existe pas. On est dans une boucle for numérique classique. Dans ces boucles, on utilise et déclare une variable au début de celles-ci. Cette ligne signifie : Cela permet de parcourir le contenu de la table en faisant évoluer la valeur de i, puisqu'on va utiliser i comme clé. Alors non Enfin, tout dépend de ce que tu souhaites faire. Tel quel, pour rajouter un élément à surveiller, il te faut simplement déclarer une nouvelle entrée dans la table t, comme au début du script : table.insert(t, {nom="Porte Sectionnelle", id=76, valeur=1, couleur="rouge", btn=16}); La partie du script dont tu parles effectue juste une analyse de la valeur de la variable RetourNombreCapteurs. Si la valeur de cette variable est égale à 1, la couleur de tes lampes sera celle précisée lors de la déclaration de ton entrée du tableau t. Si la valeur de cette variable est supérieure à 1, la couleur de tes lampes sera systématiquement rouge, t'informant visuellement que plusieurs portes sont ouvertes. Si la valeur de cette variable n'est ni égale à 1, ni supérieure à 1, on éteindra tes lampes.
  5. Je sors de nul part pour dire que j'ai abandonné. Je n'ai rien réussi à faire... Ça m'a tellement saoulé que j'ai failli commander une HC3 juste pour avoir l'impression de perdre moins de temps. J'ai ensuite eu la présence d'esprit de me dire que 500-600€ pour quelque chose que je n'utiliserai pas, c'était pas top. Le jour où il y en aura à 200€, prévenez-moi Débuguez bien ça s'il-vous-plaît, que je ne sois pas trop emm**** quand je débarquerai... En attendant, je reste avec une HC2 totalement fonctionnelle NB: Si vous avez un tuyau sans trop de prise de tête pour la simulation, promis, je m'y mettrai
  6. Je ne connais pas, mais ce type de rails peut être? https://www.zemismart.com/zemismart-smartthings-control-z-wave-motorize-curtain-with-track-customized-smart-curtains-p0181.html
  7. J3R3M

    pb scene philips hue

    C'est écrit nul part, c'est quelque chose dont je me suis rendu compte à force de faire des essais. Et cela se vérifie régulièrement J'oubliais, mais pour faire une pause au sein d'un script LUA, il faudrait que tu utilises la fonction fibaro:sleep(1000). Le temps est en millisecondes, donc 1000 pour 1 seconde Attention, il s'agit bien d'une pause. Le programme lit le code et se met en pause sur cette ligne. La suite du code sera exécutée après cette pause.
  8. J3R3M

    pb scene philips hue

    De manière générale, la HC2 ne gère pas bien du tout un enchaînement de deux mêmes actions telles que des fibaro:call. Un temps d'une seconde est nécessaire entre deux actions. C'est pour cela qu'il faut se passer des commandes qui ne sont pas utiles. Sans ce temps, certaines actions ne sont pas effectuées, zappées.
  9. J3R3M

    pb scene philips hue

    Le code que j'ai fait se base sur le tien, donc le résultat sera le même. Il faut comprendre où se situe le problème dans ta configuration. En cherchant des pannes, il faudrait que tu ailles sur la scène en question et que tu regardes le DEBUG. Tu devrais voir les messages valeur capteur = avec une valeur différente en fonction de l'ouverture de la porte, 1 puis 0 ensuite.
  10. J3R3M

    pb scene philips hue

    Il y a de nombreux site, dont beaucoup en français, qui traitent du LUA. Par exemple, rien que pour aborder la chose plus sereinement, recherche directement "Tables LUA" et les "Boucles FOR LUA", tu verras que tu comprendras très aisément ce code. Le code que j'ai fait rapidement se compose ainsi : - Création de la table t - Insertion dans cette table les valeurs que tu souhaites surveiller en y précisant le nom, l'ID du module, la valeur qui validera une action, le numéro du bouton et la couleur qui y est associée. - Une boucle FOR vérifie, pour chaque ligne du tableau si la valeur du module correspond à celle précisée lors de la création de cette ligne - Cette boucle incrémente la variable RetourNombreCapteurs de +1 dès que la condition ValeurActu == ValeurDef est remplie - Ainsi, lorsque la boucle aura terminé d'analyser toutes les entrées de la table t, la suite du code appuie sur le bouton du VD défini, en fonction de s'il y a une ou plusieurs conditions vérifiées. C'est plus simple à maintenir, car imagine que tu veuilles monitorer 50 devices. Avec ton code actuel, tu auras 50*5=250 lignes de code à écrire (même s'il s'agit de copier/coller). Avec le code que j'ai fait, tu auras simplement à rajouter une entrée dans la table t pour chaque nouveau module, donc 50 lignes au total, le restant du code restant le même, que tu aies un seul module ou 1000 En cas de modification, tu retrouveras très rapidement tes petits!
  11. J3R3M

    pb scene philips hue

    Je ne suis pas sûr de bien comprendre. Cela fait ce que tu souhaitais si la lampe s'est éteinte? Donc, tu devrais pouvoir simplement "appuyer" sur les boutons des couleurs, sans avoir à allumer la lampe à chaque fois. Donc directement : --[[ %% properties 148 value 76 value %% globals --]] local PorteEntree = fibaro:getValue(148, "value") -- valeur du capteur de porte entree fibaro:debug("valeur capteur porte entree="..PorteEntree) --affiche la valeur de ma variable1 local PorteSectionelle = fibaro:getValue(76, "value") --valeur du capteur porte sectionnelle fibaro:debug("valeur capteur porte sectionelle="..PorteSectionelle) --affiche la valeur de ma variable2 if (PorteEntree == "1") and (PorteSectionelle == "0") then fibaro:debug("alumage en bleu") fibaro:call(142, "pressButton", "20")--hue manager press Bt en bleu fibaro:debug("ok en bleu") elseif (PorteEntree == "0") and (PorteSectionelle == "1") then fibaro:debug("alumage en rouge") fibaro:call(142, "pressButton", "16")--hue manager press Bt en rouge fibaro:debug("ok en rouge") elseif (PorteEntree == "1") and (PorteSectionelle == "1") then fibaro:debug("alumage en rouge") fibaro:call(142, "pressButton", "16")--hue manager press Bt en rouge fibaro:debug("ok en rouge") else fibaro:call(142, "pressButton", "2"); -- hue manager Bt Off fibaro:debug("eteint") end Etrange, effectivement, il y a un problème chez toi alors? Jamais rencontré de problème avec Firefox, Opera et Chrome pour info
  12. J3R3M

    pb scene philips hue

    Puisque tu es dans l'apprentissage du LUA, je te fournis le code suivant, qui fera exactement la même chose que ton code actuel, mais qui aura l'avantage de pouvoir être rapidement entretenu. Je te laisse l'étudier et pourra répondre à tes interrogations si besoin --[[ %% properties 148 value 76 value --]] local t = {}; -- On crée une table qui contiendra les données à vérifier -- On insert les données table.insert(t, {nom="Porte Entrée", id=148, valeur=1, couleur="bleu", btn=20}); table.insert(t, {nom="Porte Sectionnelle", id=76, valeur=1, couleur="rouge", btn=16}); -- On vérifie les valeurs local TotalTable, RetourNombreCapteurs, RetourCouleur, RetourBtn = #t, 0, "", ""; for i=1,TotalTable do local Nom, ID, ValeurDef, Couleur, Btn = t[i].nom, t[i].id, tostring(t[i].valeur), t[i].couleur, tostring(t[i].btn); local ValeurActu = fibaro:getValue(ID, "value"); fibaro:debug("Valeur Capteur "..Nom.." : "..ValeurActu); if ValeurActu == ValeurDef then RetourNombreCapteurs = RetourNombreCapteurs+1; RetourCouleur = Couleur; RetourBtn = Btn; end end -- Actions en fonction des vérifications précédentes if RetourNombreCapteurs == 1 then fibaro:debug("Allumage en "..RetourCouleur); fibaro:call(142, "pressButton", "1"); --hue manager press Bt On fibaro:call(142, "pressButton", RetourBtn); --hue manager press Bt fibaro:debug("OK en "..RetourCouleur); elseif RetourNombreCapteurs > 1 then fibaro:debug("Allumage en rouge"); fibaro:call(142, "pressButton", "1"); --hue manager press Bt On fibaro:call(142, "pressButton", "16"); --hue manager press Bt en rouge fibaro:debug("OK en rouge"); else fibaro:call(142, "pressButton", "2"); -- hue manager Bt Off fibaro:debug("Eteint") end
  13. J3R3M

    pb scene philips hue

    Bonjour, ll faut utiliser les balises <code> qui se trouvent dans l'éditeur de message. Il est marérialisé par ces icones : </> Tu peux cliquer dessus et une fenêtre te demandera d'y insérer ton code. Dans la liste déroulante, il te suffit de sélectionner le langage utilité : LUA. De cette manière, la coloration syntaxique se fera automatiquement par rapport au langage de programmation sélectionné. Pour ton problème, je pense qu'il pourrait facilement être réglé en réduisant ton dernier pavé par un simple else : --[[ %% properties 148 value 76 value %% globals --]] local PorteEntree = fibaro:getValue(148, "value") -- valeur du capteur de porte entree fibaro:debug("valeur capteur porte entree="..PorteEntree) --affiche la valeur de ma variable1 local PorteSectionelle = fibaro:getValue(76, "value") --valeur du capteur porte sectionnelle fibaro:debug("valeur capteur porte sectionelle="..PorteSectionelle) --affiche la valeur de ma variable2 if (PorteEntree == "1") and (PorteSectionelle == "0") then fibaro:debug("alumage en bleu") fibaro:call(142, "pressButton", "1")--hue manager press Bt On fibaro:call(142, "pressButton", "20")--hue manager press Bt en bleu fibaro:debug("ok en bleu") elseif (PorteEntree == "0") and (PorteSectionelle == "1") then fibaro:debug("alumage en rouge") fibaro:call(142, "pressButton", "1")--hue manager press Bt On fibaro:call(142, "pressButton", "16")--hue manager press Bt en rouge fibaro:debug("ok en rouge") elseif (PorteEntree == "1") and (PorteSectionelle == "1") then fibaro:debug("alumage en rouge") fibaro:call(142, "pressButton", "1")--hue manager press Bt On fibaro:call(142, "pressButton", "16")--hue manager press Bt en rouge fibaro:debug("ok en rouge") else fibaro:call(142, "pressButton", "2"); -- hue manager Bt Off fibaro:debug("eteint") end Avec cette modification, la lumière sera systématiquement éteinte si aucune condition n'est respectée lors du lancement de la scène. Néanmoins, rien ne se passera si la scène n'est pas exécutée. Donc, dans la situation actuelle, si les valeurs des modules 76 et 148 n'est pas modifiée. NB : Je ne connais pas le VD Hue Manager, mais l'appui sur le bouton ON '1' est-il réellement nécessaire avant l'envoi de chaque couleur?
  14. J3R3M

    pb scene philips hue

    Bonjour @papaced, Est-il possible que tu fasses simplement un copier/coller de ton code et que tu le colles entre balises <code> ? Nos yeux te remercient d'avance Aussi, qu'est-ce qui fonctionne et ne fonctionne pas à l'heure actuelle sur ton code ?
  15. J3R3M

    VD Triggers Journaliers

    La domotique m'a permis de repousser un peu la théorie de l'aviation, ainsi que d'autres nombreuses choses que je souhaitais repousser
  16. Aurais-tu osé les diffuser portés ? J'ai vraiment réfléchi à la question... Enfin, surtout sur le modèle adulte, à vrai dire Le plus complexe a été de trouver un body, qui-plus-est classique
  17. 30mn plus tard : Mais rien de plus. Je ne me rends pas compte de la charge de travail, mais ça ne serait pas mieux de faire une VM de HC3 qu'on pourrait importer dans VMWare? J'abandonne pour ce soir, je m'autoriserai un nouvel essai demain. S'il n'est pas concluant, désolé, mais je laisserai tomber ce simulateur qui fait carrément flipper oui! Pas le choix, il faudra m'envoyer une HC3!
  18. Merci! Après une première lecture, je ne pige pas tellement le fonctionnement, ni même la mise en place. Je vais essayer de creuser et voir si j'arrive à le mettre en place
  19. Effectivement, je ne pense pas acheter de HC3 que je considère bien trop chère pour une évolution minime... Enfin, avoir plus de ressources quand la HC2 en disposait déjà de bien trop pour son utilisation... J’aimerais bien pouvoir proposer une version de ce VD pour HC3, mais la philosophie a visiblement complètement changé... S’il ne s’agissait que de remplacer des : par des ., ce serait top Je peux m’y mettre si un simulateur HC3 voit le jour, ou si on m’offre une HC3
  20. Visiblement la main loop est ok. Le changement d’icône n’est pas instantané, il se fait sur la page d’accueil, après quelques secondes (le temps que la main loop fasse la vérification).
  21. Essaie avec ce code dans la Main Loop : local ID = 11 local Etat = fibaro:getValue(ID, "value"); if Etat == "0" then fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 1002); fibaro:debug("["..fibaro:getName(ID).."] Etat = "..Etat.." - Icone 1002"); else fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 1001); fibaro:debug("["..fibaro:getName(ID).."] Etat = "..Etat.." - Icone 1001"); end
  22. Bonjour, appuie sur le bouton "Déboguer" et montre nous ce que tu as dans cette fenêtre s'il-te-plaît.
  23. Bonsoir, Alors oui, cela nécessite un peu d'adaptation du code, essaie plutôt comme cela (en remplaçant 999 par l'ID de ton Smart Implant) local Etat = fibaro:getValue(999, "value"); if Etat == "0" then fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 1037) else fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 1036) end
  24. J3R3M

    Deuxieme switch

    Le port SFP permet l'échange et la communication comme un port RJ45, avec un plus grand débit. En théorie, ce qu'il est possible de faire au niveau d'une interface éventuellement commune pour deux périphériques connectés en SFP, il est normalement possible de le faire également en RJ45 Mais effectivement, sans aucun doute, s'il s'agit de la même marque, ça sera plus simple à gérer dans tous les cas, sans le moindre doute, si besoin de gérer il y a.
×
×
  • Créer...