I guess I should have run some tests with just the standard calendar module.
Now just using the standard calendar module - and it just says “Loading” despite having also printed “Broadcasting 22 events from”
I guess I should have run some tests with just the standard calendar module.
Now just using the standard calendar module - and it just says “Loading” despite having also printed “Broadcasting 22 events from”
Actually have to take this back. Currently testing running in server only mode and a browser so I can see the console easier
When I see in the log this line:
[2025-01-27 13:52:24.893] [INFO] Calendar-Fetcher: Broadcasting 22 events from <redacted>
I can say that modules are NOT getting any calendar notifications, despite this log entry. They are not broadcast. I added some code to Ext3Agenda to print out when it gets any
notification, and it never gets any CAL items. (I see it getting DOM_CREATED, DOM_UPDATED, etc,etc)
I see in the console log the following:
sorting events count=0
slicing events total maxcount=100
which seems odd given that the helper reported broadcasting 22 events. Those items repeat in the console log , but it’s always sorting events count=0
UNTIL I refresh the browser - Now I see the Ext3Agenda module getting CALENDER_EVENTS and sorting events count=22
Bah! I have to apologize - I was on the develop branch but apparently, I was some commits behind and I think I was missing the commit that fixed the “clipping” problem
I made sure to update to the head of develop and things are working much better now. So it seems all along it has been the known issue
Doh!
Yea, I believe the default calender is working and broadcasting correctly - not sure exactly where Ext3Agenda is having problems - but I have a few ideas I plan to try out.
Further strangeness.
Let’s say I change waitFetch
to something that shouldn’t work (eg 5 seconds) - clearly, this doesn’t work since the first broadcast is after a minute or so.
But if I manually refresh the browser as soon as I see the log entry about the broadcast - everything appears just fine.
So for example, setting
waitFetch: 5 * 1000,
refreshInterval: 2 * 60 * 1000,
Nothing will appear in the calendar - not at start (expected) and not after 2 mins (1 refresh), or 4 mins, or 10 mins or however long I want to wait - nothing.
But if I manually refresh - everything appears right away as long as I refresh after
the broadcast log line
I am on the develop branch
The entire start is at 10:54:23
[2025-01-27 10:54:23.207] [LOG] Starting MagicMirror: v2.31.0-develop
I’m not sure when Ext3Agenda starts as there is no log item specific to that afaik - but I assume it’s sometime around:
[2025-01-27 10:54:26.290] [LOG] No helper found for module: MMM-CalendarExt3Agenda.
so Ext3 start is no earlier than 10:54:23
and the first broadcast was at 10:55:44
- this is much less than the 5 minutes I have manually configured for waitFetch
.
(in other words, I am waiting much longer than should be needed, but it does not work unless I manually refresh)
The log at 11:01 is the second
broadcast of the same calendar
I am only pulling 5 days of data and not broadcasting past events, 23 is correct.
module: "calendar",
hiddenOnStartup: true,
position: "top_left",
config: {
broadcastEvents: true,
broadcastPastEvents: false,
maximumNumberOfDays: 5,
maximumEntries: 100,
fetchInterval: 5 * 60 * 1000,
calendars: [
{
name: "family",
URL: "<redacted>"
}
]
}
module: "MMM-CalendarExt3Agenda",
position: "top_left",
config: {
showMiniMonthCalendar: false,
firstDayOfWeek: 1,
startDayIndex: 0,
endDayIndex: 0,
calendarSet: ['family'],
waitFetch: 5 * 60 * 1000,
refreshInterval: 7 * 60 * 1000,
}
Was out for a week - some more details:
Here are relevant log entries:
0|MagicMirror | [2025-01-27 10:54:33.580] [LOG] Launching application.
0|MagicMirror | [2025-01-27 10:54:50.855] [LOG] Create new calendarfetcher for url: - Interval: 300000
0|MagicMirror | [2025-01-27 10:55:44.585] [INFO] Calendar-Fetcher: Broadcasting 23 events from
…
0|MagicMirror | [2025-01-27 11:01:33.443] [INFO] Calendar-Fetcher: Broadcasting 23 events from
So that was about a minute to broadcast the first time, and then it follows the refresh interval reasonably closes.
I have the Ext3 module waitFetch
set to 5 minutes (5 * 60 *1000) - well after the first broadcast. When the Ext3 module draws after 5 minutes, there is nothing in it, and it is empty with no events whatsoever. It’s like it has no data at all.
I have the Ext3 module refreshInterval
set to 7 minutes (7 * 60 * 1000) - after the 7 minutes the module will refresh and it remains empty despite the calendar having done two broadcasts. The Ext3 module will remain empty for hours.
However, if I manually refresh the browser using the remotecontrol module - the Ext3 module takes 5 minutes to appear (based on waitFetch
but will have all the data)
Yea, it’s a mystery to me as well - I just know doing the manual refresh works very reliably.
I’ve had this problem on a stock pi3 b and a pi3 a+ - initially, I thought it was related to the low memory issues on the pi3 a+ - but as I update to use this new module from older ones I’ve seen it again on a stock 4gb pi3
I have this same problem with Ext3Agenda - manual refresh always works.
Sometimes waiting works - I’ve waited for 4 hours and suddenly have items appear. Waiting for refreshInterval
doesn’t work - I can see the module/refresh with no data even though the calendar has broadcasted the items.
My current workaround is to wait for a few minutes and then use MMM-RemoteControl to connect and refresh the browser using that module, which in my experience works 100% of the time
CX3? I’m still using OG CX …
I couldn’t get CX2 to do what I was doing with CX so I never upgraded at all - it still runs, but it does have trouble parsing some kinds of calendar items.
I use OG CX to do
A single Day scrolling view for my 7" “Desktop MM” - not much screen space on the 7" screen so can only show a single day on one half in a scrolling loop
A 3-day view for the Kitchen Family Screen - an entire week makes things too small so you cannot see easily - a 3 day view fits nicely though and can use a nice large font
I’ll agree that CX2 was crazy complicated to configure though - and I gave up trying to get it look like I wanted.