Read the statement by Michael Teeuw here.
Unsolved MMM-NotificationTrigger transform payload
-
@lavolp3 actually payload IS an array
(from my system default cal)0: {title: "M L King Day", startDate: "1579500000000", endDate: "1579586400000", fullDayEvent: true, location: "United States", …} 1: {title: "Valentine's Day", startDate: "1581660000000", endDate: "1581746400000", fullDayEvent: true, location: "United States", …} 2: {title: "Presidents' Day", startDate: "1581919200000", endDate: "1582005600000", fullDayEvent: true, location: "United States", …} 3: {title: "Good Friday", startDate: "1586494800000", endDate: "1586581200000", fullDayEvent: true, location: "United States", …} 4: {title: "Easter Sunday", startDate: "1586667600000", endDate: "1586754000000", fullDayEvent: true, location: "United States", …} 5: {title: "Mother's Day", startDate: "1589086800000", endDate: "1589173200000", fullDayEvent: true, location: "United States", …} 6: {title: "Memorial Day", startDate: "1590382800000", endDate: "1590469200000", fullDayEvent: true, location: "United States", …} 7: {title: "Father's Day", startDate: "1592715600000", endDate: "1592802000000", fullDayEvent: true, location: "United States", …} 8: {title: "Independence Day Holiday", startDate: "1593752400000", endDate: "1593838800000", fullDayEvent: true, location: "United States", …} 9: {title: "Independence Day", startDate: "1593838800000", endDate: "1593925200000", fullDayEvent: true, location: "United States", …}
so the js would be
payload[0].title
for the title (cal subject) of the 1st cal entry
I found this by using the developers window (ctrl-shift-i), selecting the ‘Sources’ tab,
expanding the modules entry, and then the calendar entry to get to calendar.jsthen knowing it is a notification,(notificationreceived) i searched (ctrl-f) for ‘sendnotification’
I put a stop on that line, hit refesh(f5), and the web page starts over, and stops on that line, then use the mouse to hover over the eventlist variable name, and it expands to the data layout -
@lavolp3 yes that is exacly wat i want. can you please post the code? Thank you
-
{ module: "MMM-NotificationTrigger", config: { triggers:[ { trigger: "CALENDAR_EVENTS", fires: [ { fire:"SHOW_ALERT", payload: (payload) => { var testMessage = ""; payload.forEach(event => { if (moment(event.startDate) > moment() && moment(event.startDate) < moment().add("15", minutes)) { testMessage += event.title + ", " } }); return { type: "notification", title: "test", message: testMessage } }, }, ], }, ] } },
This will most probably not work and needs to be de-bugged, but might be worth as a starting point. And I hope you get what I’m hinting at.
-
can you please post the code?
Took me 10 seconds :smiling_face_with_sunglasses:
No, of course I was already working on it.Seriously, I like the idea, that’s why I did a contribution.But you need to be more specific if you want to have the complete solution
-
@lavolp3 Thank you for the fast answer. I tried this code. the result is that I get a notification but so far it only contains the title (test) but not the massage (title of the calendar event)
-
@lavolp3 what do you mean by “more specific”?
-
@corius did u have an event within the next 15 minutes?
-
@corius >what do you mean by “more specific”?
all the questions we have been asking… title, time filter, number to show, …
-
@sdetweil yes i have
-
@corius Well to be honest I did not expect it to work from scratch. But I am considering taking this into my own mirror to remind me of taking out the trash. :smiling_face:
I won’t get it done today.
If you don’t know how to work on from here I need to ask for your patience, and I’ll have a closer look at it myself in the next days.