A collection of hardware and software to create an amazing magic mirror for your smart home.
I have hung a Magic Mirror in my hallway and made it touch-enabled. It works with a special monitor that supports "touch through glass" and a spy mirror that is touch-permeable. The Magic Mirror software runs as an iframe in a Home Assistant dashboard, so you can also control your whole smart home with it.
Have a look at the showcase video to see it in action.
Apart from the fingerprints and Siri, I am very satisfied ;)
The most difficult thing was to find a suitable screen and spy mirror that would still allow touch.
- Raspberry Pi 4 (will probably upgrade to a pi 5 soon because of the better performance)
- Iiyama Touch Monitor (it's important that you choose one that supports "Touch through glass")
- Spy Mirror (afaik only the MirroView™ from Pilkington is touch-permeable. I use the 4mm version)
- Wall mount (I use additional 3d printed parts to fix the mirror in front of the monitor without the need of a frame)
I'm using the famous Magic Mirror software platform with a lot of different modules.
- Home Assistant Display
- SmartTouch
- MMM-Remote-Control
- ... and many more
To easily display more information on the screen than the Magic Mirror software and its modules are capable of and to control the smart home, I use Home Assistant
The Magic Mirror is displayed in an iframe inside a Home Assistant Dashboard. This way you can easily switch between different dashboards and control your smart home. In addition the displayed content is automatically switched depending on several events.
- When someone rings the doorbell, the camera is displayed.
- When the vacuum cleaner is running, the map is displayed.
- When music is playing, the media player is displayed.
To achieve this, I use the following addons and integrations inside Home Assistant:
- Browser Mod (for automatic switching to certain dashboards)
- WebRTC Camera (for displaying the camera)
- Xiaomi Cloud Map Extractor (for displaying the vacuum cleaner map)
- Owntone Media Server (for displaying the media player)
- and much more