@sdetweil O.K., thanks!
Read the statement by Michael Teeuw here.
Posts
-
RE: MMM-CalendarExt3Agenda
@rkorell
In addition there is a “[CX3A] Module is not prepared yet, wait a while.”
Warning - this seems to be an already resolved issue?
I’ve installed the modules within the current week and just tried to “git pull” - "already up to date! … -
RE: MMM-CalendarExt3Agenda
@rkorell
…
I just had an idea and checked the console for ext2 messages…CX3_shared.mjs:155 Uncaught (in promise) TypeError: symbol.match is not a function at CX3_shared.mjs:155:32 at Array.forEach (<anonymous>) at renderSymbol (CX3_shared.mjs:151:18) at renderEventAgenda (CX3_shared.mjs:256:3) at drawAgenda (MMM-CalendarExt3Agenda.js:362:22) at Class.draw (MMM-CalendarExt3Agenda.js:500:11) at Class.getDom (MMM-CalendarExt3Agenda.js:189:16) at main.js:132:35 at new Promise (<anonymous>) at updateDom (main.js:112:10)is shown there if I comment the named lines …
- I will double check.
Ralf
-
RE: MMM-CalendarExt3Agenda
Dear all, please help!
I 'm going mad, because I absolutely cannot identify the “error”
I’m using Ext3Aganda “successfully” but I’ve stolen some code and now as I try to optimize I run in an unexpected behaviour.
In the Module call I’ve inserted an eventTransformer (seen this block several times around).
(see code below):// Kalenderübersicht (Agendaview) { module: "MMM-CalendarExt3Agenda", position: "top_left", //header: "Wichtige Termine", config: { eventTransformer: (ev) => { const customEvents = [ { keyword: "Restmüll", symbol: ["fa-regular fa-trash-can"], color: "grey" }, { keyword: "Papier", symbol: ["fa-solid fa-dumbbell"], color: "blue" }, { keyword: "Gelber Sack", symbol: ["fa-solid fa-arrows-spin"], color: "yellow" }, { keyword: "Biomüll", symbol: ["fa-regular fa-trash-can"], color: "black" }, { keyword: "Restmüll & Papier & Gelber Sack", symbol: ["fa-regular fa-trash-can"], color: "fuchsia" }, { keyword: "Reise", symbol: "fa-solid fa-briefcase", color: "cyan"}, { keyword: "Arzt", symbol: "fa-solid fa-user-doctor", color: "red"}, { keyword: "Grillen", symbol: "fa-solid fa-grill-hot", color: "red"}, { keyword: "Flug", symbol: "fas fa-plane", color: "Gold"}, { keyword: "Flughafen", symbol: "fas fa-plane", color: "Gold"}, { keyword: "Urlaub", symbol: "fas fa-plane", color: "Gold"}, { keyword: "Krankenhaus", symbol: "fa-solid fa-hospital", color: "red"}, { keyword: "Fahrt", symbol: "fas fa-car", color: "cyan"}, { keyword: "Auto", symbol: "fas fa-car", color: "cyan"}, { keyword: "Hochzeit", symbol: "fa-solid fa-heart", color: "gold"}, { keyword: "Abendessen", symbol: "fas fa-utensils", color: "yellow"}, { keyword: "Restaurant", symbol: "fas fa-utensils", color: "yellow"}, { keyword: "Geburtstag", symbol: "fas fa-birthday-cake", color: "white"}, { keyword: "Workshop", symbol: "fa-solid fa-screwdriver-wrench", color: "white"}, { keyword: "Service", symbol: "fa-solid fa-screwdriver-wrench", color: "white"}, { keyword: "Friseur", symbol: "fa-solid fa-scissors", color: "White"}, { keyword: "Rad", symbol: "fas fa-biking", color: "White"}, { keyword: "Fahrrad", symbol: "fas fa-biking", color: "White"}, { keyword: "Zahnarzt", symbol: "fa-solid fa-tooth", color: "White"}, { keyword: "Arzt", symbol: "fa-solid fa-stethoscope", color: "White"}, { keyword: "Kino", symbol: "fa-solid fa-film", color: "White"}, { keyword: "Film", symbol: "fa-solid fa-film", color: "White"}, { keyword: "Trainig", symbol: "fa-solid fa-book", color: "White"}, { keyword: "Party", symbol: "fa-solid fa-ticket-simple", color: "White"}, { keyword: "Theater", symbol: "fa-solid fa-ticket-simple", color: "White"}, ] const found = customEvents.find((condition) => { return ev.title.search(condition.keyword) !== -1 }) if (found) { ev.symbol = [ found.symbol ], ev.color = found.color } if (ev.title.search("Restmüll") !== -1) { ev.symbol = [ "fa-regular fa-trash-can" ], ev.isFullday = [true], ev.color = "grey" } if (ev.title.search("Papier") !== -1) { //ev.symbol = [ "fa-regular fa-trash-can" ], ev.isFullday = [true], ev.color = "blue" } if (ev.title.search("Gelber Sack") !== -1) { //ev.symbol = [ "fa-solid fa-arrows-spin" ], ev.isFullday = [true], ev.color = "yellow" } if (ev.title.search("Biomüll") !== -1) { ev.symbol = [ "fa-regular fa-trash-can" ], ev.isFullday = [true], ev.color = "black" } if (ev.title.search("Restmüll & Papier & Gelber Sack") !== -1) { //ev.symbol = [ "fa-regular fa-trash-can" ], ev.isFullday = [true], ev.title = "Alle Tonnen", ev.color = "fuchsia" } return ev }, // end Eventtransformer // useWeather: false , showMiniMonthCalendar: false, //onlyEventDays: 10 -- Nur Tage mit terminen anzeigen ist in der custom.css eingetragen, DAS funktioniert... endDayIndex: 30, } // end config CalenderExt3Agenda }, // End module CalenderExt3AgendaIf I try to delete/comment the “ev.symbol” definition in first or second last of the “if statements” in the event transformer the calendar don’t show up anymore - reproducable.
SAME behaviour “not showing up of complete calendar” occurs if I delete the complete “IF” block from the event transformer.
What I have seen (but not understood): if I insert the complete event transformer block the opening and closing bracket of the config part are not identified as corresponding
(I use sublime editor which marks the corresponding brackets on hovering).But I cannot find a bracket error …
Any clue?
THANKS a LOT!
(for my understanding: The main part of the “found” function is redundantly repeated in the following “IF” waterfall - right? - So from my understanding the “found” mechanism should be sufficient to do the color/icon job and the if-cascade is obsolete (with exception of the fullday assignment - which I have added to the stolen code).
Or do I miss something?)Ralf
-
RE: rookie question: "builder encountered a problem, see MagicMirror messages for info"
@sdetweil , O.K, understood.
Thanks for explanation - this makes sense.Again: incredible work from you for the community: Many thanks!
Ralf
-
RE: rookie question: "builder encountered a problem, see MagicMirror messages for info"
Dear Sam, (@sdetweil),
thanks a LOT.
Now it works (at least I get the console without an error), not tried to make any changes.As message from git pull shows, some work for you - THANKS.
Just being curious: Is something special in my environment which causes this unexpected and obviously not omnipresent issue?
What have you fixed?
(If narrated in a feasible amount of time/words) :-)Warmest regards,
Ralf -
RE: New Mirror
And here the target monitor in action - 27’’ Samsung…

