Read the statement by Michael Teeuw here.
MMM-Sunrise-Sunset
-
@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" } },
-
worked,cheers!
-
-
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.htmlIt now gives you moonrise and moonset times and day length.
-
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…
-
@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" } },
-
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?
-
@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.
-
@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…
-
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") + "     " + "Sunset is at " + moment(SunRiseSet.sunset).local().format("h:mm a"); wrapper.appendChild(sunrise);