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.

    MMM-News and BBC

    Scheduled Pinned Locked Moved Solved Troubleshooting
    40 Posts 4 Posters 13.6k Views 4 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
      DarrenHill @sdetweil
      last edited by

      @sdetweil Thanks - I just found the wiki page about auto starting and saw I had somehow got it running twice.

      That’s now fixed, but after a reboot the module issue still remains.

      I’ll go check logs and console now.

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

        @sdetweil OK I’ve found a News module error in the MagicMirror-out.log:

        [06.09.2022 20:26.46.502] [LOG]   [NEWS] Error :  https://newsapi.org/v2/top-headlines?sources=bbc-news&pageSize=100&apiKey=<redacted> TypeError: Cannot read properties of undefined (reading 'toString')
        
            at slugify (/home/pi/MagicMirror/modules/MMM-News/node_helper.js:24:17)
            at cb (/home/pi/MagicMirror/modules/MMM-News/node_helper.js:89:33)
            at getArticles (/home/pi/MagicMirror/modules/MMM-News/node_helper.js:135:22)
            at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
        
        

        I’ve removed my API key string, but the rest is copy/paste.

        I tried a git pull on the module the other day before my first post here, and it’s up to date.

        S 1 Reply Last reply Reply Quote 0
        • S Do not disturb
          sdetweil @DarrenHill
          last edited by

          @DarrenHill that error means the content back from the API is not as expected. either nothing there or the format 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
            DarrenHill @sdetweil
            last edited by

            @sdetweil OK, although from what @mumblebaj posted above it still works for him with my config?

            I’ll try removing it and reinstalling it and see if that helps.

            S M 2 Replies Last reply Reply Quote 0
            • S Do not disturb
              sdetweil @DarrenHill
              last edited by

              @DarrenHill not a reinstall thing

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

                @sdetweil OK.

                So I guess I’m stuck for now unless you or the others have any suggestions.

                I was wondering as you say if the incoming info format had changed when it started throwing the #null text, but it’s weird that it works for others?

                S 1 Reply Last reply Reply Quote 0
                • M Offline
                  MMRIZE @DarrenHill
                  last edited by MMRIZE

                  @DarrenHill
                  Well, I also tried your config with my apiKey and it worked.

                  Try this in your browser and let’s see what happens.

                  https://newsapi.org/v2/top-headlines?sources=bbc-news&pageSize=100&apiKey=YOUR_KEY

                  M 1 Reply Last reply Reply Quote 0
                  • S Do not disturb
                    sdetweil @DarrenHill
                    last edited by sdetweil

                    @DarrenHill ediut node_helper.js

                    insert this line

                          console.log("fetch result=",result)
                    

                    after line 128 so it looks like this

                          var result = await response.json()
                          console.log("fetch result=",result)
                          return(result)
                    

                    then rerun MM… best to stop using pm2 for all this

                    pm2 stop all
                    

                    then

                    cd ~/MagicMirror
                    npm start >somefile.txt 2>&1
                    

                    wait 15 seconds

                    ctrl-m to minimize MM
                    then ctrl-c on the terminal window you use to start MM

                    then edit somefile.txt

                    to look for status:
                    (ctrl-w in nano)

                    this is another dumb api… there is an error , but it doesn’t return it in the return code, but in the data!!!.. stupid…

                    for mine it says (with a bad key)

                    [06.09.2022 14:56.29.138] [LOG]   fetch result= {
                      status: 'error',
                      code: 'apiKeyInvalid',
                      message: 'Your API key is invalid or incorrect. Check your key, or go to https://newsapi.org to create a free API key.'
                    }
                    

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    D 1 Reply Last reply Reply Quote 0
                    • M Offline
                      MMRIZE @MMRIZE
                      last edited by

                      @MMRIZE said in MMM-News and BBC:

                      @DarrenHill
                      Well, I also tried your config with my apiKey and it worked.

                      Try this in your browser and let’s see what happens.

                      https://newsapi.org/v2/top-headlines?sources=bbc-news&pageSize=100&apiKey=YOUR_KEY

                      It should be like something similar to this(if your apiKey is valid);

                      {"status":"ok","totalResults":10,"articles":[{"source":{"id":"bbc-news","name":"BBC News"},"author":"BBC News","title":"Vaping: Juul to pay $438.5 m in youth marketing probe","description":"US prosecutors accuse the firm of \"relentlessly\" targeting underage buyers.","url":"http://www.bbc.co.uk/news/business-62813896","urlToImage":"https://ichef.bbci.co.uk/news/1024/branded_news/1F91/production/_126618080_323275f83124ee4f8c4cbed6b71c6807fe92d57c.jpg","publishedAt":"2022-09-06T19:52:21.045172Z","content":"Juul Labs will pay $438.5m (£380m) to end a probe of its advertising to underage buyers as it rose to be one of the top e-cigarette firms in the US.\r\nThe deal with 33 states and Puerto Rico also rest… [+1826 chars]"}, …
                      
                      D 1 Reply Last reply Reply Quote 0
                      • D Offline
                        DarrenHill @MMRIZE
                        last edited by DarrenHill

                        @MMRIZE said in MMM-News and BBC:

                        https://newsapi.org/v2/top-headlines?sources=bbc-news&pageSize=100&apiKey=YOUR_KEY

                        I get this, which looks slightly different to yours? :

                        {"status":"ok","totalResults":10,"articles":[{"title":"Vaping: Juul to pay $438.5 m in youth marketing probe","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-06T19:52:21.045172Z","url":"http://www.bbc.co.uk/news/business-62813896"},{"title":"Eliza Fletcher: Police identify body found in search for heiress","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-06T16:52:18.6995928Z","url":"http://www.bbc.co.uk/news/world-us-canada-62811661"},{"title":"Ukraine war: Russians to pay €45 more to enter EU under new rules","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-06T16:37:23.3671715Z","url":"http://www.bbc.co.uk/news/world-europe-62811675"},{"title":"Fat Leonard: Malaysian businessman linked to US Navy scandal escapes","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-06T16:22:22.2671956Z","url":"http://www.bbc.co.uk/news/world-us-canada-62764226"},{"title":"Canada stabbings: Police hunt remaining suspect after Saskatchewan attacks","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-06T15:22:24.1190163Z","url":"http://www.bbc.co.uk/news/live/world-us-canada-62811629"},{"title":"Ukraine: Ben Stiller and Sean Penn latest Americans banned from Russia","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-06T12:52:14.8462267Z","url":"http://www.bbc.co.uk/news/world-europe-62806655"},{"title":"Canada stabbings: Relatives identify 'random' victims of Saskatchewan attack","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-06T11:07:21.1055569Z","url":"http://www.bbc.co.uk/news/world-us-canada-62804826"},{"title":"Liz Truss: Boris Johnson to give farewell speech before new PM takes office","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-06T04:37:21.3806544Z","url":"http://www.bbc.co.uk/news/live/uk-politics-62802807"},{"title":"Keith Davis: He was protecting the oceans - then he disappeared","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-05T20:52:23.0241991Z","url":"http://www.bbc.co.uk/news/world-us-canada-62603911"},{"title":"Timed Teaser: How did Putin mark Gorbachev's death?","author":"BBC News","source":{"Id":"bbc-news","Name":"BBC News"},"publishedAt":"2022-09-05T20:37:23.1798468Z","url":"http://www.bbc.co.uk/news/world-us-canada-62763889"}]}
                        

                        @sdetweil I’ll do your test now…

                        M 1 Reply Last reply Reply Quote 0
                        • M Offline
                          MMRIZE @DarrenHill
                          last edited by MMRIZE

                          @DarrenHill
                          Ok, I found something. I don’t know why, but your result has “articles.source.Name” instead of “articles.source.name” that makes this error.

                          S D 2 Replies Last reply Reply Quote 0
                          • S Do not disturb
                            sdetweil @MMRIZE
                            last edited by

                            @MMRIZE yes, was just about to post that

                            Sam

                            How to add modules

                            learning how to use browser developers window for css changes

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

                              @sdetweil I get this (for the relevant bit):

                              
                              [06.09.2022 21:11.46.552] [LOG]   fetch result= {
                                status: 'ok',
                                totalResults: 10,
                                articles: [
                                  {
                                    title: 'Vaping: Juul to pay $438.5 m in youth marketing probe',
                                    author: 'BBC News',
                                    source: [Object],
                                    publishedAt: '2022-09-06T19:52:21.045172Z',
                                    url: 'http://www.bbc.co.uk/news/business-62813896'
                                  },
                                  {
                                    title: 'Eliza Fletcher: Police identify body found in search for heiress',
                                    author: 'BBC News',
                                    source: [Object],
                                    publishedAt: '2022-09-06T16:52:18.6995928Z',
                                    url: 'http://www.bbc.co.uk/news/world-us-canada-62811661'
                                  },
                                  {
                                    title: 'Ukraine war: Russians to pay €45 more to enter EU under new rules',
                                    author: 'BBC News',
                                    source: [Object],
                                    publishedAt: '2022-09-06T16:37:23.3671715Z',
                                    url: 'http://www.bbc.co.uk/news/world-europe-62811675'
                                  },
                                  {
                                    title: 'Fat Leonard: Malaysian businessman linked to US Navy scandal escapes',
                                    author: 'BBC News',
                                    source: [Object],
                                    publishedAt: '2022-09-06T16:22:22.2671956Z',
                                    url: 'http://www.bbc.co.uk/news/world-us-canada-62764226'
                                  },
                                  {
                                    title: 'Canada stabbings: Police hunt remaining suspect after Saskatchewan attacks',
                                    author: 'BBC News',
                                    source: [Object],
                                    publishedAt: '2022-09-06T15:22:24.1190163Z',
                                    url: 'http://www.bbc.co.uk/news/live/world-us-canada-62811629'
                                  },
                                  {
                                    title: 'Ukraine: Ben Stiller and Sean Penn latest Americans banned from Russia',
                                    author: 'BBC News',
                                    source: [Object],
                                    publishedAt: '2022-09-06T12:52:14.8462267Z',
                                    url: 'http://www.bbc.co.uk/news/world-europe-62806655'
                                  },
                                  {
                                    title: "Canada stabbings: Relatives identify 'random' victims of Saskatchewan attack",
                                    author: 'BBC News',
                                    source: [Object],
                                    publishedAt: '2022-09-06T11:07:21.1055569Z',
                                    url: 'http://www.bbc.co.uk/news/world-us-canada-62804826'
                                  },
                                  {
                                    title: 'Liz Truss: Boris Johnson to give farewell speech before new PM takes office',
                                    author: 'BBC News',
                                    source: [Object],
                                    publishedAt: '2022-09-06T04:37:21.3806544Z',
                                    url: 'http://www.bbc.co.uk/news/live/uk-politics-62802807'
                                  },
                                  {
                                    title: 'Keith Davis: He was protecting the oceans - then he disappeared',
                                    author: 'BBC News',
                                    source: [Object],
                                    publishedAt: '2022-09-05T20:52:23.0241991Z',
                                    url: 'http://www.bbc.co.uk/news/world-us-canada-62603911'
                                  },
                                  {
                                    title: "Timed Teaser: How did Putin mark Gorbachev's death?",
                                    author: 'BBC News',
                                    source: [Object],
                                    publishedAt: '2022-09-05T20:37:23.1798468Z',
                                    url: 'http://www.bbc.co.uk/news/world-us-canada-62763889'
                                  }
                                ]
                              }
                              [06.09.2022 21:11.46.635] [LOG]   [NEWS] Error :  https://newsapi.org/v2/top-headlines?sources=bbc-news&pageSize=100&apiKey=<redacted> TypeError: Cannot read properties of undefined (reading 'toString')
                                  at slugify (/home/pi/MagicMirror/modules/MMM-News/node_helper.js:24:17)
                                  at cb (/home/pi/MagicMirror/modules/MMM-News/node_helper.js:89:33)
                                  at getArticles (/home/pi/MagicMirror/modules/MMM-News/node_helper.js:136:22)
                                  at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
                              
                              
                              
                              
                              S 1 Reply Last reply Reply Quote 0
                              • S Do not disturb
                                sdetweil @DarrenHill
                                last edited by

                                @DarrenHill said in MMM-News and BBC:

                                  source: [Object],
                                

                                its in there

                                Sam

                                How to add modules

                                learning how to use browser developers window for css changes

                                1 Reply Last reply Reply Quote 0
                                • D Offline
                                  DarrenHill @MMRIZE
                                  last edited by

                                  @MMRIZE said in MMM-News and BBC:

                                  @DarrenHill
                                  Ok, I found something. I don’t know why, but your result has “articles.source.Name” instead of “articles.source.name” that makes this error.

                                  Anything I can do to overcome that?

                                  No idea why I’m getting different API returns to you guys…?

                                  S 1 Reply Last reply Reply Quote 0
                                  • S Do not disturb
                                    sdetweil @DarrenHill
                                    last edited by sdetweil

                                    @DarrenHill @MMRIZE

                                    also doesn’t get ‘content’ or ‘description’, so those will fail too…

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

                                      I tried to register for a new api key, but when I tried it told me that they don’t support the UK (where I am) so I wonder if that somehow has something to do with it.

                                      This has obviously changed since I first registered, and given I’m getting some response from the API it is at least partially working, but besides that I have no idea…

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

                                        @DarrenHill Hi. Apologies for the late reply. I am on a different timezone than the other guys.

                                        I would suggest using MMM-NewsAPI. The same API key that you are using with MMM-News will work.

                                        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

                                        D 1 Reply Last reply Reply Quote 0
                                        • D Offline
                                          DarrenHill @mumblebaj
                                          last edited by DarrenHill

                                          @mumblebaj - Thanks, no need to apologise.

                                          I tried the other module, and it also doesn’t show anything besides it’s “News” header title.

                                          The config I tried was:

                                                  {
                                                      module: "MMM-NewsAPI",
                                                      header: "News",
                                                      position: "bottom_center",
                                                      config: {
                                                          apiKey : "<my API key>",
                                                          domains: "bbc.co.uk",
                                                          language: "en"
                                                          }
                                                  },
                                          
                                          

                                          And also I tried replacing the domains: with sources: “bbc-news” and that gave the same results.

                                          There’s nothing in the logs, aside from confirming that the module is loading (as can be seen from the displayed title too).

                                          S mumblebajM 3 Replies Last reply Reply Quote 0
                                          • S Do not disturb
                                            sdetweil @DarrenHill
                                            last edited by

                                            @DarrenHill from the doc

                                            Add DEBUG Handling.
                                            Only add debug: true to the config section if you are experiencing issues and require more information to find issues.

                                            Sam

                                            How to add modules

                                            learning how to use browser developers window for css changes

                                            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