• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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 3.1k 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
    last edited by Jul 14, 2022, 5:45 PM

    Hi there!
    I’m developing a new module for a Magic Mirror to display Electricity Bill data but I’m struggling with something. The thing is that I consume an API which requires Bearer Token as an authentication to retrieve the data. I handle it using a node_helper file, but the thing is that I only get to display the data on the console but not visually on screen: 3001fe30-5cfb-4a4a-923e-f6c58e949e3e-image.png
    How can I send that data from node_helper to my MMM-CFE and place it on a meter element?
    MMM-CFE:
    24a3f6b7-560e-445d-af1a-ed6011281f2a-image.png
    node_helper:
    49c33b4e-73f8-4b3c-ae4f-d6ff6849228f-image.png
    Thought of socketNotification but I couldn’t figure it out, any ideas?

    S 1 Reply Last reply Jul 14, 2022, 6:58 PM Reply Quote 0
    • S Offline
      sdetweil @SopaMaruchan
      last edited by sdetweil Jul 14, 2022, 7:04 PM Jul 14, 2022, 6:58 PM

      @SopaMaruchan get data from API

      let’s call the object foo

      then

      this.sendSocketNotification(“fribble”, foo)

      then on the module side

        receiveSocketNotification(code, data){
                if(code === 'fribble'){
                       this.savePointer = data
                       this.updateDom()
                }
         }
      

      then

            getDom(){
                     //  use  this.savePonter
            }
      

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      S 1 Reply Last reply Jul 18, 2022, 5:55 PM Reply Quote 0
      • S Offline
        SopaMaruchan @sdetweil
        last edited by Jul 18, 2022, 5:55 PM

        @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 Jul 18, 2022, 6:10 PM Reply Quote 0
        • S Offline
          sdetweil @SopaMaruchan
          last edited by Jul 18, 2022, 6:10 PM

          @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 Jul 18, 2022, 6:12 PM

            @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 Jul 18, 2022, 6:31 PM Reply Quote 0
            • S Offline
              SopaMaruchan @sdetweil
              last edited by Jul 18, 2022, 6:31 PM

              @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 Jul 18, 2022, 6:49 PM Reply Quote 0
              • S Offline
                sdetweil @SopaMaruchan
                last edited by Jul 18, 2022, 6:49 PM

                @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 Jul 18, 2022, 7:19 PM Reply Quote 0
                • S Offline
                  SopaMaruchan @sdetweil
                  last edited by Jul 18, 2022, 7:19 PM

                  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 Jul 18, 2022, 7:29 PM Reply Quote 0
                  • S Offline
                    SopaMaruchan @SopaMaruchan
                    last edited by Jul 18, 2022, 7:29 PM

                    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 Jul 18, 2022, 7:36 PM Reply Quote 0
                    • S Offline
                      sdetweil @SopaMaruchan
                      last edited by Jul 18, 2022, 7:36 PM

                      @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
                      • 1
                      • 2
                      • 1 / 2
                      1 / 2
                      • First post
                        4/19
                        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