Keep you posted.
Regards,
Ralf -
RE: rookie question: "builder encountered a problem, see MagicMirror messages for info"
@sdetweil
O.K., than I was at the right place…
No message found in this output.
Just sent you an email with the .js file attached - renamed with a .txt suffix.
Thanks and warm regards,
Ralf -
RE: rookie question: "builder encountered a problem, see MagicMirror messages for info"
@sdetweil , Dear Sam,
I’ve installed your module today (just an hour or so ago).Where did you get the above posted “MMM-Config” outputs?
As I wrote I do not know where to look…The requested javascript is named "defaults_19492568968080.js " .
I’ve seen your mail address in the past somewhere - I remember it’s your username here at a public mail provider.
But I forgot, which one - was it gmx.com ?Again thanks for your kind help.
Regards,
Ralf -
rookie question: "builder encountered a problem, see MagicMirror messages for info"
Hi gurus,
I’ve just found MMM-config and tried - but get this error messsage:
“builder encountered a problem, see MagicMirror messages for info”…
Where I can find “Magic Mirror Messages”?
Nothing on the screen, nothing on (pm2 logs) log…Any hint would be appreciated!
Regards,
Ralf -
New Mirror
Hello to all,
I’ve started end of last week and today I’m nearly happy with my modules and arrangement.Had struggled somtimes with several modules, not all of interest are currently maintained so sometimes I cannot get run it properly.
Just now I’m “ready” with config - future steps are purchasing the mirror (sample pack is shipping) and build up the frame.
Tomorrow the PIR sensor will arrive so in addition I have to figure out if and how this works and intergrate this sensor into the build.Future step is the integration of a background LED stripe - not sure about this because I’m currently not sure if I’m able to switch this LED on/off in conjunction with monitor (out of MMM-Pir).
Here a current screenshot:

