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.

    Electricity Bill Module Development

    Scheduled Pinned Locked Moved Utilities
    19 Posts 3 Posters 4.7k Views 3 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.
    • S Offline
      SopaMaruchan @sdetweil
      last edited by

      @sdetweil I named my retreived data as “foo” and then used sendSocketNotification as you previously told me but I got this as output:
      e9ba4fa8-aca0-4167-b503-ec9c105d2bb4-image.png
      I did it this way on my node_helper file (Highlighted the lines I added):
      c59c8d5a-fce8-46b6-8305-9454cad39dbf-image.png
      Did I missed anything?

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

        @SopaMaruchan ah, so much fun!

        you are inside the callback of the request,so ‘this’ I pointing to some request object and not the node_helper instance…

        sooooo

        before request(…

        add
        let self = this

        and change this. to self.

        object oriented programming is tricky

        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 @SopaMaruchan
          last edited by

          @SopaMaruchan and {foo} is unnecessary

          you could just use
          res.body

          it’s the same stuff, why waste memory w a new pointer only being used once

          (same w info there too)

          Sam

          How to add modules

          learning how to use browser developers window for css changes

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

            @sdetweil Hahahaha true that!
            Kinda fixed it guided by your recommendations but the thing is that I’m still getting the same output: 098fca99-2a82-4ccd-8758-b81dcaedc3b6-image.png
            Here the code:
            80366fb7-a775-46ea-a207-88b196b918cd-image.png

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

              @SopaMaruchan hm…

              sample from one of my modules

              self.sendSocketNotification("SLEEP_HIDE")
              

              Sam

              How to add modules

              learning how to use browser developers window for css changes

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

                hmm, actually it does help. I’ll be testing around and tell you when I get it to work!
                Anyways your help was a huge pilar to keep myself going with this, much thanks brother💝

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

                  Does it help if I tell you that I got everything on my onstart function of the node_helper file?

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

                    @SopaMaruchan never done it in start.

                    I usually wait til the module sends it’s 1st request

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

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

                      @SopaMaruchan I’m realizing that my my receiveSocketNotification is not being triggered on my MM-Module file:
                      f111ce89-0276-4196-a41b-2ad73b016eaa-image.png
                      I logged some text after calling receiveSocketNotification function but there’s no output on console.

                      node_helper:
                      74f933d7-53b1-483c-b0a3-0abfe6827b34-image.png

                      S mumblebajM 4 Replies Last reply Reply Quote 0
                      • S Offline
                        sdetweil @SopaMaruchan
                        last edited by

                        @SopaMaruchan if the send fails like that, not sent

                        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 @SopaMaruchan
                          last edited by

                          @SopaMaruchan
                          let self=this

                          has to be inside the getBill() function
                          otherwise it could be set wrong…

                          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 @SopaMaruchan
                            last edited by sdetweil

                            @SopaMaruchan maybe for debug

                            inside the request() callback function,

                            do a

                            console.log(JSON.stringify(self, null,2))

                            to see what ‘this’ was pointing to

                            Sam

                            How to add modules

                            learning how to use browser developers window for css changes

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

                              @sdetweil it’s indeed pointing to my module. Here’s the output: 55021cd9-1c10-46c3-8a9d-5de1e97674a1-image.png
                              and the huge LOG ends with the last 2 arguments: null & 2 e2503443-14c0-45ad-9614-37a9392997c0-image.png

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

                                @SopaMaruchan

                                problem is that the sockets are not connected at start time. so the sendSocketNotification is a no-op.

                                u need wait til the module sends a socket message

                                the module config is not visible to the node_helper, so the module has to send it over/down…

                                Sam

                                How to add modules

                                learning how to use browser developers window for css changes

                                1 Reply Last reply Reply Quote 0
                                • mumblebajM Offline
                                  mumblebaj Module Developer @SopaMaruchan
                                  last edited by

                                  @SopaMaruchan Maybe the below example would help or serve as a guide to see if you may have the send call in the wrong place.

                                  module.exports = NodeHelper.create ({
                                      start: function() {
                                          console.log('Starting node_helper for module: ' + this.name)
                                      },
                                  
                                      getLights: async function(payload) {
                                          var url = "http://" + payload.bridgeip + "/api/" + payload.userid + "/" + payload.lightsOrGroups;
                                          
                                          var response = await fetch(url)
                                          if (!response.status == 200) {
                                              console.error(`Error retrieving data: ${response.statusCode} ${response.statusText}`)
                                              return;
                                          }
                                  
                                          var result = await response.json()
                                          
                                          this.sendSocketNotification("lightsorgroups", result)
                                      },````

                                  Check out my modules at: https://github.com/mumblebaj?tab=repositories
                                  Check my blog-post: https://mumblebaj.xyz/
                                  Check my MM Container: https://hub.docker.com/repository/docker/mumblebaj/magicmirror/general

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

                                    @mumblebaj he is calling from start:

                                    but sockets not setup yet.

                                    he really needs to wait til the module sends the 1st notification down ( what we use to send config info from module to helper)

                                    Sam

                                    How to add modules

                                    learning how to use browser developers window for css changes

                                    mumblebajM 1 Reply Last reply Reply Quote 0
                                    • mumblebajM Offline
                                      mumblebaj Module Developer @sdetweil
                                      last edited by

                                      @sdetweil Ah, hopefully he caught that and changes it.

                                      Check out my modules at: https://github.com/mumblebaj?tab=repositories
                                      Check my blog-post: https://mumblebaj.xyz/
                                      Check my MM Container: https://hub.docker.com/repository/docker/mumblebaj/magicmirror/general

                                      1 Reply Last reply Reply Quote 0

                                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                      With your input, this post could be even better 💗

                                      Register Login
                                      • 1 / 1
                                      • 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