Read the statement by Michael Teeuw here.
Problem with MMM-CalendarExt2 tranforming
-
Hello forum!
My first post here. I have been following this project for a while, and finally got around to making one myself. I have a functioning mirror, with all the modules i want and it is amazing. The only minor problem i have, is with the transform function in MMM-CalendatExt2.I use the function as described in the documentation, but i cannot get it to work. Or, it did actually work for about a day, then it broke.
I try to add icons to my event headers based on the content of the event (either description or title), but as stated, i cannot get this to work. If i try to start MM with this code, the MMM-CalendarExt2 will not load. Everything else works fine.
I have included the code for the module below, if anyone could take a look and maybe tell me what i am doing wrong, it would be great. The calendar-adresses are removed and the code-snippet for the transform is commented out, for obvious reasons.
{ module: 'MMM-CalendarExt2', config: { fetchInterval: 60 * 1000 * 15, rotateInterval: 0, updateInterval: 60 * 1000 * 15, firstDrawingDelay: 10000, calendars: [ { name: "Johan privat", url: "******************************************************" className: "johan", }, { name: "Johan Jobb", url: "******************************************************" className: "johanjobb", }, { name: "Offentlige helligdager", url: "******************************************************" className: "holiday", }, { name: "Bursdager", url: "******************************************************" className: "bursdager", }, { name: "Trash", url: "******************************************************" className: "trash", }, { name: "Mia privat", url: "******************************************************" className: "mia", }, ], views: [ { name: "Uke", mode: "weekly", locale: "nb_NO", dateFormat: "nb", calendars: [], position: "top_left", slotCount: 1, maxItems: 500, filterPassedEvent: true, slotMaxHeight: "500px", dateFormat:"ddd DD/MM", slotTitleFormat: "[Uke] WW" }, { name: "Dag", mode: "daily", locale: "nb_NO", dateFormat: "nb", calendars: [], position: "top_left", dateFormat:"ddd DD/MM", slotTitleFormat: "[Idag]", slotCount: 1, maxItems: 500, /* transform: (event)=>{ if (event.description.search("Bursdag") > -1) { // If the event might include "Birthday" in its $ event.icon = "fxemoji-birthdaycake"; // Set icon of that event to "fxemoji-birthdaycake" } if (event.title.search("plast") > -1) { event.icon = "fxemoji-blackuniversalrecyclingsymbol"; } if (event.title.search("Restavfall") > -1) { event.icon = "fxemoji-wastebasket"; } if (event.title.search("glass og metall") > -1) { event.icon = "fxemoji-cocktailglass"; } if (event.title.search("papir") > -1) { event.icon = "fxemoji-rolledupnewspaper"; } if (event.description.search("Katt") > -1) { event.icon = "fxemoji-cat"; } if (event.description.search("Hjerte") > -1) { event.icon = "fxemoji-sparklingheart"; } if (event.description.search("Lilla") > -1) { event.icon = "fxemoji-heartpurple"; } if (event.description.search("Beer") > -1) { event.icon = "fxemoji-clinkingbeermugs"; } if (event.description.search("Par") > -1) { event.icon = "fxemoji-couplekiss"; } if (event.title.search("Yoga") > -1) { event.icon = "grommet-icons:yoga"; } return event; // Return that event. }, */ }, ], scenes: [ { name: "Hovedskjerm", views: ["Dag", "Uke"], }, ], }, },
haglefar
-
@haglefar said in Problem with MMM-CalendarExt2 tranforming:
documentation
you have ; should it be a , example in documentation shows no ; or ,
event.icon = "grommet-icons:yoga";
-
Sorry, forgot to remove those from testing before. Tried again with the “;” removed, same result as before. Module does not show up at all. No errors in the logs.
EDIT: Here is the new code, properly formatted, (I think):
/* Magic Mirror Config Sample * * By Michael Teeuw https://michaelteeuw.nl * MIT Licensed. * * For more information on how you can configure this file * see https://docs.magicmirror.builders/getting-started/configuration.html#general * and https://docs.magicmirror.builders/modules/configuration.html */ let config = { address: "localhost", // Address to listen on, can be: // - "localhost", "127.0.0.1", "::1" to listen on loopback interface // - another specific IPv4/6 to listen on a specific interface // - "0.0.0.0", "::" to listen on any interface // Default, when address config is left out or empty, is "localhost" port: 8080, basePath: "/", // The URL path where MagicMirror is hosted. If you are using a Reverse proxy // you must set the sub path here. basePath must end with a / ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], // Set [] to allow all IP addresses // or add a specific IPv4 of 192.168.1.5 : // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"], // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format : // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"], useHttps: false, // Support HTTPS or not, default "false" will use HTTP httpsPrivateKey: "", // HTTPS private key path, only require when useHttps is true httpsCertificate: "", // HTTPS Certificate path, only require when useHttps is true language: "nb", locale: "nb-NO", logLevel: ["INFO", "LOG", "WARN", "ERROR", "DEBUG"], // Add "DEBUG" for even more logging timeFormat: 24, units: "metric", // serverOnly: true/false/"local" , // local for armv6l processors, default // starts serveronly and then starts chrome browser // false, default for all NON-armv6l devices // true, force serveronly mode, because you want to.. no UI on this device modules: [ { module: "alert", }, { module: 'MMM-Cursor', config: { timeout: 10000, } }, { module: "updatenotification", position: "top_bar" }, { module: "clock", position: "top_left" }, { module: 'MMM-CalendarExt2', config: { fetchInterval: 60 * 1000 * 15, rotateInterval: 0, updateInterval: 60 * 1000 * 15, firstDrawingDelay: 10000, calendars: [ { name: "Johan privat", url: "******************************************************", className: "johan", }, { name: "Johan Jobb", url: "******************************************************", className: "johanjobb", }, { name: "Offentlige helligdager", url: "******************************************************", className: "holiday", }, { name: "Bursdager", url: "******************************************************", className: "bursdager", }, { name: "Trash", url: "******************************************************", className: "trash", }, { name: "Mia privat", url: "******************************************************", className: "mia", }, ], views: [ { name: "Uke", mode: "weekly", locale: "nb_NO", dateFormat: "nb", calendars: [], position: "top_left", slotCount: 1, maxItems: 500, filterPassedEvent: true, slotMaxHeight: "500px", dateFormat:"ddd DD/MM", slotTitleFormat: "[Uke] WW" }, { name: "Dag", mode: "daily", locale: "nb_NO", dateFormat: "nb", calendars: [], position: "top_left", dateFormat:"ddd DD/MM", slotTitleFormat: "[Idag]", slotCount: 1, maxItems: 500, transform: (event)=>{ if (event.description.search("Bursdag") > -1) { // If the event might include "Birthday" in its title, event.icon = "fxemoji-birthdaycake" // Set icon of that event to "fxemoji-birthdaycake" } if (event.title.search("plast") > -1) { event.icon = "fxemoji-blackuniversalrecyclingsymbol" } if (event.title.search("Restavfall") > -1) { event.icon = "fxemoji-wastebasket" } if (event.title.search("glass og metall") > -1) { event.icon = "fxemoji-cocktailglass" } if (event.title.search("papir") > -1) { event.icon = "fxemoji-rolledupnewspaper" } if (event.description.search("Katt") > -1) { event.icon = "fxemoji-cat" } if (event.description.search("Hjerte") > -1) { event.icon = "fxemoji-sparklingheart" } if (event.description.search("Lilla") > -1) { event.icon = "fxemoji-heartpurple" } if (event.description.search("Beer") > -1) { event.icon = "fxemoji-clinkingbeermugs" } if (event.description.search("Par") > -1) { event.icon = "fxemoji-couplekiss" } if (event.title.search("Yoga") > -1) { event.icon = "grommet-icons:yoga" } return event // Return that event. }, }, ], scenes: [ { name: "Hovedskjerm", views: ["Dag", "Uke"], }, ], }, },