<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[CalendarExt3 and Google Calendar event display]]></title><description><![CDATA[<p dir="auto">howdy - have spent entirely too many hours trying to get this to display properly so resorting to the experts.</p>
<p dir="auto">At this point in time, I’m just trying to have my Google Calendar feed the events for the CalendarExt3 module as it seems the latter has more flexibility for changes or css down the road.</p>
<p dir="auto">I was finally able to get the ‘calendar grid’ to appear after moving the positioning to the bottom. Its a 27in screen does the Ext3 module position need to be set on the ‘bottom’ to see the calendar grid?</p>
<p dir="auto">Config file with personal calendar redacted and a crude photo of the screen. Events are working as expected from the Google Calendar. <img src="/assets/uploads/files/1722542552532-processed-50594970-3d6b-41c2-b77e-1ad1b521b4cd-resized.jpeg" alt="processed-50594970-3D6B-41C2-B77E-1AD1B521B4CD.jpeg" class=" img-fluid img-markdown" /></p>
<pre><code>/* Config Sample
 *
 * For more information on how you can configure this file
 * see https://docs.magicmirror.builders/configuration/introduction.html
 * and https://docs.magicmirror.builders/modules/configuration.html
 *
 * You can use environment variables using a `config.js.template` file instead of `config.js`
 * which will be converted to `config.js` while starting. For more information
 * see https://docs.magicmirror.builders/configuration/introduction.html#enviromnent-variables
 */
let config = {
    address: "localhost",   // Address to listen on
    port: 8080,
    basePath: "/",        // The URL path where MagicMirror² is hosted
    ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"],  // Set IP addresses that are allowed to connect
    useHttps: false,      // Support HTTPS or not
    httpsPrivateKey: "",  // HTTPS private key path
    httpsCertificate: "", // HTTPS Certificate path

    language: "en",
    locale: "en-US",
    logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for more logging
    timeFormat: 24,
    units: "metric",

    modules: [
        {
            module: "calendar",
            position: "top_right",
            config: {
                broadcastPastEvents: true,
                calendars: [
                    {
                        url: "webcal://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics",
                        name: "us_holiday",
                        color: "#3399ff"
                    }
                ]
            }
        },
        {
            module: 'MMM-GoogleCalendar',
            header: "My Google Calendar",
            position: "top_left",
            config: {
                calendars: [
                    {
                        symbol: "calendar-week",
                        calendarID: "" // Replace with your calendar ID
                    }
                ],
                mode: "month",
                maximumEntries: 10,
                maxDays: 30,
                showEndTime: true,
                showLocation: true,
                showDescription: true,
                showInvitees: false
            }
        },
        {
            module: "MMM-CalendarExt3",
            position: "bottom_center",
            title: "Events Calendar",
            config: {
                mode: "month",
                weekIndex: 0,
                weeksInView: 5,
                instanceId: "basicCalendar",
                locale: 'en-EN',
                maxEventLines: 5,
                firstDayOfWeek: 0,
                refreshInterval: 120000,
                animationSpeed: 0,
                useSymbol: false,
                calendarSet: []
            }
        }
    ],

    customCss: "css/custom.css"
};

/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") { module.exports = config; }

</code></pre>
]]></description><link>https://forum.magicmirror.builders/topic/18904/calendarext3-and-google-calendar-event-display</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Jul 2026 06:32:18 GMT</lastBuildDate><atom:link href="https://forum.magicmirror.builders/topic/18904.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 01 Aug 2024 20:14:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CalendarExt3 and Google Calendar event display on Thu, 23 Jan 2025 12:52:45 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/mmrize" aria-label="Profile: MMRIZE">@<bdi>MMRIZE</bdi></a> said in <a href="/post/119062">CalendarExt3 and Google Calendar event display</a>:</p>
<blockquote>
<p dir="auto">You may need broadcastEvents: true, in MMM-GoogleCalendar module. I don’t know why, but that option is disabled by default unlike the default calendar module.</p>
</blockquote>
<p dir="auto">broadcastEvents: true<br />
This solved the issue I had completly, the Google calendar doesnt broadcast the events by default and I just saw the difference in the debug output comparing the normal “Calendar” and the “MMM-GoogleCalendar”.</p>
<p dir="auto">The calendar events from MMM-GoogleCalenda appear correctly after i used broadcastEvents: true in the config.</p>
<p dir="auto">Cheers :),<br />
Klaus</p>
]]></description><link>https://forum.magicmirror.builders/post/123315</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/123315</guid><dc:creator><![CDATA[elfklaus]]></dc:creator><pubDate>Thu, 23 Jan 2025 12:52:45 GMT</pubDate></item><item><title><![CDATA[Reply to CalendarExt3 and Google Calendar event display on Sat, 03 Aug 2024 06:22:43 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/movingfish" aria-label="Profile: movingfish">@<bdi>movingfish</bdi></a><br />
Secret ics URL is easier to handle. But your config.js is weaker for peeping. (There is another alternative MMM-CalDAV)</p>
]]></description><link>https://forum.magicmirror.builders/post/119074</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/119074</guid><dc:creator><![CDATA[MMRIZE]]></dc:creator><pubDate>Sat, 03 Aug 2024 06:22:43 GMT</pubDate></item><item><title><![CDATA[Reply to CalendarExt3 and Google Calendar event display on Fri, 02 Aug 2024 23:55:49 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/movingfish" aria-label="Profile: movingfish">@<bdi>movingfish</bdi></a> and you can comment out the position for the calendar modules, they will still send broadcast used by ext3</p>
]]></description><link>https://forum.magicmirror.builders/post/119071</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/119071</guid><dc:creator><![CDATA[sdetweil]]></dc:creator><pubDate>Fri, 02 Aug 2024 23:55:49 GMT</pubDate></item><item><title><![CDATA[Reply to CalendarExt3 and Google Calendar event display on Fri, 02 Aug 2024 20:54:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/mmrize" aria-label="Profile: MMRIZE">@<bdi>MMRIZE</bdi></a> Thank you again for looking into this and the advice. A lot of this was a project on a whim mixed with OpenAI. Overestimated its ability to give coherent css and js.</p>
<ol>
<li>
<p dir="auto">I did not immediately see the preProcessor for MMM-CalendarExt3 in the docs so that is clearly something I missed.</p>
</li>
<li>
<p dir="auto">After a lot of random tweaks figured I was overcomplicating and went back to the default ‘sample-config’ from the Ext3 module which has been a relief.</p>
</li>
</ol>
<p dir="auto">**Opinion - is there any greater benefit to the ‘Google secret link’ (calendar) vs OAuth (MMM-GoogleCalendar)?  Seems inherent security benefit with OAuth but not sure. That is what started me down using the separate module.</p>
<ol start="3">
<li>again - thanks. some easy fixes.<br />
shouldnt need to refresh the module that regularly. will adjust when I go to ‘prod’</li>
</ol>
<p dir="auto">Can consider this solved at this point.</p>
<p dir="auto">As an aside - also want to thank <a class="plugin-mentions-user plugin-mentions-a" href="/user/sdetweil" aria-label="Profile: sdetweil">@<bdi>sdetweil</bdi></a> . Anybody reading this in the future make sure to review this page and it will make modifying css much easier.<br />
<a href="https://forum.magicmirror.builders/topic/14862/help-with-a-couple-css-issues/4?_=1696523432686">https://forum.magicmirror.builders/topic/14862/help-with-a-couple-css-issues/4?_=1696523432686</a></p>
]]></description><link>https://forum.magicmirror.builders/post/119070</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/119070</guid><dc:creator><![CDATA[movingfish]]></dc:creator><pubDate>Fri, 02 Aug 2024 20:54:07 GMT</pubDate></item><item><title><![CDATA[Reply to CalendarExt3 and Google Calendar event display on Fri, 02 Aug 2024 08:22:49 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/movingfish" aria-label="Profile: movingfish">@<bdi>movingfish</bdi></a><br />
<code>MMM-GoogleCalendar</code> is incompatible with the standard default MM’s calendar module. It spits out incompatible broadcasting notifications, so you should convert it with <code>preProcessor</code> of <code>MMM-CalendarExt3</code>.</p>
<p dir="auto">Let’s check something in your config.</p>
<ol>
<li><code>preProcessor</code> should be located in config block of <code>MMM-CalendarExt3</code></li>
</ol>
<pre><code class="language-js">{
  module: "MMM-CalendarExt3",
  position: "bottom_center",
  title: "Events Calendar",
  config: {
    preProcessor: (e) =&gt; {
      if (e.startDate) return e // when event coming from default module, skip conversion.
      if (e.start?.dateTime) {
        e.startDate = new Date(e.start.dateTime).valueOf()
      } else if (e.start?.date) {
        e.startDate = new Date(`${e.start.date}T00:00:00`).valueOf()
      }
      if (e.end?.dateTime) {
        e.endDate = new Date(e.end.dateTime).valueOf()
      } else if (e.end?.date) {
        e.endDate = new Date(`${e.end.date}T00:00:00`).valueOf()
      }
      e.title = e.summary
      e.fullDayEvent = (e.start?.date) ? true : false
      return e
    },
    ... // Your other configuration
  }
},
</code></pre>
<ol start="2">
<li>You may need <code> broadcastEvents: true,</code> in  <code>MMM-GoogleCalendar</code> module. I don’t know why, but that option is disabled by default unlike the default calendar module.</li>
</ol>
<pre><code class="language-js">{
  module: 'MMM-GoogleCalendar',
  header: "My Google Calendar",
  position: "top_left",
  config: {
    broadcastEvents: true, // &lt;-- You may need this
    calendars: [
...
</code></pre>
<ol start="3">
<li>Not related to this issue, but you did something wrong.</li>
</ol>
<ul>
<li>in <code>mode: "month"</code>, <code>weekIndex</code> and <code>weeksInView</code> are out of sense. It has meaning only in  <code>mode: "week"</code>.</li>
<li><code>en-EN</code> is not a proper locale. Use <code>en-US</code> or just <code>en</code>. (Of course, it depends on where you live, <code>en-GB</code>,  <code>en-IN</code>, <code>en-AU</code>, …)</li>
<li>If you set a proper locale, you don’t need to declare <code>firstDayOfWeek</code>. That value will be assigned automatically by your locale.</li>
<li>You are refreshing the module every 2 minutes. Is it really needed?</li>
</ul>
]]></description><link>https://forum.magicmirror.builders/post/119062</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/119062</guid><dc:creator><![CDATA[MMRIZE]]></dc:creator><pubDate>Fri, 02 Aug 2024 08:22:49 GMT</pubDate></item><item><title><![CDATA[Reply to CalendarExt3 and Google Calendar event display on Thu, 01 Aug 2024 23:35:10 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/mmrize" aria-label="Profile: MMRIZE">@<bdi>MMRIZE</bdi></a> thanks for quick response.</p>
<p dir="auto">At this point I’m stuck on how to get the Google Calendar events (top left) fed into the CalendarExt3 calendar.</p>
<p dir="auto">Trying to put them in the same position seemed to cause me an error but will try another few tweaks.</p>
<p dir="auto">The top right calendar is just basic calendar for testing purposes.</p>
]]></description><link>https://forum.magicmirror.builders/post/119059</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/119059</guid><dc:creator><![CDATA[movingfish]]></dc:creator><pubDate>Thu, 01 Aug 2024 23:35:10 GMT</pubDate></item><item><title><![CDATA[Reply to CalendarExt3 and Google Calendar event display on Thu, 01 Aug 2024 20:37:36 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/movingfish" aria-label="Profile: movingfish">@<bdi>movingfish</bdi></a><br />
To collaborate with GooglCalendar, see this; <a href="https://github.com/MMRIZE/MMM-CalendarExt3/wiki/Examples-%26-Tips" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/MMRIZE/MMM-CalendarExt3/wiki/Examples-%26-Tips</a></p>
]]></description><link>https://forum.magicmirror.builders/post/119057</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/119057</guid><dc:creator><![CDATA[MMRIZE]]></dc:creator><pubDate>Thu, 01 Aug 2024 20:37:36 GMT</pubDate></item></channel></rss>