MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Head first developing MM module for extreme beginners

    Scheduled Pinned Locked Moved Development
    27 Posts 9 Posters 21.8k Views 12 Watching
    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.
    • D Offline
      Dobi
      last edited by

      @sdetweil I gave it a try but without differences :(
      I made a new git repo : https://github.com/Dobherrmann/MMM-cookbook.git
      Now there I should have the same name in the repo like my module.

      my config. js looks like this (I gave it a position):

       {
            module: "MMM-cookbook",
            position: "middle_center",
            config: {
              header: "My Cookbook",
              foo: "I'm the King of the world!"
            }
          },
      

      I started to debug “my code” a little bit and I found this when I want to send a socket notification:

      self.sendSocketNotification("DO_YOUR_JOB", this.count);
      					console.log("Notfication", this.sendSocketNotification("DO_YOUR_JOB", this.count))
      					this.sendSocketNotification("DO_YOUR_JOB", this.count)
      					this.subElementUp.innerHTML = "Count UP:" + this.count
      

      On my console i get the feedback that “this.sendSocketNotification(“DO_YOUR_JOB”, this.count” is undefined. It looks like that this function is unkown.

      S 1 Reply Last reply Reply Quote 0
      • S Offline
        sdetweil @Dobi
        last edited by sdetweil

        @dobi u are inside a callback. change the ‘this’ to ‘self’ like the self.sendSocketNotification

        ‘this’ is always tricky. depends on the context, and some of the programming idioms used

        that’s why we typically see
        var self = this;
        at the beginning of functions that have callbacks or .then() used inside

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        D 1 Reply Last reply Reply Quote 0
        • D Offline
          Dobi @sdetweil
          last edited by

          @sdetweil ok, but it dosen’t change something.

          notificationReceived: function (notification, payload, sender) {
          		self = this;
          		switch (notification) {
          			case "DOM_OBJECTS_CREATED":
          				var timer = setInterval(() => {
          					//this.updateDom()
          					self.sendSocketNotification("DO_YOUR_JOB", this.count);
          					console.log(`self.sendSocketNotification("DO_YOUR_JOB", this.count)`, self.sendSocketNotification("DO_YOUR_JOB", this.count))
          					self.sendSocketNotification("DO_YOUR_JOB", this.count)
          					this.subElementUp.innerHTML = "Count UP:" + this.count
          					this.count++
          				}, 1000)
          				break
          		}
          	},
          

          Now i could post a picture of my console
          875c1b85-daa2-4374-b4d3-c833268e7387-grafik.png

          S 2 Replies Last reply Reply Quote 0
          • S Offline
            sdetweil @Dobi
            last edited by sdetweil

            @dobi show the source code page. u had to fix both counters

            sources tab, modules, mmm-cookbook, mmm-cookbook.js

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            1 Reply Last reply Reply Quote 0
            • S Offline
              sdetweil @Dobi
              last edited by sdetweil

              @dobi

              self.sendSocketNotification("DO_YOUR_JOB", this.count)
              

              but u didn’t change this.count to self.count
              in all the places

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              D 1 Reply Last reply Reply Quote 0
              • D Offline
                Dobi @sdetweil
                last edited by

                @sdetweil I replaced all this. … calls to self. … but I don’t get a change. Is there a way that I can check to check that I can check that the function is loaded correctly from the kernal?

                S 1 Reply Last reply Reply Quote 0
                • S Offline
                  sdetweil @Dobi
                  last edited by sdetweil

                  @dobi view the source in the dev window

                  what u showed above is not changed

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  D 1 Reply Last reply Reply Quote 0
                  • D Offline
                    Dobi @sdetweil
                    last edited by

                    @sdetweil
                    sorry I only updated it on github

                    
                    notificationReceived: function (notification, payload, sender) {
                    		var self = this;
                    		switch (notification) {
                    			case "DOM_OBJECTS_CREATED":
                    				var timer = setInterval(() => {
                    					//this.updateDom()
                    					self.sendSocketNotification("DO_YOUR_JOB", self.count);
                    					console.log(`self.sendSocketNotification("DO_YOUR_JOB", this.count)`, self.sendSocketNotification("DO_YOUR_JOB", self.count))
                    					self.sendSocketNotification("DO_YOUR_JOB", self.count)
                    					self.subElementUp.innerHTML = "Count UP:" + self.count
                    					self.count++
                    				}, 1000)
                    				break
                    		}
                    	},
                    
                    
                    S 1 Reply Last reply Reply Quote 0
                    • S Offline
                      sdetweil @Dobi
                      last edited by

                      @dobi and in the console.log too

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      D 1 Reply Last reply Reply Quote 1
                      • D Offline
                        Dobi @sdetweil
                        last edited by

                        @sdetweil Hey sorry for my quite late response. But I wanted to tell you that I found my error it was quite stupid. I had to restart my raspi. After a restart the node_helper worked fine :)
                        I wrote my first module.

                        Thanks for your patient

                        S cowboysdudeC 2 Replies Last reply Reply Quote 2
                        • 1
                        • 2
                        • 3
                        • 3 / 3
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy