<?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[Snilles Magic Mirror Project]]></title><description><![CDATA[<p dir="auto">Hi all!<br />
Here is my Mirror so far…<br />
<img src="/assets/uploads/files/1673894510770-c2bf3d5c-298d-4d75-abe5-fad9825a097e-magicmirror-resized.jpg" alt="c2bf3d5c-298d-4d75-abe5-fad9825a097e-MagicMirror.jpg" class=" img-fluid img-markdown" /><br />
<strong>For more pictures and some building information se <a href="https://photos.app.goo.gl/FUoiEjMmNBIay1Xk1" target="_blank" rel="noopener noreferrer nofollow ugc">here</a>.</strong><br />
I have added a comment on every picture in the gallery so you know what you are looking at. :)</p>
<p dir="auto">Update: 2026-08-10: The mirror has been “rebuilt” so that Home Assistant owns what is displayed.<br />
Update: 2023-01-16: Updated almost all information about mirror functionality and additions.<br />
Update: 2020-01-23: <a href="https://youtu.be/2Hi9IDfrqPQ" target="_blank" rel="noopener noreferrer nofollow ugc">Video</a> of some of the features…</p>
<p dir="auto">I’m still finding more use-cases for my Mirror, nowadays it is also heavily integrated with my <a href="https://www.home-assistant.io/" target="_blank" rel="noopener noreferrer nofollow ugc">Home Assistant</a>…<br />
Even my family think it’s useful now!</p>
<p dir="auto">Just so you know, my Mirror is NOT using a Raspberry PI any more, I switched over to a small NUC computer, the RPi is not powerful enough for all the stuff that’s going on here.</p>
<p dir="auto">The Mirror has Mirror “Profiles” for each of us in the family, then also a “Weather”, “Work”, “Media” and “Clock” profile.<br />
Both our cats have a profiles (because why not?) as well.<br />
Mostly the profiles switches by time and day of the week. I’ll get in to the scheduling later. :)</p>
<p dir="auto">Short backstory. I live in the south of Sweden (in a small city called Åstorp) with my wife and daughter.<br />
I work in Stockholm (the capital of Sweden). The distance between the cities are about 560 kilometer or 248 (US/UK) miles.<br />
So, to get to work I fly. I do this two days a week (four flights). As you probably know flights<br />
gets delayed from time to time and when this happens I don’t want my wife to worry (too much)<br />
and I don’t want to have to text her for every change…</p>
<p dir="auto">So, to solve this, I opened a mail account for the mirror.<br />
Then I registered an account using the mirrors mail on the site “Flight Aware”.<br />
The site can send tracking information mails about (maximum 5) flights (airlines) for free!<br />
Then I use node-red in HA (Home Assistant) to fetch the mail, parse it and present the latest information on a <a href="https://github.com/schnibel/MMM-Memo" target="_blank" rel="noopener noreferrer nofollow ugc">MMM-Memo</a>.<br />
This way my Wife only have to glance at the mirror to see if I’m going to be late or not. When I arrive at home (HA registers my presence) the Memo resets and gets hidden.</p>
<p dir="auto">Here are some scenarios when the Mirror is used:<br />
• Any of the cats enters or leaves through the cat-door, a message is sent telling what cat went where (shown for 5 minutes)<br />
• Any battery is low in any of my battery powered sensors in the house the leds around the Mirror will turn blue and a message telling what battery needs changing. (shown for 5 minutes) This will repet once every day until battery is replaced.<br />
• When the “default” light turns on (from HA if time is right or from remote) a message will say “Lights…” (for 5 minutes).<br />
• If temperature in the fridge or freezer is high the leds will turn red around the Mirror and a message will be displayed (for 5 minutes every 30 minutes until fixed).<br />
• If a leakage is discovered under the sink or in the bathrooms pipe switch, leds will turn red and a message will be displayed (indefinitely until fixed).<br />
• If any of my 3D-Printers starts to print, the Bed-Camera and status will show until print is done.<br />
• If at night and all lights is out and any of the motion-tracker are triggerd in the house. The leds will glow (yellow) faintly so you can see.<br />
• If the Vacuum Robot is cleaning, the map and status is shown until finished or paused.<br />
• If a bird visits the <a href="https://mybirdbuddy.com" target="_blank" rel="noopener noreferrer nofollow ugc">Bird Buddy</a> the latest picture (and guessed species) will show up on the Mirror.<br />
• When I brew an Espresso, the total amount of brewed cups will show up in a message and when done brewing a new message show, wishing you to enjoy your coffee.<br />
• The positions of our cats <a href="https://tractive.com" target="_blank" rel="noopener noreferrer nofollow ugc">GPS necklaces</a> updates every minute and gets shown on the “MMM-GoogleMaps-Tracking” module.<br />
• The Mirror turns off the screen 00:15 all nights. It turns on again at 04:45 on Mondays and Wednesdays, the the other weekdays it turns on at 06:00 and on weekends it turns on at 07:00.<br />
Most of the information shown on the Mirror is triggered from Home Assistant via notifications (using MMM-Remote-Control).</p>
<p dir="auto">Module classes:<br />
• The modules with the “Default and Everyone” class are showed all the time (when not manually hidden).<br />
• The modules in the “None” class are only shown manually or with triggered by events by the Mirror or HA.<br />
• Each family member has a personal profile class (Erik, Camilla, Louise, Kakan and Cappuccino).<br />
• Then I have a set of specific classes for specific “themes”, those are: Jobba (Work), Media, Klocka (clock) and Väder (Weather).<br />
• Scheduled modules has it’s own class. This is for “single” day events. Like Halloween, Birthdays, Christmas and New Years Eve.<br />
• Modules with no class defined but used in other ways is <a href="https://github.com/Jopyth/MMM-Remote-Control" target="_blank" rel="noopener noreferrer nofollow ugc">MMM-Remote-Control</a>, <a href="https://github.com/Snille/MMM-ModuleScheduler" target="_blank" rel="noopener noreferrer nofollow ugc">MMM-ModuleScheduler</a> and <a href="https://github.com/tosti007/MMM-ProfileSwitcher" target="_blank" rel="noopener noreferrer nofollow ugc">MMM-ProfileSwitcher</a>.</p>
<p dir="auto">For a list of all modules see end of this post.</p>
<p dir="auto">ModuleScheduler Information:<br />
Some profiles switches and functions are controlled by the scheduler (MMM-ModuleScheduler).</p>
<pre><code class="language-text">**Scheduling (updated 2026):**

I no longer use `MMM-ModuleScheduler` at all — it is removed. Everything it did
(screen on/off times, profile switching by time of day, and the per-module
schedules) moved into a single Node-RED flow in Home Assistant, where the whole
schedule is one editable table instead of two dozen cron strings.
</code></pre>
<p dir="auto"><img src="/assets/uploads/files/1786343566475-7c844d8c-8275-48e6-aebb-d9c673adfeb5-image.jpeg" alt="7c844d8c-8275-48e6-aebb-d9c673adfeb5-image.jpeg" class=" img-fluid img-markdown" /></p>
<p dir="auto">ProfileSwitcher Information:</p>
<pre><code class="language-list">• In the profile switcher (MMM-ProfileSwitcher) each profile has their own greeting and leave message.
• The personal profiles and "Clock" has a timeout of 5 minutes, after that the mirror goes back to the "default" profile, if triggered via MMM-TouchNavigation.
• The "Jobba" (Work), "Media" and "Väder" (Weather) profile does not have a time out, because it's suppose to be able to stay "all day" sometimes.
</code></pre>
<p dir="auto">TouchNavigation Information:</p>
<pre><code class="language-list">• The "Text Clock" profile has a picture of an analog clock.
• The "Kakan" profile has a picture of Kakan (Cat).
• The "Cappuccino" profile has a picture of Cappuccino (Cat).
• Each family member (human) profile has the persons own picture on the button.
• The "Jobba" (Work) profile has a "gear" picture.
• The "Media" profile has a "Camera Roll" picture.
• The "Väder" (Weather) profile has a spinning globe (gif animation) picture.
</code></pre>
<p dir="auto">Above the TouchNavigation I have the <a href="https://github.com/Snille/MMM-Modulebar" target="_blank" rel="noopener noreferrer nofollow ugc">MMM-ModuleBar</a><br />
It normally shows only two buttons. The first one is the “Hide all” function and the second one “expands” the MMM-ModuleBar. What’s really going on here is, when you press the “Expand” button, it hides the current ModuleBar and un-hides a second ModuleBar that contain the following buttons.</p>
<p dir="auto">ModuleBar Information (left to right):</p>
<pre><code>• Show/Hide this MMM-ModuleBar module and the "other" one.
	module: "MMM-Modulebar"
	idnum: [56,57]
	symbol: "chevron-circle-left"
• Show the Bird Buddy last visitor Text and Picture MMM-homeassistant-sensors modules (from HA).
	module: "MMM-homeassistant-sensors"
	idnum: [54,55]
	symbol: "dove"
	symbol2: "eye-slash"
• Show/Hide the default Clock module.
	module: "clock"
	symbol: "bell"
	symbol2: "bell-slash"
• Show/Hide the default MMM-News module.
	module: "MMM-News"
	symbol: "fas fa-newspaper"
	symbol2: "far fa-newspaper"
• Show/Hide the MMM-MoonPhase module.
	module: "MMM-MoonPhase"
	symbol: "fas fa-moon"
	symbol2: "far fa-moon"
• Show/Hide the Cats location MMM-GoogleMaps-Tracking module, this shows the geographic location of our cats (from HA).
	module: "MMM-GoogleMaps-Tracking"
	symbol: "map-marked-alt"
	symbol2: "map"
• Show/Hide the MMM-homeassistant-sensors module showing the information local weather station (from HA).
	module: "MMM-homeassistant-sensors"
	idnum: 28
	symbol: "thermometer-three-quarters"
	symbol2: "thermometer-empty"
• Show/Hide the MMM-Globe3D module.
	module: "MMM-Globe"
	symbol: "globe-europe"
	symbol2: "globe-americas"
• Show/Hide the MMM-TextClock module.
	module: "MMM-TextClock"
	symbol: "comment"
	symbol2: "comment-slash"
• Show/Hide the default Weather module.
	module: "weather"
	symbol: "cloud"
	symbol2: "cloud-moon"
• Show/Hide the MMM-nixie-clock module. 
	module: "MMM-nixie-clock"
	symbol: "eye"
	symbol2: "eye-slash"
• Show/Hide the MMM-cryptocurrency module.
	module: "MMM-cryptocurrency"
	symbol: "fab fa-bitcoin"
	symbol2: "fab fa-btc"
• Show/Hide the MMM-homeassistant-sensors module that show total Espresso cups/price/beans I have brewed in my Espresso Machine.
	module: "MMM-homeassistant-sensors"
	symbol: "mug-hot"
	symbol2: "coffee"
• Show/Hide the MMM-MotionEye module for the camera that show my Prusa i3 MK3 3D Printer bed.
	module: "MMM-MotionEye"
	idnum: 35
	symbol: "layer-group"
	symbol2: "toggle-off"
	showUrl: "http://10.0.0.112:8080/motioneye/1",
	hideUrl: "http://10.0.0.112:8080/motioneye/hide/1"
• Show/Hide  the MMM-MotionEye module for the camera that show my Prusa i3 MK2.5 3D Printer bed.
	module: "MMM-MotionEye"
	idnum: 36
	symbol: "layer-group"
	symbol2: "toggle-off"
	showUrl: "http://10.0.0.112:8080/motioneye/2",
	hideUrl: "http://10.0.0.112:8080/motioneye/hide/2"
</code></pre>
<p dir="auto">Here are the defined classes and the modules they trigger.</p>
<pre><code>Profile classes: {
	Eriks Modules: {
		MMM-Profilepicture - Personal background picture.
		Clock - The time (Default module).
		Compliments - Personal compliments (from specified json file).
		Weather - Local weather information at Mirrors location (Default module).
		Weather - Local weather forecast at Mirrors location (Default module).
		MMM-GoogleMaps-Tracking - Geolocation of our Cats.
		MMM-cryptocurrency - Current bitcoin price.
		MMM-homeassistant-sensors - Espresso Machine information.
		MMM-homeassistant-sensors - Local weather station information.
		MMM-homeassistant-sensors - Information about the House (humidity, temperature and more).
		MMM-Tibber - Information about price on electricity / hour.
		MMM-News - Latest news from Sweden.
	}, 
	Camillas Modules: {
		MMM-Profilepicture - Personal background picture.
		Clock - The time (Default module).
		Compliments - Personal compliments (from specified json file).
		Weather - Local weather information at Mirrors location (Default module).
		Weather - Local weather forecast at Mirrors location (Default module).
		MMM-GoogleMaps-Tracking - Geolocation of our Cats.
		MMM-MoonPhase - Current Moon phase.
		MMM-News - Latest news from Sweden.
		MMM-homeassistant-sensors - Local weather station information.
		MMM-homeassistant-sensors - Information about the family's whereabouts. 
	}, 
	Louises Modules: {
		MMM-Profilepicture - Personal background picture.
		Clock - The time (Default module).
		Compliments - Personal compliments (from specified json file).
		Weather - Local weather information at Mirrors location (Default module).
		Weather - Local weather forecast at Mirrors location (Default module).
		MMM-GoogleMaps-Tracking - Geolocation of our Cats.
		MMM-MoonPhase - Current Moon phase.
		MMM-homeassistant-sensors - Today school lunch.
		MMM-homeassistant-sensors - Information about the family's whereabouts. 
	},
	Jobbas Modules: {
		MMM-Profilepicture - Personal background picture.
		Clock - The time (Default module).
		Weather - Local weather information at Mirrors location (Default module).
		Weather - Local weather forecast at Mirrors location (Default module).
		MMM-JsonTable - Espresso Machine information.
		MMM-GoogleMaps-Tracking - Geolocation of our Cats.
		MMM-cryptocurrency - Current bitcoin price.
		MMM-homeassistant-sensors - Local weather station information.
		MMM-homeassistant-sensors - Information about the family's whereabouts. 
		MMM-homeassistant-sensors - Information about the House (humidity, temperature and more).
		MMM-Tibber - Information about price on electricity / hour.
		MMM-News - Latest news from Sweden.
	},
	Medias Modules: {
		MMM-Profilepicture - Personal background picture.
		Clock - The time (Default module).
		Weather - Local weather information at Mirrors location (Default module).
		Weather - Local weather forecast at Mirrors location (Default module).
		MMM-TautulliLatest - Latest Movies and TV-Series added to my Plex Server.
		MMM-GoogleMaps-Tracking - Geolocation of our Cats.
		MMM-homeassistant-sensors - Local weather station information.
		MMM-homeassistant-sensors - Information about the family's whereabouts. 
		MMM-homeassistant-sensors - Information about the House (humidity, temperature and more).
		MMM-Tibber - Information about price on electricity / hour.
	},
	Väders Modules: {
		MMM-Profilepicture - Personal background picture.
		Weather - Local weather information at Mirrors location (Default module).
		Weather - Local weather forecast at Mirrors location (Default module).
		MMM-Globe3D - Full disc 3D spinning globe with accurate weather clouds.
		MMM-MoonPhase - Current Moon phase.
		MMM-GoogleMaps-Tracking - Geolocation of our Cats.
		MMM-JsonTable - Espresso Machine information.
		MMM-homeassistant-sensors - Local weather station information.
		MMM-homeassistant-sensors - Information about the family's whereabouts. 
		MMM-homeassistant-sensors - Information about the House (humidity, temperature and more).
		MMM-Tibber - Information about price on electricity / hour.
		MMM-News - Latest news from Sweden.
	},
	Kakan Modules: {
		MMM-Profilepicture - Personal Picture Collage.
		Clock - The time (Default module).
		Weather - Local weather information at Mirrors location (Default module).
		Weather - Local weather forecast at Mirrors location (Default module).
		MMM-GoogleMaps-Tracking - Geolocation of our Cats.
		MMM-homeassistant-sensors - Kakans information about active minutes, hours inside / outside and trips in / out through the Cat-door. GPS battery charge and GPS status.
	},
	Cappuccino Modules: {
		MMM-Profilepicture - Personal Picture Collage.
		Clock - The time (Default module).
		Weather - Local weather information at Mirrors location (Default module).
		Weather - Local weather forecast at Mirrors location (Default module).
		MMM-GoogleMaps-Tracking - Geolocation of our Cats.
		MMM-homeassistant-sensors - Cappuccino information about active minutes, hours inside / outside and trips in / out through the Cat-door. GPS battery charge and GPS status.
	},
	Default and Everyones Modules: {
		MMM-Memo - Displays memos (Used for displaying temporary information in my case).
		MMM-Modulebar - Bar with buttons for toggling (show/hide) other modules.
		MMM-TouchNavigation - Profile switching buttons.
	},	
	Nones Modules: {
		Alert - Used for "urgent information".
		MMM-Remote-Control - For controlling the Mirror using notifications and Web-Meny.
		MMM-ProfileSwitcher - Handling the switching of the profiles. 
		MMM-homeassistant-sensors - Prusa i3 MK3 (3D-Printer) printing information. Only visible when I'm printing. 
		MMM-homeassistant-sensors - Prusa i3 MK2.5 (3D-Printer) printing information. Only visible when I'm printing. 
		MMM-MotionEye - Displaying the Prusa i3 MK3 (3D-Printer) camera when in action (or using MMM-Modulebar).
		MMM-MotionEye - Displaying the Prusa i3 MK2.5 (3D-Printer) camera when in action (or using MMM-Modulebar).
		MMM-Modulebar - The "full" MMM-ModuleBar. Only visible when activating it from the "small" MMM-ModuleBar.
	}
}
</code></pre>
<p dir="auto">Full module list with IDs and usage:</p>
<pre><code>00 MMM-Remote-Control      17 MMM-JsonTable            34 MMM-homeassistant-sensors
01 MMM-ModuleScheduler *   18 MMM-homeassistant-sensors 35 MMM-homeassistant-sensors
02 MMM-ProfileSwitcher     19 MMM-TautulliLatest        36 MMM-homeassistant-sensors
03 MMM-Videoplayer         20 compliments               37 MMM-homeassistant-sensors
04 MMM-Profilepicture      21 compliments               38 MMM-Tibber
05 MMM-Profilepicture      22 compliments               39 MMM-anotherNewsFeed
06 MMM-Profilepicture      23 MMM-Weather-SMHI          40 MMM-Snow *
07 MMM-Profilepicture      24 MMM-homeassistant-sensors 41 MMM-Snow *
08 MMM-Profilepicture      25 MMM-cryptocurrency        42 MMM-Snow *
09 MMM-Profilepicture      26 MMM-Memo                  43 MMM-nixie-clock
10 MMM-Profilepicture      27 MMM-homeassistant-sensors 44 MMM-homeassistant-sensors
11 MMM-Profilepicture      28 MMM-MotionEye             45 MMM-homeassistant-sensors
12 MMM-Profilepicture      29 MMM-homeassistant-sensors 46 MMM-Modulebar (small)
13 MMM-Profilepicture      30 MMM-MotionEye             47 MMM-Modulebar (full)
14 alert                   31 MMM-Globe3D               48 MMM-TouchNavigation
15 MMM-GoogleMaps-Tracking 32 MMM-MoonPhase             49 MMM-ImmichSlideShow
16 clock                   33 MMM-TextClock             50 MMM-HomeAssistant

