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.

    Stocks

    Scheduled Pinned Locked Moved Utilities
    36 Posts 15 Posters 36.9k Views 14 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.
    • Z Offline
      ZTA0796
      last edited by

      Upon looking at it further-- in the “socketNotificationReceived: function(notification, payload)” function in the module.js file, it seems that when I run console.log(this.result), it outputs my JSON:

      Object { symbol: “MSFT”, price: “62.30”, date: “12/16/2016”, time: “4:00pm”, change: “-0.28”, col1: “62.95”, high: “62.95”, low: “62.12”, col2: “42453083” }

      When I go to the “getDom” function and run “console.log(this.result)”, I get:

      [object Object]

      I’m just not sure why that change occurs, but that seems to be my issue. Any help is massively appreciated!

      A 1 Reply Last reply Reply Quote 0
      • A Offline
        alexyak @ZTA0796
        last edited by

        @ZTA0796 The object that you get int the stocks.js is the deserialized javascript object. In your case it’s going to be a single row object. You could just access the properties list this:

        this.result.symbol, this.result.price, etc…

        -Alex

        Z 1 Reply Last reply Reply Quote 0
        • Z Offline
          ZTA0796 @alexyak
          last edited by

          @alexyak So that’s what I expected as well. Unfortunately, it is somehow getting messed up between the “socketNotificationReceived” function and the “getDom” function.

          socketNotificationReceived: function(notification, payload) {
              if (notification === "STOCKS_RESULT") {
                  this.result = payload;
                  console.log(this.result);  //prints my JSON correctly console
                  this.updateDom(self.config.fadeSpeed);
              }       
          

          So the above works correctly. Below, however, it doesn’t seem to maintain and I can’t figure out why.

          getDom: function() {
          
              var wrapper = document.createElement("table");
              wrapper.className = 'normal regular small';
              
              var count = 0;
          
              var _this = this;
          
          	console.log("result is " + this.result); //prints "result is [object Object]"
          	console.log("result length is " + this.result.length); //prints "result length is 0"
          	console.log(this.symbol);  //prints "undefined"
              }
          

          I apologize if I’m being thick, but I can’t figure out why it’s not working…

          1 Reply Last reply Reply Quote 0
          • Z Offline
            ZTA0796
            last edited by

            Ok, so I think i figured it out. Still not sure why it worked, but for some reason, running a console.log("descriptive text " + this) seems to corrupt or change the type of “this”. If I put two consecutive console.log() calls–first with descriptive text, second with just “this”–then it works. Basically in the example above, if I just comment out the first two console.log() calls, then it no longer prints “undefined” and instead prints “MSFT”. Sorry for all the trouble!

            1 Reply Last reply Reply Quote 0
            • Mitch1138M Offline
              Mitch1138
              last edited by

              Several weeks ago this module seemed to stop working. It doesn’t generate any errors, just won’t display. Has anyone else seen this?

              Thanks, Dave

              pugslyP Mykle1M 2 Replies Last reply Reply Quote 0
              • pugslyP Offline
                pugsly @Mitch1138
                last edited by

                @Mitch1138 Yes same for me, this module no longer works.

                1 Reply Last reply Reply Quote 0
                • Mykle1M Offline
                  Mykle1 Project Sponsor Module Developer @Mitch1138
                  last edited by

                  @Mitch1138 said in Stocks: > Has anyone else seen this?

                  @pugsly > Yes same for me, this module no longer works.

                  At first glance, putting the url into a browser results in a 404 error
                  http://finance.google.com/finance/info?client=ig&q=.DJI,MSFT,AAPL,GOOG,INTC,CICS,TSLA,FB

                  Create a working config
                  How to add modules

                  homebrewH 1 Reply Last reply Reply Quote 0
                  • cowboysdudeC Offline
                    cowboysdude Module Developer
                    last edited by

                    The url in the module no longer works… it won’t give an error it’s a 404 error…

                    I’m seeing if I can find a url replacement…

                    homebrewH 1 Reply Last reply Reply Quote 0
                    • homebrewH Offline
                      homebrew @alexyak
                      last edited by

                      @alexyak
                      can’t seem to get this updating on the MM display, any ideas? Was there any change to the original code?

                      G 1 Reply Last reply Reply Quote 1
                      • homebrewH Offline
                        homebrew @cowboysdude
                        last edited by

                        @cowboysdude
                        Did you find a working URL replacement?
                        Have you been using another Stocks module instead?

                        cowboysdudeC 1 Reply Last reply Reply Quote 0
                        • cowboysdudeC Offline
                          cowboysdude Module Developer @homebrew
                          last edited by

                          @homebrew No sorry I haven’t. I don’t use stock modules :) I don’t do stocks LOL

                          BUT if you can find a url that works I can look at the module for you…

                          1 Reply Last reply Reply Quote 2
                          • homebrewH Offline
                            homebrew @Mykle1
                            last edited by

                            @Mykle1
                            have you found a replacement url or just using another stocks module?

                            Mykle1M 1 Reply Last reply Reply Quote 0
                            • Mykle1M Offline
                              Mykle1 Project Sponsor Module Developer @homebrew
                              last edited by

                              @homebrew

                              Like @cowboysdude, I don’t use stock modules. My interest in this topic was to troubleshoot for @Mitch1138 3 months ago. The API that was being used is no longer available. Cowboysdude and I both looked for a free API but there didn’t seem to be one available at the time.

                              If you can find a free API then I’ll certainly collaborate with Cowboysdude if he wanted some assistance

                              Create a working config
                              How to add modules

                              1 Reply Last reply Reply Quote 1
                              • G Offline
                                goofy @homebrew
                                last edited by goofy

                                @homebrew
                                i’m too - i can’t see anything on my display if i use the Stocks module.
                                I‘m useing mm 2.2.1 on a raspberry pi.

                                A 1 Reply Last reply Reply Quote 0
                                • A Offline
                                  alexyak @goofy
                                  last edited by

                                  I’ve found a web service which provides free intraday stock quotes. You will only need to register to get an API key.

                                  https://www.alphavantage.co/support/#api-key

                                  The code in the module will need to be modified though to parse a different payload result. I will try to update it today or tomorrow.

                                  G 1 Reply Last reply Reply Quote 3
                                  • G Offline
                                    goofy @alexyak
                                    last edited by goofy

                                    @alexyak
                                    Many Thanks - i‘m looking forward.
                                    If you update your code - i will Test it ;)

                                    A 1 Reply Last reply Reply Quote 0
                                    • A Offline
                                      alexyak @goofy
                                      last edited by

                                      I’ve updated the code to support the new API’s from https://iextrading.com/developer/docs/#stocks. Which BTW, doesn’t even require registration.

                                      1 Reply Last reply Reply Quote 2
                                      • S Offline
                                        shep99
                                        last edited by

                                        Alexyak this is great thanks! The iex API seems to only support US stocks. Any chance of integrating Alphavantage into this great module? Would love to get some CDN ( TSX ) stocks into it

                                        Thanks!

                                        S 1 Reply Last reply Reply Quote 2
                                        • Mitch1138M Offline
                                          Mitch1138
                                          last edited by

                                          Many thanks for all your work Alexyak. I can’t seem to get the stock to display. I am using the default configuration file and this is display on the terminal during execution:

                                          Connecting socket for: stocks
                                          stocks helper started ...
                                          Sockets connected & modules started ...
                                          Launching application.
                                          url:https://api.iextrading.com/1.0/stock/.DJI/quote
                                          url:https://api.iextrading.com/1.0/stock/MSFT/quote
                                          url:https://api.iextrading.com/1.0/stock/AAPL/quote
                                          url:https://api.iextrading.com/1.0/stock/GOOG/quote
                                          url:https://api.iextrading.com/1.0/stock/INTC/quote
                                          url:https://api.iextrading.com/1.0/stock/CICS/quote
                                          url:https://api.iextrading.com/1.0/stock/TSLA/quote
                                          url:https://api.iextrading.com/1.0/stock/FB/quote
                                          

                                          Any suggestions?
                                          Thanks, Mitch

                                          1 Reply Last reply Reply Quote 1
                                          • G Offline
                                            goofy
                                            last edited by

                                            Me too - i do not see anything on my display.
                                            I use the default config too.

                                            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
                                            • 2
                                            • 1 / 2
                                            • 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