Bugsounet Coding

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

    Unsolved Et si on codait (sans erreur) !

    General Discussion
    2
    38
    42
    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.
    • A
      adel51 last edited by

      Bonjour,
      dans les recipes, il y a des commandes.
      Donc par exemple, si je dis Jarvis TV France2
      il me lance la TV sur cette chaine.
      Est il possible, depuis un nouveau module à moi, demander en ligne de code d exécuter cette commande (un truc du genre : this.sendNotification(“EXT_FREEBOXTV-PLAY”, { payload: “France2” }); )?

      Autre question : depuis le node helper, j ai une erreur lorsque j essaie de faire un des appels suivants : this.sendNotification… ou this.sendSocketNotification… !

      voici le genre d erreur :
      [13.02.2023 12:50.14.919] [ERROR] Whoops! There was an uncaught exception…
      [13.02.2023 12:50.14.928] [ERROR] ReferenceError: sendNotification is not defined
      at Class.initialize (/home/rpi/MagicMirror2/modules/ATO-MM1_CMD_MM2/node_helper.js:61:9)
      at Class.socketNotificationReceived (/home/rpi/MagicMirror2/modules/ATO-MM1_CMD_MM2/node_helper.js:26:14)
      at Socket.<anonymous> (/home/rpi/MagicMirror2/js/node_helper.js:108:11)
      at Socket.emit (node:events:513:28)
      at Socket.emitUntyped (/home/rpi/MagicMirror2/node_modules/socket.io/dist/typed-events.js:69:22)
      at /home/rpi/MagicMirror2/node_modules/socket.io/dist/socket.js:614:39
      at process.processTicksAndRejections (node:internal/process/task_queues:78:11)
      [13.02.2023 12:50.14.929] [ERROR] MagicMirror² will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
      [13.02.2023 12:50.14.930] [ERROR] If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues

      merci d avance de votre aide
      Adel

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

        1. this.sendNotification(“EXT_FREEBOXTV-PLAY”,“France2”)
          -> le payload attend du texte mais pas un objet
          -> texte => valeur unique
          -> objet => plusieurs valeurs
        2. this.sendNotification est uniquement valable dans le core mais pas dans le node_helper
          -> permet de dialoguer avec les autres modules (selon le protocole defini par le module qui lira la notification)
          this.sendSocketNotification permet le dialogue entre le core -> node_helper et également entre node_helper -> core

        Notes:
        le node_helper: permet de faire les calculs / recuperation externe d’info (api / xml / img/ …) [ne crashera pas MM² en cas d’erreur]
        le core: permet l’affichage du module, et faire les calculs a la volée si besoin
        /!\ il fait essayer de faire le minimum de calcul afin de minimiser les chances crashs ou vraiment cerner ce que l’on veux faire !
        -> si le core crash… on crash MM²
        -> exemple:

        • si crash: les autre modules aussi !!! ils seront affiché mais plus de mise a jours par exemple (resterons figé)
        • si crash au démarrage, les autres modules ne se lancerons pas ! (MM² va suivre la liste des modules de la config et arretera au module qui a crash)
        • si crash: MM² n’envera pas la notification “top départ” (DOM_OBJECTS_CREATED ou ALL_MODULES_STARTED)pour dire que tous les modules sont lancé … donc des modules ne fonctionnerons pas

        c’est complexe la vie d’artiste, imaginer tous les cas de crash ! :)))

        1 Reply Last reply Reply Quote 0
        • Moved from Issues by  bugsounet bugsounet 
        • A
          adel51 last edited by

          je pense que j avais compris dans l ensemble tout cela.
          Je pense que mon erreur vient d ailleurs (un forEach je suppose) car j ai l erreur suivante :

          [13289:0213/232717.372885:ERROR:CONSOLE(1)] “TypeError: Failed to fetch”, source: devtools://devtools/bundled/entrypoints/main/main.js (1)

          ça me bloque car je ne vois pas ce que je dois corriger !!!

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

            nan, c’est pas ça 😉 c’est une erreur dans la gestion de la console dev (oui oui … personne est parfait !!!)
            cherche plus haut … doit avoir une ligne rouge 🙂
            sinon … regarde dans le node helper (en lancant mm dans un terminal, tu dois avoir une erreur au démarrage) et corrige l’erreur (ou l’horreur ! au choix lol)

            1 Reply Last reply Reply Quote 0
            • A
              adel51 last edited by adel51

              j ai ça : un warning et rien en rouge d apres moi

              Load stylesheet: modules/ATO-MM1_CMD_MM2/ATO-MM1_CMD_MM2.css
              loader.js:162 Styles loaded for: ATO-MM1_CMD_MM2
              loader.js:164 Translations loaded for: ATO-MM1_CMD_MM2
              loader.js:184 Load script: modules/default/clock/clock.js
              module.js:509 Module registered: clock
              loader.js:155 Bootstrapping module: clock
              loader.js:184 Load script: vendor/node_modules/moment/min/moment-with-locales.js
              loader.js:184 Load script: vendor/node_modules/moment-timezone/builds/moment-timezone-with-data.js
              loader.js:184 Load script: vendor/node_modules/suncalc/suncalc.js
              loader.js:160 Scripts loaded for: clock
              loader.js:203 Load stylesheet: modules/default/clock/clock_styles.css
              loader.js:162 Styles loaded for: clock
              loader.js:164 Translations loaded for: clock
              loader.js:203 Load stylesheet: css/custom.css
              clock.js:48 Starting module: clock
              main.js:501 All modules started!
              ATO-MM1_CMD_MM2.js:104 ATO DOM_OBJECTS_CREATED
              VM4 sandbox_bundle:2 Electron Security Warning (Insecure Content-Security-Policy) This renderer process has either no Content Security
              Policy set or a policy with “unsafe-eval” enabled. This exposes users of
              this app to unnecessary security risks.

              For more information and help, consult
              https://electronjs.org/docs/tutorial/security.
              This warning will not show up
              once the app is packaged.
              warnAboutInsecureCSP @ VM4 sandbox_bundle:2
              ATO-MM1_CMD_MM2.js:78 ATO la commande : 1.sh
              ATO-MM1_CMD_MM2.js:83 ATO il faut executer la commande : 1.sh
              ATO-MM1_CMD_MM2.js:85 ATO Commande executée : 1.sh

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

                ben c’est bon

                1 Reply Last reply Reply Quote 0
                • A
                  adel51 last edited by

                  des que je mets la ligne de france2 j ai une erreur : Uncaught SyntaxError: Invalid or unexpected token

                      cmd = payload
                      console.log("ATO il faut executer la commande : ",cmd)
                      this.sendNotification(“EXT_FREEBOXTV-PLAY”,“France2”)
                      console.log("ATO Commande executée : ",cmd)
                  
                  1 Reply Last reply Reply Quote 0
                  • bugsounet
                    bugsounet Main Coder last edited by

                    remplace this.sendNotification(“EXT_FREEBOXTV-PLAY”,“France2”) par this.sendNotification("EXT_FREEBOXTV-PLAY","France2")

                    attention: “ c’est differrent de "

                    1 Reply Last reply Reply Quote 0
                    • A
                      adel51 last edited by

                      ah oui c est ça j ai l impression. Purée j avais copié collé ce que tu m avais envoyé !

                      par contre … !!!

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

                        que veux tu que je te dise 🙂 vive le copier coller !

                        1 Reply Last reply Reply Quote 0
                        • A
                          adel51 last edited by adel51

                          tu fais comment pour debugger le node helper car moi quand je lance en mode dev, je ne peux mettre que des points d arret que dans le core

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

                            dans le core … c’est la fenetre de debug (avec npm start dev) qui s’affiche dans MM²
                            dans le node helper, c’est tout ce que tu vois quand tu lance MM²

                            exemple:

                            bugsounet@bugsounet-Kubuntu:~/MagicMirror$ npm start
                            
                            > magicmirror@2.23.0-develop start
                            > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js
                            
                            [14.02.2023 00:03.50.366] [LOG]   Starting MagicMirror: v2.23.0-develop
                            [14.02.2023 00:03.50.367] [LOG]   Loading config ...
                            [14.02.2023 00:03.50.369] [LOG]   Loading module helpers ...
                            [14.02.2023 00:03.50.370] [LOG]   No helper found for module: alert.
                            [14.02.2023 00:03.50.370] [LOG]   No helper found for module: clock.
                            [14.02.2023 00:03.50.371] [LOG]   Initializing new module helper ...
                            [14.02.2023 00:03.50.372] [LOG]   Module helper loaded: EXT-Alert
                            [14.02.2023 00:03.50.373] [LOG]   Initializing new module helper ...
                            [14.02.2023 00:03.50.373] [LOG]   Module helper loaded: Gateway
                            [14.02.2023 00:03.50.501] [LOG]   Initializing new module helper ...
                            [14.02.2023 00:03.50.501] [LOG]   Module helper loaded: MMM-GoogleAssistant
                            [14.02.2023 00:03.50.503] [LOG]   Initializing new module helper ...
                            [14.02.2023 00:03.50.503] [LOG]   Module helper loaded: EXT-Detector
                            ...
                            

                            apres tu tags tes logs c’est plus simple pour lire

                            image.png

                            en utilisant console.log(“[MODULE] [FONCTION/CLASSE] Blah Blah”)

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

                              (oupss … on a vu que j’ai codé Gateway v3 mdr)

                              1 Reply Last reply Reply Quote 0
                              • A
                                adel51 last edited by

                                non meme pas

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

                                  apres tu n’es pas obliger de tout logué en production, d’ou le debug true ou false en config 😉
                                  moi quand je code si le debug est sur false … tu vois le minimum

                                  1 Reply Last reply Reply Quote 0
                                  • A
                                    adel51 last edited by

                                    oui je viens de faire le test et je vois la difference. Je pensais qu il fallait mettre debug à true et logLevel: [“INFO”, “LOG”, “WARN”, “ERROR”,“DEBUG”], et faire le npm start dev

                                    France2 se lance bien Merci.
                                    J ai appris des trucs
                                    après le NodeJS, y a des trucs un peu bizarre à comprendre. Il me faudra du temps.

                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      adel51 last edited by adel51

                                      les chaines fonctionnent, par contre this.sendNotification(“EXT_FreeboxTV-STOP”); n arrête pas le TV !!?? Est ce la bonne syntaxe?

                                      "stop": {
                                        notificationExec: {
                                          notification: "EXT_FreeboxTV-STOP"
                                        },
                                        soundExec: {
                                          chime: "close"
                                        }
                                      },
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • bugsounet
                                        bugsounet Main Coder last edited by

                                        regarde les noti dispo dans la Doc

                                        Note: attention au protocole et aux Majuscules/Minuscules

                                        1 Reply Last reply Reply Quote 0
                                        • A
                                          adel51 last edited by adel51

                                          oui j ai regardé directement dans le recipe et je te l ai collé.

                                          donc pas d erreur sur la noti c est sûr , mais est ce la bonne syntaxe sachant qu’il n y a pas de payload ?

                                          Attends c est bizarre, dans le doc c est EXT_FREEBOXTV-STOP !!!

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

                                            autant pour moi

                                            je corrigerai le recipe

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