* = disabled
</code></pre>
<p dir="auto">I don’t know if you noticed but the frame around the mirror is “changeable”. I thought if I can display different things on the screen, I should be able to change the physical appearance of the mirror as well without having to build a completely new mirror. So, the front frame can easily be removed by just pulling out the bottom part and lifting it up. I have made two different front frames (as you have seen in the pictures). But I’ll probably do another one in time. :)</p>
<p dir="auto">Let me know if you want to know anything more. :)<br />
Thank you all for helping out and being awesome!</p>
]]></description><link>https://forum.magicmirror.builders/topic/4563/snilles-magic-mirror-project</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 02:50:23 GMT</lastBuildDate><atom:link href="https://forum.magicmirror.builders/topic/4563.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 Jul 2017 18:32:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Sun, 16 Aug 2026 13:49:46 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/snille" aria-label="Profile: Snille">@<bdi>Snille</bdi></a> Hi there!</p>
<p dir="auto">I’d love to take you up on your offer to see the Node-RED flow. Having a concrete reference would be super helpful as a starting point for my setup!</p>
<p dir="auto">Thanks again for the great write-up! 🙂</p>
]]></description><link>https://forum.magicmirror.builders/post/131701</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/131701</guid><dc:creator><![CDATA[Horge]]></dc:creator><pubDate>Sun, 16 Aug 2026 13:49:46 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Mon, 10 Aug 2026 06:57:35 GMT]]></title><description><![CDATA[<p dir="auto">Big update: I let Home Assistant take over the mirror completely</p>
<p dir="auto">It has been a while. This is the largest change I have made to the mirror since I moved off the Raspberry Pi, and since a lot of you here run Home Assistant too, I thought the whole story was worth writing down — including the part where I found out my mirror had been quietly burning a CPU core for years.</p>
<h3>It started with a fan</h3>
<p dir="auto">The NUC was loud. Not “something is broken” loud, just always-working loud. I finally sat down to find out why, and the renderer process was sitting at <strong>88% of a core</strong>, all day, every day.</p>
<p dir="auto">The cause turned out to be wonderful:</p>
<p dir="auto"><strong>Three <code>MMM-Snow</code> instances were running. In July. Invisible.</strong></p>
<p dir="auto">They are scheduled to appear on three days a year. The rest of the time they are hidden — and <em>hidden in MagicMirror does not mean stopped</em>. <code>hide()</code> sets <code>opacity: 0</code>, not <code>display: none</code>. Their 90 snowflakes kept animating, 180 infinite CSS animations, holding the page at a steady 60fps around the clock.</p>
<p dir="auto">On its own that is cheap. The expensive part was that <code>MMM-ImmichSlideShow</code> had a fullscreen photo on screen, and that photo had to be re-rastered on <strong>every one of those 60 frames per second</strong>.</p>
<p dir="auto">Two A/B tests confirmed it — hide the photo and CPU went 88% → 12%; pause the snow and it went 88% → 9%. Neither half was the problem. The combination was.</p>
<h3>The bigger problem underneath</h3>
<p dir="auto">With the snow disabled, CPU dropped to ~41%. Better. But then I counted what was actually on screen:</p>
<p dir="auto"><strong>16 modules visible at once.</strong> The complete <code>wather</code> profile, <em>plus</em> the Immich slideshow on top of it.</p>
<p dir="auto">That is when I understood that four independent things were writing to the same visibility state, none of them aware of the others, none using MagicMirror’s locking:</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th></th>
<th>Controls</th>
<th>Triggered by</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>MMM-ModuleScheduler</code></td>
<td>class groups</td>
<td>cron</td>
</tr>
<tr>
<td><code>MMM-ProfileSwitcher</code></td>
<td>the profile (exclusive)</td>
<td><code>CURRENT_PROFILE</code></td>
</tr>
<tr>
<td>Node-RED / HA</td>
<td>individual modules</td>
<td>presence, sensors</td>
</tr>
<tr>
<td><code>MMM-Modulebar</code></td>
<td>individual modules</td>
<td>touch</td>
</tr>
</tbody>
</table>
<p dir="auto">Only ProfileSwitcher is exclusive — <code>set_profile()</code> walks <em>every</em> module and either shows or hides it. The other three only touch what they point at and leave the rest alone.</p>
<p dir="auto">So my presence sensor showed the photo slideshow when nobody was there, but nothing ever told the other fifteen modules to go away. The globe kept spinning WebGL, the news feed kept scrolling, weather and electricity prices kept updating — all behind a picture nobody could see past.</p>
<p dir="auto">The intent was right. The transport was wrong.</p>
<h3>The fix: one owner</h3>
<p dir="auto">The rule I settled on is simple:</p>
<blockquote>
<p dir="auto"><strong><code>MMM-ProfileSwitcher</code> is the only thing that sets visibility. Node-RED changes the profile instead of changing modules.</strong></p>
</blockquote>
<p dir="auto">That means:</p>
<ul>
<li><code>MMM-ModuleScheduler</code> is <strong>removed</strong> — its <code>global_schedule</code>, <code>notification_schedule</code> and <code>module_schedule</code> all moved into Node-RED</li>
<li><code>defaultClass: "Photos"</code>, so the resting state is the slideshow</li>
<li><code>includeEveryoneToDefault</code> stays <strong>off</strong>, so resting state is the photo <em>alone</em> — walk up, presence fires, the profile comes up and brings the button bars with it</li>
<li>ProfileSwitcher’s <code>timers</code> removed, so there is only one thing deciding when to go back</li>
</ul>
<p dir="auto">Now everything that is not part of the profile gets <code>hide()</code>d, and therefore <code>suspend()</code>ed.</p>
<h3>The one CSS line everyone here should copy</h3>
<p dir="auto">This is the part I would have wanted to know years ago:</p>
<pre><code class="language-css">/* css/custom.css */
.module.hidden { content-visibility: hidden; }
</code></pre>
<p dir="auto"><code>Module.suspend()</code> in the base class is an <strong>empty hook</strong>. If a module does not implement it — and most do not — it keeps running when hidden. <code>content-visibility: hidden</code> skips style, layout, paint and animation for the entire subtree, so a hidden module genuinely costs nothing.</p>
<p dir="auto">The price is that a module disappears instantly instead of fading out. Worth it.</p>
<h3>The missing piece: the profile as a real HA entity</h3>
<p dir="auto">Here is the thing that made it all click, and the reason this is worth a post rather than a footnote.</p>
<p dir="auto">I use <a href="https://github.com/Snille/MMM-HomeAssistant" target="_blank" rel="noopener noreferrer nofollow ugc">MMM-HomeAssistant</a> (my fork of ambarusa’s), which publishes every module as an MQTT switch entity. Great — but there was no way for Home Assistant to see or set the <strong>profile</strong>.</p>
<p dir="auto">So I added one. <code>profileControl: true</code> now publishes a <code>select</code> entity:</p>
<pre><code class="language-js">{
    module: "MMM-HomeAssistant",
    config: {
        moduleControl: true,
        profileControl: true,
        profiles: ["Photos", "Night", "Work", "Weather", "Media", ...],
    }
}
</code></pre>
<pre><code>select.magic_mirror_hallway_profile
</code></pre>
<p dir="auto">Selecting an option sends <code>CURRENT_PROFILE</code> — the same notification the on-screen buttons send. And the state is read back from ProfileSwitcher’s <code>CHANGED_PROFILE</code> notification, which it emits on <strong>every</strong> change including the one it makes at startup.</p>
<p dir="auto">That last detail is what makes it genuinely useful: <strong>the entity always shows what the mirror is really displaying, even when someone pressed a button on the mirror itself.</strong> So Node-RED can tell its own command apart from a human, and hold a manual choice for 20 minutes before handing back to the schedule.</p>
<p dir="auto">Without that feedback, an automation can only fire and hope — and it will happily fight the person standing in front of the mirror.</p>
<p dir="auto">The profile names have to be listed in the config because Home Assistant validates against them, and there is no way to discover them: a profile is only ever a class name on some module.</p>
<h3>What Node-RED looks like now</h3>
<p dir="auto">All of it lives on one tab. Two decisions, both edge-triggered — nothing is sent unless it differs from what the mirror reports:</p>
<p dir="auto"><strong>1. Which profile?</strong> One function node, with the whole schedule as a table at the top. No cron strings, no month indices to get wrong:</p>
<pre><code class="language-js">const SCHEDULE = [
    { profile: "NewYear",   date: "12-31", always: true, from: "23:45", to: "23:59" },
    { profile: "Halloween", date: "10-31",          from: "05:55", to: "23:00" },
    { profile: "Work",      days: [1,2,3,4,5],      from: "08:00", to: "16:00" },
    { profile: "Weather",   days: [1,2,3,4,5],      from: "16:01", to: "20:29" },
    { profile: "Media",     days: [0,1,2,3,4,5,6],  from: "20:30", to: "23:00" },
];
</code></pre>
<p dir="auto">Precedence: dark screen → night → <code>always</code> rows → a choice made at the mirror → nobody there → the table.</p>
<p dir="auto"><strong>2. The overlays.</strong> MagicMirror profiles are single-axis; my mirror is not. Printer cameras, the Bird Buddy panels, the Halloween video and a birthday background all come and go on <em>events</em>, not on the profile.</p>
<p dir="auto">Since <code>set_profile()</code> is exclusive it wipes them on every profile change. The solution needs no code: give them a class <strong>no profile uses</strong>, so they are always hidden by default, and have Node-RED re-assert them right after each profile change. Between changes it stays quiet — which is exactly what leaves <code>MMM-Modulebar</code> free to toggle things by hand.</p>
<p dir="auto">“Always hidden by default” is the right way to be wrong: at worst something is missing for a second, instead of unwanted content flashing up.</p>
<p dir="auto">Birthdays became a nice example. Instead of a whole <code>Birthday</code> profile that replaces whatever is up, it is now one overlay rule: swap the background picture, keep the profile.</p>
<h3>Results</h3>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th></th>
<th>Before</th>
<th>After</th>
</tr>
</thead>
<tbody>
<tr>
<td>Modules visible when idle</td>
<td>16</td>
<td><strong>1</strong></td>
</tr>
<tr>
<td>Renderer CPU</td>
<td>41.3%</td>
<td><strong>12.4%</strong></td>
</tr>
<tr>
<td>Xorg CPU</td>
<td>18.6%</td>
<td><strong>0.1%</strong></td>
</tr>
<tr>
<td>Things writing visibility</td>
<td>4, unlocked</td>
<td><strong>1</strong></td>
</tr>
<tr>
<td>Profile visible in HA</td>
<td>no</td>
<td>a real entity, both directions</td>
</tr>
</tbody>
</table>
<p dir="auto">(Those are after the snow was already dealt with. Counting that, the renderer went from 88% to 12%.)</p>
<p dir="auto">The Xorg number is the one that tells the real story — 18.6% to 0.1% means the repainting actually stopped, rather than merely becoming invisible.</p>
<p dir="auto">The mirror is also just <em>nicer</em> now. Empty hallway: one photo, nothing else. Walk up: the right profile appears with the buttons. Walk away: back to the photo. Screen off at night puts it on an empty profile so nothing renders at all until morning.</p>
<h3>Things that bit me along the way</h3>
<ul>
<li><strong><code>MMM-Remote-Control</code>’s fuzzy module matching.</strong> If the exact identifier does not exist it falls back to matching module <em>names</em>, and runs the action on <strong>every</strong> hit. A wrong module number in my flow meant every Bird Buddy visit lit up all ten of my <code>MMM-homeassistant-sensors</code> instances — silently, for years. I tested <code>module_05_MMM-Profilepicture</code> against my mirror recently: <strong>10 hits.</strong> If you address modules by number, check them.</li>
<li><strong>Module indices include disabled modules.</strong> Setting <code>disabled: true</code> does not renumber anything. Handy, but not obvious.</li>
<li><strong>The <code>cron</code> package changed month indexing</strong> from 0-11 to 1-12. My Halloween, New Year and birthday schedules had silently never fired — two of them threw “no execution date within 8 years” and were simply ignored.</li>
<li><strong>Xorg’s <code>-dpms</code> flag is not <code>xset -dpms</code>.</strong> On the X server command line it <em>removes the extension</em>. My screen had not actually been turning off at all since the reinstall.</li>
<li><strong>A profile can never be truly empty.</strong> <code>everyone</code> modules show in every profile except the default one. I use that on purpose now — the night profile keeps the two button bars, which cost nothing.</li>
</ul>
<h3>Would I recommend it?</h3>
<p dir="auto">If you run MagicMirror with Home Assistant and more than a handful of modules: yes, and the CSS line above regardless.</p>
<p dir="auto">The mental shift is small but it changes everything — <strong>stop telling the mirror which modules to show, and start telling it which mode it is in.</strong> Everything else follows, and you stop being able to get into contradictory states at all.</p>
<p dir="auto">Happy to share the Node-RED flow or the module config if anyone wants a starting point. Just ask. 🙂</p>
]]></description><link>https://forum.magicmirror.builders/post/131650</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/131650</guid><dc:creator><![CDATA[Snille]]></dc:creator><pubDate>Mon, 10 Aug 2026 06:57:35 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Wed, 12 Mar 2025 14:38:04 GMT]]></title><description><![CDATA[<p dir="auto">Hi <a class="plugin-mentions-user plugin-mentions-a" href="/user/snille" aria-label="Profile: Snille">@<bdi>Snille</bdi></a> just found Magic Mirror project online and I’m about to get started to build a family dashboard similar to <a href="https://forum.magicmirror.builders/topic/18011/touchscreen-family-dashboard">https://forum.magicmirror.builders/topic/18011/touchscreen-family-dashboard</a> but interested in your design of having profiles for the members of the family so I can change what is shown on the display.</p>
<p dir="auto">I’m just getting started today to start the development. I’ll probably reach out with some questions.</p>
<p dir="auto"><strong>If you have any suggestions on how I should do the initial setup and start my build let me know</strong>.</p>
<p dir="auto">I’m probably going to use a monitor similar to the one from the link of the family dashboard ASUS 24" 1080P Multi-Touch Monitor (BE24ECSBT).</p>
]]></description><link>https://forum.magicmirror.builders/post/124832</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/124832</guid><dc:creator><![CDATA[a7c12a5]]></dc:creator><pubDate>Wed, 12 Mar 2025 14:38:04 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Thu, 06 Mar 2025 21:06:23 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/nowayto" aria-label="Profile: nowayto">@<bdi>nowayto</bdi></a> Thank you! I’m glad to inspire!<br />
If you have any questions, just write. :)</p>
<p dir="auto">The mirror has It’s been in use in our family now for many years. Over time it’s been more and more integrated with my Home Assistant setup as well. It’s used for daily information such as news and weather. And of course, it’s been a big part of my daughters “Birthday Treasure Hunts” (check out last years <a href="https://youtu.be/F4rV84ikWJs" target="_blank" rel="noopener noreferrer nofollow ugc">hunt</a> here).  :)</p>
<p dir="auto">I highly recommend to build one… It’s not until you built it you understand how much you need it. :)</p>
]]></description><link>https://forum.magicmirror.builders/post/124606</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/124606</guid><dc:creator><![CDATA[Snille]]></dc:creator><pubDate>Thu, 06 Mar 2025 21:06:23 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Thu, 06 Mar 2025 16:34:18 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/snille" aria-label="Profile: Snille">@<bdi>Snille</bdi></a> I’ve logged in just to say… you are incredible!<br />
That’s a very very great example of what a MM can do.<br />
It’s just up to our minds!<br />
Incredible, really.<br />
I’m really interested about the IR touch system, I think I’m not enough professional to set it up but it’ really interesting.<br />
I hope to have enough time in the future to learn/make one of this.<br />
Thank you so much to have explain your project so well at the community</p>
]]></description><link>https://forum.magicmirror.builders/post/124600</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/124600</guid><dc:creator><![CDATA[nowayto]]></dc:creator><pubDate>Thu, 06 Mar 2025 16:34:18 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Sun, 16 Apr 2023 15:47:47 GMT]]></title><description><![CDATA[<p dir="auto">Brilliant!</p>
]]></description><link>https://forum.magicmirror.builders/post/108904</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/108904</guid><dc:creator><![CDATA[bolinoid]]></dc:creator><pubDate>Sun, 16 Apr 2023 15:47:47 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Sun, 16 Apr 2023 15:12:13 GMT]]></title><description><![CDATA[<p dir="auto">I am running both Magic Mirror and Home Assistant. My dream is to have a “button” on the screen so I can toggle between the two aplications. Is this just a dream or could it be done somehow?</p>
]]></description><link>https://forum.magicmirror.builders/post/108900</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/108900</guid><dc:creator><![CDATA[gefy]]></dc:creator><pubDate>Sun, 16 Apr 2023 15:12:13 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Wed, 22 Feb 2023 14:41:52 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/justbob" aria-label="Profile: justbob">@<bdi>justbob</bdi></a> Thank you! Great to hear, please do! Share your ideas when you are done. It’s always fun to see what others do. :)</p>
]]></description><link>https://forum.magicmirror.builders/post/107990</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/107990</guid><dc:creator><![CDATA[Snille]]></dc:creator><pubDate>Wed, 22 Feb 2023 14:41:52 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Tue, 21 Feb 2023 19:34:56 GMT]]></title><description><![CDATA[<p dir="auto">Very cool, I think I will borrow some of your ideas! :)</p>
]]></description><link>https://forum.magicmirror.builders/post/107981</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/107981</guid><dc:creator><![CDATA[justbob]]></dc:creator><pubDate>Tue, 21 Feb 2023 19:34:56 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Mon, 16 Jan 2023 20:36:54 GMT]]></title><description><![CDATA[<p dir="auto">Updated almost all information about this project. My Mirror has been the “information HUB” (together with HA) of the family for many years now!<br />
Even the rest of the family(!) thinks it’s good!</p>
<p dir="auto">If you want to know more, ask away! :)</p>
]]></description><link>https://forum.magicmirror.builders/post/107346</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/107346</guid><dc:creator><![CDATA[Snille]]></dc:creator><pubDate>Mon, 16 Jan 2023 20:36:54 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Wed, 29 Jan 2020 10:07:41 GMT]]></title><description><![CDATA[<p dir="auto">Wow. Impressive. Thank you for providing so much detail in your post.</p>
]]></description><link>https://forum.magicmirror.builders/post/68770</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/68770</guid><dc:creator><![CDATA[DennisFaucher]]></dc:creator><pubDate>Wed, 29 Jan 2020 10:07:41 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Sun, 26 Jan 2020 21:02:52 GMT]]></title><description><![CDATA[<p dir="auto">Looks AWESOME!  Great job!</p>
]]></description><link>https://forum.magicmirror.builders/post/68671</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/68671</guid><dc:creator><![CDATA[cowboysdude]]></dc:creator><pubDate>Sun, 26 Jan 2020 21:02:52 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Sat, 25 Jan 2020 19:59:32 GMT]]></title><description><![CDATA[<p dir="auto">Added a video (two years later): <a href="https://youtu.be/2Hi9IDfrqPQ" target="_blank" rel="noopener noreferrer nofollow ugc">https://youtu.be/2Hi9IDfrqPQ</a><br />
The Mirror is used daily and I have upgraded from a RPi 3 to a NUC instead to get more CPU-Power to play with. :)</p>
]]></description><link>https://forum.magicmirror.builders/post/68618</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/68618</guid><dc:creator><![CDATA[Snille]]></dc:creator><pubDate>Sat, 25 Jan 2020 19:59:32 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Wed, 22 Nov 2017 11:55:57 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/korevaartje" aria-label="Profile: korevaartje">@<bdi>korevaartje</bdi></a> ,<br />
Personally I put my pictures on the css directory, and here is how I load them:</p>
<pre><code>				"Cedric": {
					img: "/css/cedric.jpg",
					width: 60,
					height: 60
				},
