MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    1. Home
    2. doctorwhen
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 6
    • Posts 18
    • Groups 0

    doctorwhen

    @doctorwhen

    I have a Ph.D. in Mathematics from the University of California at Santa Cruz. My mathematical research focused on applications of Nonlinear Dynamical Systems (Chaos Theory). I have worked on Unix and Linux operating system development since 1983. More recently my work focused on automation of Cloud service deployment and automated Cloud self service. I've been using a MagicMirror since January of 2020 and have developed several modules. My primary MagicMirror related development project is the MirrorCommand project at https://gitlab.com/doctorfree/MirrorCommand

    MagicMirror modules I maintain:

    MMM-InstagramView - https://gitlab.com/doctorfree/MMM-InstagramView
    MMM-MacAddressScan - https://gitlab.com/doctorfree/MMM-MacAddressScan
    MMM-TelegramCommands - https://gitlab.com/doctorfree/MMM-TelegramCommands
    MMM-YouTubeWebView - https://gitlab.com/doctorfree/MMM-YouTubeWebView

    9
    Reputation
    87
    Profile views
    18
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online
    Website github.com/doctorfree
    Location Santa Cruz, California

    doctorwhen Unfollow Follow

    Best posts made by doctorwhen

    • Introducing MMM-YouTubeWebView Module

      I have released the initial version of the MMM-YouTubeWebView MagicMirror module at https://gitlab.com/doctorfree/MMM-YouTubeWebView

      This module allows embedding of YouTube videos, either singly or as a list of YouTube video IDs, or as a public YouTube playlist ID. The module uses the Electron webview tag rather than an iframe in an attempt to avert YouTube blocking the requested video for any of several reasons.

      The webview tag is used to embed ‘guest’ content in the MagicMirror Electron app. The guest content is contained within the webview container. An embedded page within MagicMirror controls how the guest content is laid out and rendered.

      Unlike an iframe, the webview runs in a separate process than MagicMirror. It doesn’t have the same permissions and all interactions between MagicMirror and embedded content will be asynchronous. This keeps MagicMirror safe from the embedded content.

      Under the hood webview is implemented with Out-of-Process iframes (OOPIFs).
      The webview tag is essentially a custom element using shadow DOM to wrap an
      iframe element inside it. So the behavior of webview is very similar to a
      cross-domain iframe. As such, it can be used to safely avoid cross-domain
      policy restrictions that may prevent access to web content.

      This module is based upon both the MMM-WebView module and the MMM-EmbedYoutube module with added functionality. There are some limitations to embedding with webview. These are detailed in the README. There may be a better way to do what I have done here. Possibly I should be using the Electron BrowserView instead. I would be open to suggestion. However, this release does accomplish what I set out to do - I can play my YouTube playlists and lists of YouTube videos without YouTube telling me the video is unavailable which is what I was seeing when using an iframe.

      This is the initial release so I expect there will be significant changes in the near term. I’ve thoroughly tested it but expect issues will arise. The module is a work-in-progress and in active development.

      Any feedback will be greatly appreciated.

      posted in Entertainment youtube webview embed
      doctorwhenD
      doctorwhen
    • MagicMirror Voice Control with Siri and Google Assistant

      I’ve published a couple of articles on how to enable voice control of MagicMirror using either Apple Siri or Google Assistant. These guides can be found in the MirrorCommand Wiki at:

      • Mirror Voice Commands with Siri
      • Mirror Voice Commands with Google Assistant

      These are not simple setups. I would consider these DIY projects for the tinkering minded. They do, however, work - at least in my environment. Both methods of voice control rely on the installation and configuration of a MagicMirror command line interface provided by the MirrorCommand Package. In addition to providing the convenience of voice control of MagicMirror, the MirrorCommand package enables automation of MagicMirror actions and the ease/simplicity of command line control.

      Siri voice control of MagicMirror relies on the “Run script over SSH” option for Apple Scripting Shortcuts. on an iOS device. The Shortcut runs a shell command via SSH. Enabling and configuring SSH pose the highest hurdle for most.

      Google Assistant voice control of MagicMirror requires a MagicMirror with the MMM-GoogleAssistant and MMM-Detector modules activated and configured properly. Setup for this method is considerably more difficult but once accomplished results in a superior quality setup with far more ease and flexibility of use.

      MirrorCommand releases can be installed on Debian based Linux systems, RPM based Linux systems, and a Raspberry Pi. Debian and RPM format packages are provided for easy deployment.

      Let me know how to improve these how-to guides and what better ways you might suggest for voice control of MagicMirror. Perhaps you have suggestions for easier use of the Google Assistant SDK to provide voice control or maybe Home Assistant has some cool way to do this. Enjoy!

      posted in General Discussion
      doctorwhenD
      doctorwhen
    • MMM-Space

      I don’t think this module gets enough love. I use it to separate the overlap between placement of modules in my Magic Mirror. To me, this module is invaluable. My Hue lights were overlapping the Now Playing from Roon so I inserted a 150px space with the MMM-Space module and viola, no overlap.

      Thanks to the author!

      https://github.com/grabenhenrich/MMM-Space

      IMG_1145.png

      posted in Utilities
      doctorwhenD
      doctorwhen
    • RE: MMM-Scenes

      Very cool. Thanks for the excellent module, i’m integrating it into my mirror without much difficulty. The only problem I’ve run into thus far is with the example config which I had to modify slightly to get it working on my setup.

      All I changed was the weather apikey but that didn’t work (blank screen, electron exits). I then changed the declaration of config from const to var and the example config works:

      const config = {
      to
      var config = {

      Otherwise, wow!

      posted in System
      doctorwhenD
      doctorwhen
    • MirrorCommand Version 4.0.1 Release 1

      An updated release of MirrorCommand is available at https://gitlab.com/doctorfree/MirrorCommand/-/releases/v4.0.1r1

      Version 4.0.1 Release 1 of MirrorCommand replaces the use of module MMM-DarkSkyForecast with module MMM-OpenWeatherForecast. Apple bought DarkSky and is removing free access to the API.

      See the MirrorCommand README for additional info.

      The Mirror Command Line project provides scripts to enable command line control of the MagicMirror system over a local network.
      The MirrorCommand Debian and RPM format package installation scripts perform automatic installation and configuration of a MagicMirror including:

      • Automated installation of the MagicMirror software if not already installed
      • Automated configuration of the MagicMirror
      • Automated installation and configuration of several MagicMirror modules
      • PM2 process manager installation and configuration
      • Semi-automated key management to enable a single source for adding, storing, and managing the several keys necessary to activate many MagicMirror modules
      • Hundreds of MagicMirror configuration files preconfigured with layouts for both portrait and landscape mode displays and module activation

      The mirror command can be installed on your MagicMirror to issue MagicMirror commands. Currently the command line MagicMirror control scripts include support for:

      • Specifying the MagicMirror configuration file to activate
      • Starting, stopping, and restarting the MagicMirror
      • Display of various system info
        • Temperature
        • Memory
        • Disk
        • Usb
        • Network
        • Wireless
        • Screen
      • List active/installed MagicMirror modules
      • List available MagicMirror configuration files
      • Rotate the MagicMirror screen
      • Get or set the brightness level
      • Control MagicMirror video playback
        • Start/Stop video play
        • Replay video
        • Play next video
        • Hide video playback module
        • Show video playback module
      • Control the MagicMirror audio output volume level
      • Get MagicMirror status
      • Update the MagicMirror installation or update installed modules
      • Auto generation of new MagicMirror configuration files
      • Interactive mode via menu dialogs
        • Invoked with no arguments the mirror command displays a command menu.

      MirrorCommand has been successfully deployed and tested on a Raspberry Pi 4 and Raspberry Pi 400 running Raspbian Buster. It has also been deployed and tested on Ubuntu Linux 20.04 and Fedora Linux 35 with generic x86_64 hardware.

      posted in General Discussion
      doctorwhenD
      doctorwhen

    Latest posts made by doctorwhen

    • MirrorCommand Version 4.0.1 Release 1

      An updated release of MirrorCommand is available at https://gitlab.com/doctorfree/MirrorCommand/-/releases/v4.0.1r1

      Version 4.0.1 Release 1 of MirrorCommand replaces the use of module MMM-DarkSkyForecast with module MMM-OpenWeatherForecast. Apple bought DarkSky and is removing free access to the API.

      See the MirrorCommand README for additional info.

      The Mirror Command Line project provides scripts to enable command line control of the MagicMirror system over a local network.
      The MirrorCommand Debian and RPM format package installation scripts perform automatic installation and configuration of a MagicMirror including:

      • Automated installation of the MagicMirror software if not already installed
      • Automated configuration of the MagicMirror
      • Automated installation and configuration of several MagicMirror modules
      • PM2 process manager installation and configuration
      • Semi-automated key management to enable a single source for adding, storing, and managing the several keys necessary to activate many MagicMirror modules
      • Hundreds of MagicMirror configuration files preconfigured with layouts for both portrait and landscape mode displays and module activation

      The mirror command can be installed on your MagicMirror to issue MagicMirror commands. Currently the command line MagicMirror control scripts include support for:

      • Specifying the MagicMirror configuration file to activate
      • Starting, stopping, and restarting the MagicMirror
      • Display of various system info
        • Temperature
        • Memory
        • Disk
        • Usb
        • Network
        • Wireless
        • Screen
      • List active/installed MagicMirror modules
      • List available MagicMirror configuration files
      • Rotate the MagicMirror screen
      • Get or set the brightness level
      • Control MagicMirror video playback
        • Start/Stop video play
        • Replay video
        • Play next video
        • Hide video playback module
        • Show video playback module
      • Control the MagicMirror audio output volume level
      • Get MagicMirror status
      • Update the MagicMirror installation or update installed modules
      • Auto generation of new MagicMirror configuration files
      • Interactive mode via menu dialogs
        • Invoked with no arguments the mirror command displays a command menu.

      MirrorCommand has been successfully deployed and tested on a Raspberry Pi 4 and Raspberry Pi 400 running Raspbian Buster. It has also been deployed and tested on Ubuntu Linux 20.04 and Fedora Linux 35 with generic x86_64 hardware.

      posted in General Discussion
      doctorwhenD
      doctorwhen
    • RE: MMM-forecast-io migration to OpenWeatherMap from DarkSky

      @FlatPepsi Good to see you are ahead of the game as DarkSky is shutting down next year. Did you consider the successor to DarkSky, WeatherKit ? I have not yet checked it out and it is currently in Beta. I am happy with OpenWeather, just curious about WeatherKit.

      posted in Showcase
      doctorwhenD
      doctorwhen
    • RE: MagicMirror Voice Control with Siri and Google Assistant

      @bugsounet Sorry, i am not sure i understand. Is it your wish that people not mention your modules on this forum? If so, I was unaware and apologize.

      But, I don’t understand why. It is certainly not part of the MIT license under which your modules are distributed. Still, I suppose out of courtesy one might wish to conform to your request. Anyway, I’m a bit confused and perplexed and sorry if I did something wrong.

      posted in General Discussion
      doctorwhenD
      doctorwhen
    • RE: MagicMirror Voice Control with Siri and Google Assistant

      @halpi-thousand Your HAL 9000 setup looks very cool. Nice!

      Yes, both the Siri and Google Assistant voice control works on the Raspberry Pi. It was an oversight on my part not to mention that in the articles.

      I do not know how to customize the voice triggers for either Siri or GA. I think for Siri it is not possible. Maybe GA has a way.
      Nor do I know how to customize the voice. Again, I think for Siri your choices are limited to what Apple supports. Maybe there is a way with GA.

      Neither setup is easy, the GA setup being the more difficult. However, the instructions are pretty clear, just complicated, so it’s doable. Good luck!

      posted in General Discussion
      doctorwhenD
      doctorwhen
    • MagicMirror Voice Control with Siri and Google Assistant

      I’ve published a couple of articles on how to enable voice control of MagicMirror using either Apple Siri or Google Assistant. These guides can be found in the MirrorCommand Wiki at:

      • Mirror Voice Commands with Siri
      • Mirror Voice Commands with Google Assistant

      These are not simple setups. I would consider these DIY projects for the tinkering minded. They do, however, work - at least in my environment. Both methods of voice control rely on the installation and configuration of a MagicMirror command line interface provided by the MirrorCommand Package. In addition to providing the convenience of voice control of MagicMirror, the MirrorCommand package enables automation of MagicMirror actions and the ease/simplicity of command line control.

      Siri voice control of MagicMirror relies on the “Run script over SSH” option for Apple Scripting Shortcuts. on an iOS device. The Shortcut runs a shell command via SSH. Enabling and configuring SSH pose the highest hurdle for most.

      Google Assistant voice control of MagicMirror requires a MagicMirror with the MMM-GoogleAssistant and MMM-Detector modules activated and configured properly. Setup for this method is considerably more difficult but once accomplished results in a superior quality setup with far more ease and flexibility of use.

      MirrorCommand releases can be installed on Debian based Linux systems, RPM based Linux systems, and a Raspberry Pi. Debian and RPM format packages are provided for easy deployment.

      Let me know how to improve these how-to guides and what better ways you might suggest for voice control of MagicMirror. Perhaps you have suggestions for easier use of the Google Assistant SDK to provide voice control or maybe Home Assistant has some cool way to do this. Enjoy!

      posted in General Discussion
      doctorwhenD
      doctorwhen
    • MirrorCommand Version 3.0.0 Release 1

      The MirrorCommandLine package was introduced here in a previous post describing its features and installation. MirrorCommandLine has been renamed MirrorCommand with many new features added and installation packages available in Debian and RPM formats. This post is to announce the availability of MirrorCommand Version 3.0.0 Release 1

      See the MirrorCommand README to learn more about command line control of MagicMirror and the automated installation and configuration of MagicMirror with the MirrorCommand package.

      This major release of MirrorCommand introduces support for multiple monitors, switching MagicMirror screen display between monitors and full support for both portrait and landscape mode displays.

      Voice commands for screen switching have been added via the
      MMM-GoogleAssistant module recipe file MirrorCommand.js.

      To install:

      Download the latest Debian or RPM format packages

      NOTE: The automated configuration requires access to some X11 graphical
      utilities. Depending upon your system’s X11 configuration, it may be necessary
      to grant the root user access to the display. To do so, prior to installation
      issue the command:

      xhost +si:localuser:root

      or grant everyone access with

      xhost +

      Install the package on Debian based systems by executing the command

      sudo apt install ./MirrorCommand_3.0.0-1.deb
      

      Install the package on RPM based systems by executing the command

      sudo yum localinstall ./MirrorCommand-3.0.0-1.noarch.rpm
      

      Removal of the package on Debian based systems can be accomplished by issuing the command:

      sudo apt remove mirrorcommand
      

      Removal of the package on RPM based systems can be accomplished by issuing the command:

      sudo yum remove MirrorCommand
      

      Post installation, configure /usr/local/MagicMirror/etc/mirrorkeys with any keys used by your modules. Once keys are configured, execute the command:

      /usr/local/bin/showkeys
      
      posted in General Discussion
      doctorwhenD
      doctorwhen
    • RE: Introducing the MirrorCommandLine project

      @sdetweil I should also add that some of the automated MagicMirror installation and configuration in MirrorCommandLine drew upon your previous work at https://github.com/sdetweil/MagicMirror_scripts

      I should add a note about your contribution to the automated installation and configuration in the MirrorCommandLine README. Thanks!

      posted in General Discussion
      doctorwhenD
      doctorwhen
    • RE: Introducing the MirrorCommandLine project

      @sdetweil I’ve successfully deployed and tested MirrorCommandLine on a Raspberry Pi 4 running Raspbian Buster and Ubuntu 20.04 on a couple of systems. The installation package format is Debian so the automated installation and configuration is limited to systems that support the Debian packaging format. However, it should deploy on most Debian based Linux environments. I do not know about Pi Zero or Pi 3. I would appreciate any feedback from folks who use those systems. I have a Pi 400 I can test on and will report the results.

      I’ll add a Compatibility section to the README.

      posted in General Discussion
      doctorwhenD
      doctorwhen
    • Introducing the MirrorCommandLine project

      The MirrorCommandLine project provides scripts to enable command line control of the MagicMirror system over a local network.

      The MirrorCommandLine Debian format package installation scripts perform automatic installation and configuration of a MagicMirror including:

      • Automated installation of the MagicMirror software if not already installed
      • Automated configuration of the MagicMirror
      • Automated installation and configuration of several MagicMirror modules
      • PM2 process manager installation and configuration
      • Semi-automated key management to enable a single source for adding, storing, and managing the several keys necessary to activate many MagicMirror modules
      • Hundreds of MagicMirror configuration files preconfigured with layouts for both portrait and landscape mode displays and module activation

      The mirror command can be installed on your MagicMirror to issue MagicMirror commands. Currently the command line MagicMirror control scripts include support for:

      • Specifying the MagicMirror configuration file to activate
      • Starting, stopping, and restarting the MagicMirror
      • Display of various system info
        • Temperature
        • Memory
        • Disk
        • Usb
        • Network
        • Wireless
        • Screen
      • List active/installed MagicMirror modules
      • List available MagicMirror configuration files
      • Rotate the MagicMirror screen
      • Get or set the brightness level
      • Control MagicMirror video playback
        • Start/Stop video play
        • Replay video
        • Play next video
        • Hide video playback module
        • Show video playback module
      • Control the MagicMirror audio output volume level
      • Get MagicMirror status
      • Auto generation of new MagicMirror configuration files
      • Interactive mode via menu dialogs
        • Invoked with no arguments the mirror command displays a command menu.

      NOTE: The automated configuration requires access to some X11 graphical utilities. Depending upon your system’s X11 configuration, it may be necessary to grant the root user access to the display. To do so, prior to installation issue the command:

      xhost +si:localuser:root

      or grant everyone access with

      xhost +

      Visit the MirrorCommandLine Git Repository to learn more about this project, read the articles and documentation at the MirrorCommandLine Wiki, or download and install the MirrorCommandLine Debian format package.

      posted in General Discussion
      doctorwhenD
      doctorwhen
    • RE: [HOW_TO] MagicMirror as Desktop Wallpaper (all platform : updated)

      @mmrize no, pcmanfm cannot run an application in the desktop background layer, just a wallpaper image. so, i take my comment back, i did not fully understand what you are talking about. but, now i want to try running magicmirror as my desktop background!

      posted in Tutorials
      doctorwhenD
      doctorwhen