• 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.

Struggling with Weather... module

Scheduled Pinned Locked Moved Solved Troubleshooting
34 Posts 5 Posters 9.7k Views 6 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.
  • K Offline
    kayakbabe @D3dl3g
    last edited by kayakbabe Jun 27, 2022, 10:10 PM Jun 27, 2022, 10:09 PM

    @D3dl3g if you get a free api key from openweathermap and then you can test with a known weather api that we all know works. (openweathermap works for me ). then you’ll narrow down the possibilities of why your particular setup isn’t working. 1) if it is the way you have installed the module, or 2) if the problem is with the weather endpoint you are trying to use. 3) maybe the uk weather api isn’t availble to you if you aren’t physically in the uk, 4) something else…

    but getting the module working first in a known working configuration… will narrow down a lot of possibilities. it doesn’t mean that you can’t use the api you want later (unless that’s the issue).

    D 1 Reply Last reply Jun 29, 2022, 7:49 AM Reply Quote 0
    • S Online
      sdetweil @D3dl3g
      last edited by Jun 27, 2022, 10:39 PM

      @D3dl3g try lines=50

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      D 1 Reply Last reply Jun 28, 2022, 7:12 AM Reply Quote 0
      • D Offline
        D3dl3g @sdetweil
        last edited by Jun 28, 2022, 7:12 AM

        @sdetweil
        many restarts as i was modifying and testing layouts and features
        8c0b4cd7-65aa-481a-b183-060cb0ef9ca5-image.png

        couple of syntax errors, when i was playing around last night.
        daa33a85-88ae-4317-9374-a71ea4d61c43-image.png

        (blanked out sensitve info on calendar line)
        d5285b65-22af-483d-a9cf-5ebb1831694d-image.png

        S 1 Reply Last reply Jun 28, 2022, 11:29 AM Reply Quote 0
        • S Online
          sdetweil @D3dl3g
          last edited by Jun 28, 2022, 11:29 AM

          @D3dl3g hm. should have had some info…

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          D 2 Replies Last reply Jun 28, 2022, 12:34 PM Reply Quote 0
          • D Offline
            D3dl3g @sdetweil
            last edited by Jun 28, 2022, 12:34 PM

            @sdetweil
            :grinning_face_with_smiling_eyes: always the way.

            1 Reply Last reply Reply Quote 0
            • D Offline
              D3dl3g @sdetweil
              last edited by D3dl3g Jun 28, 2022, 2:03 PM Jun 28, 2022, 1:56 PM

              @sdetweil

              could it be *js file setup.

              been poking around on the Met Office website

              is this “request” something that could be used

              GET https://api-metoffice.apiconnect.ibmcloud.com/v0/forecasts/point/hourly?latitude=52.################&longitude=-1.################
              Headers:
              Accept: application/json
              X-IBM-Client-Id: e52######################
              X-IBM-Client-Secret: *********
              

              a “Header”

              cache-control: no-cache, no-store, max-age=0, must-revalidate
              content-length: 3634
              content-type: application/json
              expires: 0
              pragma: no-cache
              x-global-transaction-id: 9####################
              x-ratelimit-limit: name=rate-limit-1,360;
              x-ratelimit-remaining: name=rate-limit-1,358;
              

              theres also a “Body” that starts

              {
                  "type": "FeatureCollection",
                  "features": [
                      {
                          "type": "Feature",
                          "geometry": {
                              "type": "Point",
                              "coordinates": [
                                  -1.###,
                                  52.###,
                                  ###
                              ]
                          },
                          "properties": {
                              "requestPointDistance": 736.6499,
                              "modelRunDate": "2022-06-28T13:00Z",
                              "timeSeries": [
                                  {
                                      "time": "2022-06-28T13:00Z",
                                      "screenTemperature": 19.6,
                                      "maxScreenAirTemp": 19.6,
                                      "minScreenAirTemp": 19.1,
                                      "screenDewPointTemperature": 7.7,
                                      "feelsLikeTemperature": 16.83,
                                      "windSpeed10m": 5.1,
                                      "windDirectionFrom10m": 200,
                                      "windGustSpeed10m": 11.3,
                                      "max10mWindGust": 13.42,
                                      "visibility": 24714,
                                      "screenRelativeHumidity": 46.06,
                                      "mslp": 101420,
                                      "uvIndex": 4,
                                      "significantWeatherCode": 3,
                                      "precipitationRate": 0,
                                      "totalPrecipAmount": 0,
                                      "totalSnowAmount": 0,
                                      "probOfPrecipitation": 1
              

              i hashed out sensitive info BTW, the Long/lat and API Keys

              1 Reply Last reply Reply Quote 0
              • D Offline
                D3dl3g
                last edited by Jun 28, 2022, 8:34 PM

                in addition… looking at “ukmetofficedatahub.js”
                API Base URL looks like this…
                apiBase: “https://api-metoffice.apiconnect.ibmcloud.com/v0/forecasts/point/<hourly/3hourly/daily>”,

                where as the next section down API URL is stated to be
                “https://metoffice.apiconnect.ibmcloud.com/metoffice/production/api”

                seems to be a mismatch although im still looking at where to test that theory…
                i would have hoped which ever way the URL is structured its the JS info thats the important bit, not the structure of the URL

                1 Reply Last reply Reply Quote 0
                • D Offline
                  D3dl3g
                  last edited by D3dl3g Jun 28, 2022, 11:06 PM Jun 28, 2022, 11:04 PM

                  I’m stumped!

                  As outlined here

                  ukmetofficedatahub.js is set to

                          // Set the default config properties that is specific to this provider
                          defaults: {
                                  apiBase: "https://api-metoffice.apiconnect.ibmcloud.com/v0/forecasts/point/daily/",
                                  apiKey: "<myID>",
                                  apiSecret: " <my secret>",
                                  lat: <my lat>,
                                  lon: <mylong>,
                                  windUnits: "mph"
                  

                  (lines 50-55)

                  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                  config.js set to

                    		weatherProvider: "ukmetofficedatahub",
                    		apiBase: "https://api-metoffice.apiconnect.ibmcloud.com/v0/forecasts/point/daily/",
                    		apiKey: "<myID>",
                    		apiSecret: " <my secret>",
                    		lat: <my lat>,
                    		lon: <my long>,
                   		windUnits: "mph",
                   		tempUnits: "metric",
                  

                  (lines 20-27)

                  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                  bff556ff-fe1a-46f0-8532-2d07dfce1a35-image.png
                  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                  logs are clear… many server restarts…

                  i can curl required info and get something vaguely intelligent from the Met office Servers

                  curl --request GET \
                    --url 'https://api-metoffice.apiconnect.ibmcloud.com/v0/forecasts/point/hourly?excludeParameterMetadata=false&includeLocationName=true&latitude=<my lat>&longitude=<my long>' \
                    --header 'X-IBM-Client-Id:  <myID>' \
                    --header 'X-IBM-Client-Secret: <my secret>' \
                    --header 'accept: application/json'
                  

                  44b19423-474c-4042-a8ff-69c32a3079a8-image.png

                  1 Reply Last reply Reply Quote 0
                  • D Offline
                    D3dl3g
                    last edited by Jun 28, 2022, 11:07 PM

                    any ideas?? @sdetweil

                    Is this portion of the module broke for me, do i need to use a different service?

                    S 1 Reply Last reply Jun 28, 2022, 11:26 PM Reply Quote 0
                    • S Online
                      sdetweil @D3dl3g
                      last edited by sdetweil Jun 28, 2022, 11:28 PM Jun 28, 2022, 11:26 PM

                      @D3dl3g I don’t KNOW for sure… the provider has its own apiBase set…

                      * 		apiBase: "https://api-metoffice.apiconnect.ibmcloud.com/metoffice/production/v0/forecasts/point/",
                      

                      so comment that out in your config
                      add // to the start of the line with apiBase:

                      also, as this doesn’t have a node helper, we should be looking in the browser logs

                      ctrl-shift-i, select the console tab and put

                      weath
                      

                      in the filter field

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      D 1 Reply Last reply Jun 29, 2022, 8:35 AM Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 4
                      • 2 / 4
                      2 / 4
                      • First post
                        14/34
                        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