I’ve used standards (weather, clock, newsfeed) and:
MMM-Globe
MMM-MyGarbage
MMM-CalendarExt3Agenda
MMM-Strava
MMM-NowPlayingOnSpotify
MMM-ToDoist
birthdaylist
MMM-SystemStats
MMM-SystemInfo
(MMM-Pir - “installed” but lacking sensor, so disabled and not tested)Target Monitor is a 27’’ Samsung device and I will mount this behind a 120cm*60cm mirror.
(Will post an image, if ready…)I’m thinking about enriching the szenario with an 8’’ android tablet for streaming, but not sure…
Nice rest of the day to all of you, thanks for your really GREAT work and highly motivated assistance in this forum.
Warmest regards,
Ralf -
RE: MMM-CalendarExt3Agenda - how to hide days with no events and hide/filter out events with a keywords
@MMRIZE , thanks - I was aware of this.
Regards,
Ralf -
RE: MMM-CalendarExt3Agenda - how to hide days with no events and hide/filter out events with a keywords
Dear Sam (@sdetweil ),
short feedbacj from this end :-)
I was able to found a compromize.
I’ve found a months old thread with the guy whose mirror I saw and @MMRIZE regardins an equivalent “problem”.
The mentioned CSS solution doesn’t work for me - for whatever reason/* In your custom.css */ .CX3 .event.singleday .headline .title, .CX3 .event.singleday .headline .time { color: var(--calendarColor); }Doesn’t colour the textline.
But in the same discoussion I identified the “idea” to use the fact that whole day events DO use the given color as I define in my config.
So now the apperance isO.K.For reference to others who might have same issues the whole block here:
{ module: "MMM-CalendarExt3Agenda", position: "top_left", //header: "Wichtige Termine", config: { eventTransformer: (ev) => { const customEvents = [ { keyword: "Restmüll", symbol: ["fa-regular fa-trash-can"], color: "grey" }, { keyword: "Papier", symbol: ["fa-solid fa-dumbbell"], color: "blue" }, { keyword: "Gelber Sack", symbol: ["fa-solid fa-arrows-spin"], color: "yellow" }, { keyword: "Biomüll", symbol: ["fa-regular fa-trash-can"], color: "brown" }, { keyword: "Restmüll & Papier & Gelber Sack", symbol: ["fa-regular fa-trash-can"], color: "fuchsia" }, { keyword: "Urlaub", symbol: ["fa-solid fa-dumbbell"], color: "cyan" }, ] const found = customEvents.find((condition) => { return ev.title.search(condition.keyword) !== -1 }) if (found) { ev.icon = [ found.symbol ] ev.color = found.color } if (ev.title.search("Restmüll") !== -1) { ev.symbol = [ "fa-regular fa-trash-can" ], ev.isFullday = [true], ev.color = "grey" } if (ev.title.search("Papier") !== -1) { ev.symbol = [ "fa-regular fa-trash-can" ], ev.isFullday = [true], ev.color = "blue" } if (ev.title.search("Gelber Sack") !== -1) { ev.symbol = [ "fa-solid fa-arrows-spin" ], ev.isFullday = [true], ev.color = "yellow" } if (ev.title.search("Biomüll") !== -1) { ev.symbol = [ "fa-regular fa-trash-can" ], ev.isFullday = [true], ev.color = "brown" } if (ev.title.search("Restmüll & Papier & Gelber Sack") !== -1) { ev.symbol = [ "fa-regular fa-trash-can" ], ev.isFullday = [true], ev.title = "Alle Tonnen", ev.color = "fuchsia" } if (ev.title.search("Urlaub") !== -1) { ev.symbol = [ "fa-regular fa-trash-can" ], ev.isFullday = [true], ev.color = "green" } return ev },Thanks for your support!
Warmest regards,
Ralf -
RE: MMM-CalendarExt3Agenda - how to hide days with no events and hide/filter out events with a keywords
@sdetweil , yes, I’m fully aware of volunteer.
So thanks a LOT!Ralf
-
RE: MMM-CalendarExt3Agenda - how to hide days with no events and hide/filter out events with a keywords
@sdetweil , thanks anyway!
should I place a separate posting?
Regards,
Ralf -
RE: MMM-CalendarExt3Agenda - how to hide days with no events and hide/filter out events with a keywords
@sdetweil , yes indeed.
After making a little bit of progress now I’m not able to understand why the module doosn’t do what I expect…
I try to change the icons as well as the color of the calendar events.
Icon works fine, color for icon as well but the “event” itself doesn’t change color.I’ve figured out that the searchword is found - because it triggers the icon color as well as the icon color (regardless that the current searchword contains an German “Umlaut” (‘ü’).
I found a code snippet here and modified it to my requirements.
ev.color is the attribute I’ve used - this seems the right one.
But It only changes the icon color…{ module: "MMM-CalendarExt3Agenda", position: "top_left", //header: "Wichtige Termine", config: { eventTransformer: (ev) => { const customEvents = [ { keyword: "Gelber Sack", symbol: ["fa-solid fa-arrows-spin"], color: "yellow" }, { keyword: "Restmüll", symbol: ["fa-regular fa-trash-can"], color: "green" }, { keyword: "Biomüll", symbol: ["fa-regular fa-trash-can"], color: "brown" }, { keyword: "Papier", symbol: ["fa-solid fa-dumbbell"], color: "blue" }, { keyword: "Urlaub", symbol: ["fa-solid fa-dumbbell"], color: "cyan" }, ] const found = customEvents.find((condition) => { return ev.title.search(condition.keyword) !== -1 }) if (found) { ev.icon = [ found.symbol ] ev.color = found.color } if (ev.title.search('Restmüll') !== -1) { ev.symbol = [ "fa-solid fa-cake-candles" ] } if (ev.title.search('Papier') !== -1) { ev.symbol = [ "fa-regular fa-trash-can" ] } if (ev.title.search('Gelber Sack') !== -1) { ev.symbol = [ "fa-solid fa-arrows-spin" ] } if (ev.title.search('Biomüll') !== -1) { ev.symbol = [ "fa-regular fa-trash-can" ] } if (ev.title.search('Geb.') !== -1) { ev.title = ev.title.replace('Geb.', '') ev.symbol = [ "fa-solid fa-cake-candles" ] } return ev }, // useWeather: false , showMiniMonthCalendar: false, //onlyEventDays: 10 -- Nur Tage mit terminen anzeigen ist in der custom.css eingetragen, DAS funktioniert... } },Where is my error now?
:-)
TIA for any hint.
Regards,
Ralf -
RE: MMM-CalendarExt3Agenda - how to hide days with no events and hide/filter out events with a keywords
.Dear Sam, @sdetweil ,
shame on me!
This is dumb.
thanks a lot for this hint.If you are doing it right - it works …
I’m terribly embarrassed.
Regards,
Ralf -
RE: MMM-CalendarExt3Agenda - how to hide days with no events and hide/filter out events with a keywords
Dear @sdetweil ,
yes for sure, sorry…
It’s VERY basic, because my trials were ignored I doesn’t spent too much time on it yet…
As you can see I’ve disabled the not working parts (currently except the asked one - “onlyEventDays”.// Kalenderübersicht (Agendaview) { module: "MMM-CalendarExt3Agenda", position: "top_left", header: "Wichtige Termine", // useWeather: false , // showMiniMonthCalendar: false, onlyEventDays: 1 },Thanks for your prompt reply - I was tired yesterday night, so seen your query rigth now.
Warmest regards,
Ralf -
RE: MMM-CalendarExt3Agenda - how to hide days with no events and hide/filter out events with a keywords
Dear gurus,
I’m pretty new here and i do have the exact same problem as the original thread owner.
I’ve identified and tried the conig.cs approach with “onlyEventDays: 5,” but this doesn’t work for me unfortunately.
In addition other documented switches of this module
// useWeather: false ,
// showMiniMonthCalendar: false,
don’t work either for me.
Any idea?
Because of the other two switches I don’t want to play with CSS right now…
Thanks for any hint/advise!Warmest regards,
Ralf