Bugsounet Coding

    • Register
    • Login
    • Search
    This Forum is now reserved to registred users!

    Création de nouvelles fonctionnalités

    General Discussion
    3
    19
    88
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • V
      venditti69500 Donators last edited by

      Bonjour à vous @bugsounet et à tous. J’entame mon premier Fork sur github et j’ai choisis MMM-SELFIESHOT qui m’a l’air d’un module basic pour commencer.
      J’ai beaucoup étudié vos conceptions de modules, et la liaison pont avec Gateway que vous en faite est juste extra.
      Dans un premier j’ai remplacé l’icône déclencheur qui était en font awesome par une image de mon répertoire. Cela fonctionne parfaitement, maintenant j’ajoute une fonction qui actualise l’icône (futur possibilité de choisir une classe d’icône par type d’événement) et la problématique, j’ai bien un retour graphique d’un carré tactile qui déclenche le selfie, mais pas de retour de l’image.
      J’ai aussi par ailleurs ajouter la class “flash” à l’icône, le but étant de se rapprocher de votre icon detector.(plusieurs CSS en fonction d’un statuts. Pouvez vous s’il vous plaît jetter un œil à ce bout de code si quelques chose vous chagrine.

      getDom: function() {
        if (this.config.displayButton) {
          var wrapper = document.createElement("div");
          var getTimeStamp = new Date();
      
          var icon = document.createElement("img");
          icon.id= "SELFIE-ICON";
          icon.style.backgroundImage = "url("+this.url+")"
          icon.classList.add("flash");
          icon.src = "modules/MMM-Selfieshot/resources/" +this.url + "?seed=" + getTimeStamp;
      
          var session = {};	
          icon.addEventListener("click", () => this.shoot(this.config, session))			
          wrapper.appendChild(icon)
      //icon.addEventListener("click", () => this.disabled(payload)
        }
        return wrapper
      },
      
      V 1 Reply Last reply Reply Quote 0
      • V
        venditti69500 Donators @venditti69500 last edited by venditti69500

        PS: Ceci à également été ajouté

        start: function() {
          this.session = {};
          this.selfieIcons = {
        	'1': 'resources/master.png',
        	'2': 'resources/birthday1.png',
        	'3': ressources/birthday2.png',
        	'4': 'resources/halloween1.png',
        	'5': 'resources/halloween2.png',
        	'6': 'resources/halloween3.png',
        	'7': 'resources/halloween4.png',
          };
          if (this.config.iconStyle!= '') {
            this.url = this.selfieIcons[this.config.iconStyle]
          };
        }
        
        1 Reply Last reply Reply Quote 0
        • bugsounet
          bugsounet Main Coder last edited by

          '3': ressources/birthday2.png', devrait etre '3': 'ressources/birthday2.png',

          apres il faut voir le code entièrement, je ne peux pas dire comme cela 🙂

          V 1 Reply Last reply Reply Quote 0
          • V
            venditti69500 Donators @bugsounet last edited by

            @bugsounet je comprend, oui je vois que des caracteres se sont perdu en route, dont une partie de code… et plus de retour tactile de l’elements icon sur la page.
            pour simplifier, j’ai corrigé quelques lignes et j’ai creé une branch Dev dont vous aurez acces directement :
            link text
            en vous souhaitant tres bon week-end, toute mon admiration.

            1 Reply Last reply Reply Quote 0
            • bugsounet
              bugsounet Main Coder last edited by

              je vais jetter un coup d’oeil.
              Je pensais recoder/simplifier/corriger un partie afin de faire d’intégrer sur GW
              (encore un EXT- …)
              /!\

              • ton repertoire resources n’est pas créé par defaut
              • tes fichiers par defaut n’existent pas
                –> cela va generer une erreur (a toi de check si ils existent ou pas).
                Il faut penser a toute eventualités, surtout dans le fichiers qui genere l’affichage car un crash de ce fichier … fait crash TOUS les modules et MM
                (le node_helper ne va pas faire crash MM lui !)

              Apres … si le coeur d’en dit on peux faire cette EXT a deux (si tu veux apprendre !)

              1 Reply Last reply Reply Quote 0
              • V
                venditti69500 Donators last edited by

                Aille exacte car j’ai changer d’emplacement local du dépôt avant de commit.
                Mais j’accepte très volontiers votre proposition.

                1 Reply Last reply Reply Quote 0
                • bugsounet
                  bugsounet Main Coder last edited by

                  en fait, je pensais faire un module qui utilise la webcam.
                  Il pourrait permettre:

                  • faire des selfies
                  • l’utilisation comme detecteur de mouvement

                  donc utilisation de Gateway / EXT-Screen / MMM-GoogleAssistant

                  1 Reply Last reply Reply Quote 0
                  • V
                    venditti69500 Donators last edited by venditti69500

                    Une telle intégration serait fantastique, je vois sur vos codes que même les class d’affichage de l’icône dépendent de l’état du status de l’assistant. Je pensais donc quelque chose de similaire intégré, class icon flash, et hidden au lancement de la photo.
                    Aussi je pensais utiliser EXT-SCREEN - EXT-PIR EXT PAGES, afin d’avoir un screensaver de diapo cool, quand EXT_SCREEN-WAKEUP est détecté, changement de page et affichage de l’icône Selfie. Mais je ne sais pas comment une webcam pourrait détecte une présence, j’utilise pour l’instant une PiCam basique.
                    Et pour finir, je comptais modifier certaines parties de code afin que la selfie.result affiche le résultat sans lancer node mailer directement, mais plutôt un popup de 2 icône, l’un pour recommencer la fonction selfie shoot, l’autre pour continuer et donc envoi Telegrambot, node mailer…

                    1 Reply Last reply Reply Quote 0
                    • bugsounet
                      bugsounet Main Coder last edited by

                      oui on peut toucher a tous les plugins … mais generalement GW s’occupe de tout et c’est son but !

                      Apres, oui effectivement, je ne suis pas une bible de codage mais c’est vrai que j’utilise pas mal de fois des partie de codes qui vont bien !
                      En ce qui concerne une webcam pourrait détecte une présence t’inquiete 🙂

                      A bugsounet 2 Replies Last reply Reply Quote 0
                      • A
                        alex69 @bugsounet last edited by

                        @bugsounet oui Gateway fait vraiment un pont génial entre vos modules.

                        1 Reply Last reply Reply Quote 1
                        • bugsounet
                          bugsounet Main Coder @bugsounet last edited by

                          @bugsounet said in Création de nouvelles fonctionnalités:

                          En ce qui concerne une webcam pourrait détecte une présence t’inquiete

                          J’ai fini de le coder a 99% !

                          [MOTION] EXT-Motion Version: 1.0.0 rev: 221030
                          [MOTION] Initialized!
                          [MOTION] Started!
                          [30.10.2022 15:50.51.007] [LOG]   [MOTION] Detected Motion, score: 171
                          [30.10.2022 15:51.12.924] [LOG]   [MOTION] Detected Motion, score: 152
                          [30.10.2022 15:51.13.973] [LOG]   [MOTION] Detected Motion, score: 119
                          [30.10.2022 15:51.17.915] [LOG]   [MOTION] Detected Motion, score: 237
                          [30.10.2022 15:51.18.934] [LOG]   [MOTION] Detected Motion, score: 215
                          [30.10.2022 15:51.19.974] [LOG]   [MOTION] Detected Motion, score: 604
                          

                          bien sur, il utilise EXT-Screen afin d’envoyer les infos en cas de detection
                          maintenant … il va faloir mettre les regles sur GW

                          pourquoi ?
                          car il va falloir dire a GW d’éteindre le plugin motion afin d’utiliser le plugin selfies (on ne peux pas utiliser 2X la camera en meme temps)

                          1 Reply Last reply Reply Quote 0
                          • V
                            venditti69500 Donators last edited by

                            Ah oui d’accord, c’était rapide, mais quels seraient les fonctions de ce module ? Un EXT-PIR 2.0? Il serait complémentaire de selfieshotshot? Il aurait les même capacité ?

                            1 Reply Last reply Reply Quote 0
                            • bugsounet
                              bugsounet Main Coder last edited by bugsounet

                              EXT-Motion est

                              • un plugin
                              • +/- comme EXT-Pir mais avec une webcam
                              • fonctionne en complement de EXT-Screen
                              • independant de selfies
                              1 Reply Last reply Reply Quote 0
                              • bugsounet
                                bugsounet Main Coder last edited by

                                EXT-Selfies est pratiquement pret aussi !
                                Simplifications de config et corrections de bugs ont été appliqué !
                                Il va, bien sur,permettre de prendre des selfies avec la webcam

                                Gateway est pret egalement avec ajout de nouvelles regles:

                                • Lors d’une prise de selfies et si Motion est utilisé : eteindre motion en premier
                                • Lorsque le selfie est terminé: redémarrer motion si besoin

                                Je vais créé un plugin qui va permettre de visualiser/traiter les selfies prises
                                faire un slideshow en plein ecran ou en fenetre selon la position defini en config (+/- comme EXT-GooglePhotos)
                                envoyer les selfies prise directement sur google photos

                                A 1 Reply Last reply Reply Quote 0
                                • A
                                  alex69 @bugsounet last edited by

                                  @bugsounet Je vais créé un plugin qui va permettre de visualiser/traiter les selfies prises est ce que traiter = choisir enregistrer ou reprendre le selfie?

                                  1 Reply Last reply Reply Quote 0
                                  • bugsounet
                                    bugsounet Main Coder last edited by

                                    je ne sais pas encore comment je vais organiser cela

                                    • enregistrement sur le cloud (via google photo) en manuel ? en automatique ? [via un nouveau plugin]
                                    • je pensais modifier le popup de l’affichage du selfie afin d’ajouter [valider/refuser/réessayer]
                                    V 2 Replies Last reply Reply Quote 0
                                    • V
                                      venditti69500 Donators @bugsounet last edited by

                                      Quelle ingéniosité. Je suis justement en train de créer cette fonction dans MMM-Selfieshot, “aftershowLastPhoto” qui renverrai un popup valider ou refuser :

                                      • Valider => sendmail (qui est une commande existante)

                                      • Refuser => relance la commande shoot.
                                        Je rame un peu, Aussi je m’interroge à voir comment garder la session en cours active jusque là car la commande shoot renvoie delete this session

                                      1 Reply Last reply Reply Quote 0
                                      • V
                                        venditti69500 Donators @bugsounet last edited by

                                        @bugsounet je pensais quelques choses comme ça :

                                        makeChoice function () {
                                        	   if (this.config.debug) console.log ("Waitting choice");
                                        	   if (option.hasOwnProperty("withChoice")) {
                                        	       var wrapper = document.createElement("div");
                                        	       var shootIcon = document.createElement("div");
                                                shootIcon.id = "SHOOT-ICON";
                                                shootIcon.classList.add("shown");
                                        	       shootIcon.style.backgroundImage = "url("+this.logoRetry+")";
                                                shootIcon.addEventListener("click", () => 
                                        		this.session[result.session.key] = null;
                                        		delete this.session[result.session.key];
                                        		this.shoot(this.config, session));
                                        		      var printIcon = document.createElement("div");
                                        		      printIcon.id = "PRINT-ICON";
                                        		      printIcon.style.backgroundImage = "url("+this.logoPrint+")";
                                        	       	printIcon.addEventListener("click", () => this.sendMail(data));
                                        				}
                                        				wrapper.appendChild(shootIcon);
                                        				wrapper.appendChild(printIcon);
                                        	   }
                                        	   return wrapper
                                         }
                                        	   
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • bugsounet
                                          bugsounet Main Coder last edited by

                                          Valider => sendmail (qui est une commande existante)

                                          j’ai supprimer sendmail, car j’ai prevu de faire autrement

                                          @venditti69500 : je t’ai envoyer une invite collaborateur hier pour EXT-Selfies [regarde tes mails] et voir les message privé !

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post
                                          Powered by NodeBB | @bugsounet ©2022