</code></pre>
<p dir="auto">And every day I do a rsync save of the css directory, and the conf directory as well to my NAS server.</p>
]]></description><link>https://forum.magicmirror.builders/post/31484</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/31484</guid><dc:creator><![CDATA[ceddirr]]></dc:creator><pubDate>Wed, 22 Nov 2017 11:55:57 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Mon, 16 Oct 2017 20:52:56 GMT]]></title><description><![CDATA[<p dir="auto">Hi <a class="plugin-mentions-user plugin-mentions-a" href="/user/korevaartje" aria-label="Profile: korevaartje">@<bdi>korevaartje</bdi></a>, If I remember correctly you need to use a URL to the picture. You cant use a “local” path. I’m currently loading all the pictures from an “internal” web server (that I use for lot’s of other stuff as well). And that made it easy to switch the pictures without having to change anything on the actual MM.</p>
<p dir="auto">I hope that clarify’s it. :)</p>
]]></description><link>https://forum.magicmirror.builders/post/29679</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/29679</guid><dc:creator><![CDATA[Snille]]></dc:creator><pubDate>Mon, 16 Oct 2017 20:52:56 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Sun, 15 Oct 2017 20:11:27 GMT]]></title><description><![CDATA[<p dir="auto"><a href="https://forum.magicmirror.builders/user/snille">Hi Snille</a>,</p>
<p dir="auto">i am currently trying to copy you setup but at the moment i am stuck.</p>
<p dir="auto">somehow i cant get the .png’s to show up.</p>
<p dir="auto"><img src="/assets/uploads/files/1508097547563-2d7e0fc9-1471-462e-ba31-8b4fa49071f5-image.png" alt="0_1508097547089_2d7e0fc9-1471-462e-ba31-8b4fa49071f5-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">i have created a folder within the file structure of magicmirror called backgrounds . Here i save all images needed  , placed my own icons and adressed correctly, i think.</p>
<p dir="auto">are your png’s stored localy on the pi or remotly on a server?<br />
<img src="/assets/uploads/files/1508097830504-5c76b406-72a4-4bf5-825e-c34605dd03ca-image.png" alt="0_1508097830039_5c76b406-72a4-4bf5-825e-c34605dd03ca-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">is my way of adressing correct?<br />
<img src="/assets/uploads/files/1508097982918-041c12e4-65ec-464c-b002-3c5ec3254c68-image.png" alt="0_1508097982586_041c12e4-65ec-464c-b002-3c5ec3254c68-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">kind regards,</p>
<p dir="auto">Jay</p>
]]></description><link>https://forum.magicmirror.builders/post/29607</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/29607</guid><dc:creator><![CDATA[korevaartje]]></dc:creator><pubDate>Sun, 15 Oct 2017 20:11:27 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Wed, 06 Sep 2017 11:20:16 GMT]]></title><description><![CDATA[<p dir="auto">Yeah I have no idea what they’re talking about first. After a few further questions they linked me to the correct size but still with glass. Seems like smaller sizes need it while larger doesn’t…?<br />
I also realized that the touch screen prices has gone up quite a lot lately, dammit. 1300SEK for the one I need. Oh well.<br />
“Ingen minns en fegis” :)</p>
]]></description><link>https://forum.magicmirror.builders/post/27708</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/27708</guid><dc:creator><![CDATA[grillchips]]></dc:creator><pubDate>Wed, 06 Sep 2017 11:20:16 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Mon, 04 Sep 2017 10:32:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/grillchips" aria-label="Profile: grillchips">@<bdi>grillchips</bdi></a> I don’t get the answer you got… Maybe they want to sell you a glass? :) Anyway, here is the store I bought mine from: <a href="https://www.aliexpress.com/store/922495?spm=a2g0s.9042311.0.0.9vCMC5" target="_blank" rel="noopener noreferrer nofollow ugc">https://www.aliexpress.com/store/922495?spm=a2g0s.9042311.0.0.9vCMC5</a><br />
I think they have “all” the sizes. :)</p>
]]></description><link>https://forum.magicmirror.builders/post/27623</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/27623</guid><dc:creator><![CDATA[Snille]]></dc:creator><pubDate>Mon, 04 Sep 2017 10:32:07 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Mon, 04 Sep 2017 10:18:04 GMT]]></title><description><![CDATA[<p dir="auto">Great to hear how it works! First time with a touch frame/panel for me so I’m a bit nervous.<br />
This is what they sent me:<br />
“Thanks for your inquiry. Yes, 27 inch and above size , we can send without glass. 21.5inch and 24inch, We need to send glass.”</p>
<p dir="auto">Really doesn’t tell why but I guess it doesn’t matter then… :D</p>
]]></description><link>https://forum.magicmirror.builders/post/27621</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/27621</guid><dc:creator><![CDATA[grillchips]]></dc:creator><pubDate>Mon, 04 Sep 2017 10:18:04 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Mon, 04 Sep 2017 10:32:56 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/grillchips" aria-label="Profile: grillchips">@<bdi>grillchips</bdi></a> Hmm… I don’t see why they would need the glass? It’s basically an array of IR leds on two sides and another array of IR receivers on the opposite two sides. I’m using a 32" frame and that worked in mid air when I tested. :)</p>
]]></description><link>https://forum.magicmirror.builders/post/27620</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/27620</guid><dc:creator><![CDATA[Snille]]></dc:creator><pubDate>Mon, 04 Sep 2017 10:32:56 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Mon, 04 Sep 2017 10:11:57 GMT]]></title><description><![CDATA[<p dir="auto">Sweet, thanks!<br />
Talked to one of the sellers on Aliexpress and it seems like a 21.5" touch screen needs the glass while larger ones only needs the frame. That shouldn’t make any noticeable difference in performance/feel/look, right?</p>
]]></description><link>https://forum.magicmirror.builders/post/27619</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/27619</guid><dc:creator><![CDATA[grillchips]]></dc:creator><pubDate>Mon, 04 Sep 2017 10:11:57 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Mon, 04 Sep 2017 08:41:06 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/grillchips" aria-label="Profile: grillchips">@<bdi>grillchips</bdi></a> Yes, it’s correct. I did not measure it exactly, but the description is correct. Give or take 0,5 mm I would say.</p>
]]></description><link>https://forum.magicmirror.builders/post/27613</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/27613</guid><dc:creator><![CDATA[Snille]]></dc:creator><pubDate>Mon, 04 Sep 2017 08:41:06 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Mon, 04 Sep 2017 08:38:24 GMT]]></title><description><![CDATA[<p dir="auto">I’m about to pull the trigger on the IR touch frame but not really sure how thick it is. The description says it’s about 8.7mm, do you remember if that is somewhat correct for your panel? I don’t always trust Chinese specifications. :D<br />
Feels like the whole mirror frame needs to be quite thick to keep everything in place. The screen I have with the boards on the back is about 5.5cm already, adding the touch frame and mirror glas to that will make it REALLY thick and large…</p>
<p dir="auto">I know there’s slimmer screens out there but ~5-7cm depth might be what most of us have?</p>
]]></description><link>https://forum.magicmirror.builders/post/27612</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/27612</guid><dc:creator><![CDATA[grillchips]]></dc:creator><pubDate>Mon, 04 Sep 2017 08:38:24 GMT</pubDate></item><item><title><![CDATA[Reply to Snilles Magic Mirror Project on Tue, 22 Aug 2017 19:53:58 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ceddirr" aria-label="Profile: ceddirr">@<bdi>ceddirr</bdi></a> I saw your questions about the project… Answers below. :)</p>
<p dir="auto">First, I forgot to say thank you for your kind words!</p>
<p dir="auto"><strong>Question:</strong> “Which order is it? At first the IR frame, then the one way mirror, and finally the screen, is it correct?”</p>
<p dir="auto"><strong>Answer:</strong> Correct, from the “front” the IR-Frame is first, placed directly on to the mirror and behind the mirror sits the screen. :)</p>
<p dir="auto"><strong>Question:</strong> “I can see that the custom css of the MMM-Memo is already written in css file from the module’s folder. But, how do you manage to use it, and have this look with your memos? Mine are just white and simple… Thank you =)”</p>
<p dir="auto"><strong>Answer:</strong> Well, I’m actually not doing so much in the CSS file. The only thing I set in the custom.css is the size of the Memo. The rest is “built in”.</p>
<p dir="auto">This is the CSS part (in my custom.css file):</p>
<pre><code>/* MMM-Memo -----------------------------------------*/
.MMM-Memo .small {
	font-family: "Roboto Condensed", sans-serif;
}
.note {
  width: 500px;
  height: 200px;
}
/*****************************************************/
</code></pre>
<p dir="auto">And this is in my config.js:</p>
<pre><code>{
	module: "MMM-Memo",
	position: "upper_third",
	classes: "default everyone",
	config: {
		memoTitle: "Flyginformation",
		memoDisplayIfEmpty: false,
		memoRotation: -4,
		format: "YYYY-MM-DD - HH:mm",
		memoWidth: 500,
		memoDisplayHeader: true,
		memoDisplayDuration: true,
		memoDisplayId: true,
		memoColorBackground: "LightGoldenrod",
		memoDisplayNotification: true,
	}
},
</code></pre>
<p dir="auto">You can see all the options for the config on the <a href="https://github.com/schnibel/MMM-Memo" target="_blank" rel="noopener noreferrer nofollow ugc">MMM-Memo’s git</a>.<br />
There are lot’s and lot’s of options for colors and themes. :)</p>
]]></description><link>https://forum.magicmirror.builders/post/26893</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/26893</guid><dc:creator><![CDATA[Snille]]></dc:creator><pubDate>Tue, 22 Aug 2017 19:53:58 GMT</pubDate></item></channel></rss>