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-Sunrise-Sunset

    Scheduled Pinned Locked Moved Utilities
    44 Posts 9 Posters 28.1k Views 10 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.
    • vblokeV
      vbloke Module Developer @mrdenmark
      last edited by

      @mrdenmark it appears that the API doesn’t like the Southern Hemisphere…

      http://api.sunrise-sunset.org/json?lat=-44.57&lng=168.50&date=today

      Is that config exactly as it appears in your config file? layout should be all lowercase.

      M 1 Reply Last reply
      Reply Quote 1
      • M
        mrdenmark @vbloke
        last edited by

        @vbloke i changed the config file to lowercase,that fixed the layout
        as for the api?not sure what the options are,i’ll see if i can an alternative,
        thanks for your help

        vblokeV 1 Reply Last reply
        Reply Quote 0
        • vblokeV
          vbloke Module Developer @mrdenmark
          last edited by

          @mrdenmark the API returns all dates in UTC, so I may look at putting a time zone offset option in the config, or if you feel confident doing that yourself, feel free to try.

          1 Reply Last reply
          Reply Quote 0
          • M
            mrdenmark
            last edited by

            would it be possible to add a line with the day length?i’m not sure how to go about adding a time offset,i’ll do some research

            vblokeV 1 Reply Last reply
            Reply Quote 0
            • vblokeV
              vbloke Module Developer @mrdenmark
              last edited by

              @mrdenmark if you update the module now, it should account for the timezone if you set it in your config. From your latitude/longitude, yours (I think) would be “Pacific/Auckland”.

              Try this:

              {
                module: "MMM-Sunrise-Sunset",
                position: "top_left",
                config: {
              	latitude: "-44.57",
              	longitude: "168.50",
              	timezone: "Pacific/Auckland",
              	layout: "list"
                }
              },
              
              S 1 Reply Last reply
              Reply Quote 0
              • M
                mrdenmark
                last edited by

                worked,cheers!

                1 Reply Last reply
                Reply Quote 1
                • S
                  sdetweil @vbloke
                  last edited by

                  @vbloke you can get the timezone from the lat/lng

                  http://www.geonames.org/export/web-services.html#timezone

                  https://stackoverflow.com/questions/16086962/how-to-get-a-time-zone-from-a-location-using-latitude-and-longitude-coordinates

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply
                  Reply Quote 0
                  • vblokeV
                    vbloke Module Developer
                    last edited by

                    https://github.com/prydonian/MMM-Sunrise-Sunset

                    Made a fairly big update using a different API that needs a free key.
                    https://ipgeolocation.io/signup.html

                    It now gives you moonrise and moonset times and day length.

                    1 Reply Last reply
                    Reply Quote 0
                    • H
                      henry2man
                      last edited by

                      I tried this module but activating this causes my MM to show nothing. I had no error messages on MM logs (in my case, a docker server-only instance) and nor on my Chrome console.

                      In other words it looks that the IPGeo free key expires in 1 day…

                      vblokeV P 2 Replies Last reply
                      Reply Quote 0
                      • vblokeV
                        vbloke Module Developer @henry2man
                        last edited by vbloke

                        @henry2man the API is limited to 1000 calls per day. It doesn’t appear to expire after a day.

                        Can you post the config for the module?

                        it should look like this:

                            {
                              module: "MMM-Sunrise-Sunset",
                              position: "bottom_bar",
                              config: {
                        		apiKey: "API_KEY",
                        		latitude: "123.123",
                        		longitude: "23.456",
                        		layout: "inline"
                              }
                            },
                        
                        1 Reply Last reply
                        Reply Quote 0
                        • H
                          henry2man
                          last edited by

                          I removed the config but seemed like yours. I followed the README from master. I’ll try again later, but also I’ve reviewed this API

                          https://api.sunrise-sunset.org/json?lat=36.7201600&lng=-4.4203400&formatted=0

                          It has enough information and seems to be free.

                          What do you think?

                          vblokeV 1 Reply Last reply
                          Reply Quote 0
                          • vblokeV
                            vbloke Module Developer @henry2man
                            last edited by

                            @henry2man that’s the one I was using before, but it required a lot of work to get the time in your local time zone as all times were returned as UTC.

                            The new API uses your location to format the time automatically.

                            H Mykle1M 2 Replies Last reply
                            Reply Quote 0
                            • H
                              henry2man @vbloke
                              last edited by

                              @vbloke In this link there is a simple way to get a ISO 8601 into your local timezone --> https://stackoverflow.com/a/31453408

                              var utcDate = '2011-06-29T16:52:48.000Z';  // ISO-8601 formatted date returned from server
                              var localDate = new Date(utcDate);
                              

                              api.sunrise-sunset.org can return ISO 8601 dates using

                              formatted=0
                              

                              parameter…

                              If date parsing is the major issue & this solution works I think this approach is simpler. Even you can default the URL and simply configure lat/long & style (inline/list)

                              Just my 2 cents…

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

                                @vbloke

                                This is right out of my MMM-SunRiseSet module.

                                Feel free to use it if you like. :thumbsup:

                                // sunrise set to local time using moment
                                   var sunrise = document.createElement("div");
                                   sunrise.classList.add("small", "bright", "sunrise");
                                   sunrise.innerHTML = "Sunrise is at " + moment(SunRiseSet.sunrise).local().format("h:mm a") + " &nbsp &nbsp "
                                + "Sunset is at " + moment(SunRiseSet.sunset).local().format("h:mm a");
                                   wrapper.appendChild(sunrise);
                                

                                Create a working config
                                How to add modules

                                1 Reply Last reply
                                Reply Quote 0
                                • P
                                  pugsly @henry2man
                                  last edited by

                                  @henry2man
                                  I am having the same problem, whenever I put it in my config the display is blank.

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

                                    @pugsly not in config… you have to edit the actual module code

                                    Sam

                                    How to add modules

                                    learning how to use browser developers window for css changes

                                    P 1 Reply Last reply
                                    Reply Quote 0
                                    • P
                                      pugsly @sdetweil
                                      last edited by

                                      @sdetweil Not sure I know what you mean. When I put this in my config the screen is all blank:

                                          {
                                              module: "MMM-Sunrise-Sunset",
                                              position: "top_right",
                                              header: "Sunrise",
                                              config: {
                                                  latitude: "39.2907",
                                                  longitude: "-75.6344",
                                                  apikey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                                                  layout: "inline"
                                                      }
                                          },
                                      
                                      S 2 Replies Last reply
                                      Reply Quote 0
                                      • S
                                        sdetweil @pugsly
                                        last edited by

                                        @pugsly open the developers window on your blank screen MM, using ctrl-shift-i on the keyboard… select the tab labeled console and scroll up to find any errors

                                        Sam

                                        How to add modules

                                        learning how to use browser developers window for css changes

                                        P 1 Reply Last reply
                                        Reply Quote 0
                                        • P
                                          pugsly @sdetweil
                                          last edited by

                                          @sdetweil

                                          Uncaught ReferenceError: $ is not defined
                                          at Class.updateSun (MMM-Sunrise-Sunset.js:33)
                                          at Class.start (MMM-Sunrise-Sunset.js:12)
                                          at startModules (loader.js:55)
                                          at loader.js:40
                                          at HTMLLinkElement.stylesheet.onload (loader.js:200)

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

                                            @pugsly said in MMM-Sunrise-Sunset:

                                            Uncaught ReferenceError: $ is not defined

                                            this module depends on jquery library being installed for this module, but its not…,

                                            I am working on instructions for you… hang on

                                            do

                                            cd ~/MagicMirror/modules/MMM-Sunrise-Sunset
                                            npm install jquery
                                            # note the trailing dot (.) on the next line
                                            cp node_modules/jquery/dist/jquery.js .
                                            

                                            then start your mirror again

                                            Sam

                                            How to add modules

                                            learning how to use browser developers window for css changes

                                            P D 2 Replies 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
                                            • 3
                                            • 2 / 3
                                            • 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