I have been using MMM-OpenWeatherMapForecast for a few months without issue. I have showDailyForecast in one section with maxHourliesToShow set to 24. I also have 4 different daily update sections, including the same location as the showDailyForecast updates. So 5 calls/sections total. The daily updates pull every 12 hours and the hourly pulls every hour.
I upgraded my MMM-OpenWeatherMapForecast configs to 3.0 onecall a couple weeks ago. I also recently updated that module, the magicmirror base, and the Raspberry Pi software around the same time. I’m having a hard time pinning down the root cause. I’ve since renamed my MagicMirror folder and redownloaded in case I made a mistake somewhere else.
I recently found that my hourly weather was not updating. Looking at it further, it appears to have gone stale around July 2nd, I found this on the 5th or 6th. When I logged into my Raspberry Pi 4, I took the regular OS updates that were waiting, rebooted, and restarted the Magic Mirror software and configured modules. I assumed something was hung and needed a reboot I then noticed an unusually high number of calls going to onecall_30. My normal amount is 60-70 calls per day but I was close to 1,000 by late afternoon.
A lot of troubleshooting later I’ve found that having the hourly and daily calls running at the same time causes the system to slowly freeze up. Having more than one call/section enabled causes an unusually high number of calls to go out. Having just the showDailyForecast section enabled runs fine and registers one call in the openweathermap usage logs per attempt. Having this hourly plus one of the daily calls running results in 8 calls per attempt. Having three sections enabled results in 27 calls, 4 sections enabled results in 64 calls, and having all five sections running results in 100-152 calls. These counts are recorded at startup; I don’t have the data on refresh rates.
When I have more than one instance of the weather call in my config, I get an unusual number of calls being recorded at https://home.openweathermap.org/statistics/onecall_30. If I have the hourly instance and any daily instance enabled at the same time, it seems like each new API call bogs the system down more. It’s evident in the clock. I start seeing time update every 2 seconds, then every 3-4, then more. Eventually my calendar wouldn’t display, flashing briefly for a moment before going away again - maybe it was trying to refresh and not getting through? Having more daily instances enabled along with the hourly causes it degrade faster. Eventually it just stops updating and appears frozen. When it gets to this point, the openweathermap statistics stops bumping like the calls are never going out.
config.js
modules: [
{
module: "alert",
},
{
module: "updatenotification",
position: "top_bar"
},
{
module: "clock",
position: "top_left",
timeFormat: 12
},
{
module: "calendar",
header: "Calendar",
position: "top_left",
config: {
fetchInterval: 3600000 * 12, // 12 hours
customEvents: [{keyword: 'Birthday', symbol: 'birthday-cake', color: 'Gold'}, {keyword: 'Anniversary', symbol: 'fas fa-solid fa-face-kiss-wink-heart', color: 'Red'}],
coloredText: true,
coloredSymbol: true,
calendars: [
{
symbol: "calendar-check",
url: "https://calendar.google.com/calendar/ical/myhashnumber%40group.calendar.google.com/private-mycalendarnumber/basic.ics"
},
{
symbol: "calendar-check",
url: "https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics"
}
]
}
},
{
module: "MMM-OpenWeatherMapForecast",
header: "Kent, WA",
position: "top_left",
config: {
apikey: "myapikey",
latitude: "47.394788",
longitude: "-122.214061",
updateInterval: 15, // 720 = 12 hrs
requestDelay: 500, // ms
units: "imperial",
showCurrentConditions: false,
showSummary: false,
showForecastTableColumnHeaderIcons: false,
showHourlyForecast: false,
maxDailiesToShow: 5,
concise: false,
iconset: "4c",
forecastLayout: "table"
}
},
{
module: "MMM-OpenWeatherMapForecast",
header: "Dade City, FL",
position: "top_left",
config: {
apikey: "myapikey",
latitude: "28.32506",
longitude: "-82.30354",
updateInterval: 30, // 12 hrs
requestDelay: 4500, // ms
colored: false,
units: "imperial",
showCurrentConditions: false,
showSummary: false,
showForecastTableColumnHeaderIcons: false,
showHourlyForecast: false,
maxDailiesToShow: 5,
forecastLayout: "table"
}
},
{
module: "MMM-OpenWeatherMapForecast",
header: "Lawndale, CA",
position: "top_left",
config: {
apikey: "myapikey",
latitude: "33.90011",
longitude: "-118.35854",
updateInterval: 60, // 720 = 12 hrs
requestDelay: 3500, // ms
colored: false,
units: "imperial",
showCurrentConditions: false,
showSummary: false,
showForecastTableColumnHeaderIcons: false,
showHourlyForecast: false,
maxDailiesToShow: 5,
forecastLayout: "table"
}
},
{
module: "MMM-OpenWeatherMapForecast",
header: "Toulouse",
position: "top_left",
config: {
apikey: "myapikey",
latitude: "43.6033738",
longitude: "1.4307561",
updateInterval: 60, // 12 hrs
requestDelay: 1500, // ms
colored: false,
units: "imperial",
showCurrentConditions: false,
showSummary: false,
showForecastTableColumnHeaderIcons: false,
showHourlyForecast: false,
maxDailiesToShow: 5,
forecastLayout: "table"
}
},
{
disabled: false,
module: "MMM-SunRiseSet",
position: "top_right",
config: {
lat: "47.394788",
lng: "-122.214061",
imageOnly: "no",
timeFormat: "h:mm a",
maxWidth: "515px"
}
},
{
module: "MMM-OpenWeatherMapForecast",
header: "Today's Hourly Weather",
position: "top_right",
config: {
apikey: "myapikey",
latitude: "47.394788",
longitude: "-122.214061",
updateInterval: 15, // minutes
requestDelay: 2500, // ms
units: "imperial",
hourlyForecastInterval: 1,
maxHourliesToShow: 24,
showDailyForecast: true,
maxDailiesToShow: 5,
concise: false,
iconset: "4c",
forecastLayout: "table"
}
},
]
Raspberry Pi 4 top results while system appears locked up. I am ssh’ing from another computer’s terminal.
