Read the statement by Michael Teeuw here.
CALENDAR_EVENTS not broadcasting? MMM-Calendarweek
-
Hey so I’m trying to make an app do something if it receives the notification ‘CALENDAR_EVENTS’ from the calendar.
So far its not doing anything. I tried to use the alert module but I get nothing from that either. If MMM-CalendarWeek isnt properly working with broadcasts, is there a way to set up the stock calendar module to work in the background?
My code is here
// Default module config. defaults: { this.hide(), text: "Calendar alert receieved!" }, notificationReceived: function(notification, payload, sender) { if (notification === 'CALENDAR_EVENTS') { var x = payload, for (let value of x) { this.show(), var startTime = new Date(startDate), var endTime = new Date(endDate), var ms = (endTime.getTime() - startTime.getTime()) / 1000, setTimeout(function(){ this.hide() }, ms), } } }, // Override dom generator. getDom: function() { var wrapper = document.createElement("div"); wrapper.innerHTML = this.config.text; return wrapper; } }); -
@subintro one of my modules depends on the calendar notification and works fine
-
And you’re using the MMM-Calendarweek module? Does my notificationReceived look like it should be working to you?
-
@subintro no, using the default calendar module, and your code looks exactly like mine for handling the event
-
@sdetweil Ah darn, I can’t understand why its not working then.
I’ve put the default calendar module in the background but doesnt seem like its working. I’m lost with this haha.
Thanks for the help
-
So I’ve updated my code to make it as simple as possible, but I’m still not getting anything.
I’ve tried adding console.log to my calendar module so when it sends the notification, it logs it so I can see it actually working, but for some reason the calendar breaks when I do that.
// Default module config. defaults: { text: "Notification received!"; this.hide; }, notificationReceived:function(notification, payload, sender) { if (notification === 'CALENDAR_EVENTS') { this.show(); this.updateDom(); } },So I believe this should be working if the calendar events is being sent out.
Is there any other way I can check the notifications are sending without console.log?
-
@Subintro
If you install the MMM-Remote-Control module you are able to simulate notifications. The link for doing that has to look like: http://IPofYourMM:8080/remote?action=NOTIFICATION& notification=CALENDAR_EVENTSI would also put a console.log before your
this.show();in your code:
if (notification === 'CALENDAR_EVENTS') { console.log("Calenderevent received."); this.show(); this.updateDom(); }AxLED
-
You should use Log.log() in the module instead of console.log()…
Then open the debug console, ctrl-shift-i letter i)… select the console tab
-
@axled said in CALENDAR_EVENTS not broadcasting? MMM-Calendarweek:
console.log(“Calenderevent received.”);
Oh man this has been massive help. Looks like my module isnt receiving notifications at all. Time to figure it out
-
Man I think I misunderstood how the broadcast events works, I was understanding that when an event started, it broadcasted that one event as it started. I was hoping I could make a pop-up notification system for when an event starts, and disappear when it ends.
Thats what it seems like looking at the calendar console logs
-
It’s just one event, ‘here are the calendar “events” I found that match the configured environment’
That’s what I see in my module
case “CALENDAR_EVENTS”:
this.processEvents(payload); -
Hi,
Author of MMM-CalendarWeek here. I can confirm that the module is broadcasting the event as expected, unless you manually disable it in the module configuration page.
As you discovered, the module will broadcast all events available in one array, sorted on startdate as can be seen in the source code here.
-
Would also appreciate you marking the issue as solved, as this is not an issue with the MMM-CalendarWeek module :) Thanks!
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