MagicMirror² v2.6.0 is available! For more information about this release, check out this topic.

Control MM with a Google Home

  • Module Developer

    So I got a Google Home Mini for Christmas, so I’ve tinkered around a bit to try to control MagicMirror with it… but I haven’t found a way yet.

    Most posts seems to be either about Alexa or to run Google assistant on the RPi itself. But someone must have done this before…

    My tests so far:

    1. Created an IFTTT applet that triggered a webhook to send notifications via MMM-RemoteControl. But my mirror IP is local. I had it port forwarded before, but when I realized anyone could access my config.js I turned that off. So I gave this up.

    2. The above but tried to also use Tasker on Android (and other similar apps I don’t remember the name on). I struggled with this and got nowhere. Also, if I would succeed, it would only work when my phone is at home.

    3. I installed MMM-TelegramBot. So now I can control my mirror from anywhere by chatting with the bot and for example texting “/hideall” to it. All modules are hidden instantly. Cool! I could also write to the chat via the rest api:[token]/sendMessage?chat_id=[myuserid]&text=/hideall
      That wrote /hideall in the chat, but did not trigger the hide all action. I guess it is because a bot sent message cannot trigger a bot command.

    4. Just now I found this:
      I haven’t tried that yet, but it is named AlexaOnOff and I found no mention of anyone using it with Google Home. Has anyone tested?

    So… does anyone have any other bright ideas? 🙂

  • Module Developer

    1 . You can use DDNS service to connect your local device from outside. Or you can make SSH tunnel via ngrok or dataplicity. Anyway there could be open port issue what you worry.

    3 . Your guessing is right.

    The usual way to control device via Google Home is to make google Action (a small application or conversation set on Assistant), but it is not easy for non-developer. Frankly said, I don’t recommend.

    The most easy way would be using IFTTT none the more. I think you can install nginx or apache to control accessible URL as your expectation. You can block weak URLs with nginx.

  • Module Developer

    @Sean Thanks. I have DDNS setup, I just prefer to keep all ports closed if possible. I also have VPN server setup in my router, but that really doesn’t help here.

    From what I understand google action requires you to say to google home: “I want to speak to magicmirror” before you can trigger any command. Then the whole point with using voice to simplify is gone imo.

    I will look into MMM-AlexaOnOff more and post if I succeed in connecting my google home.

  • Module Developer

    Via google home, that is usual way.
    If your device uses embedded google assistant, you can order to device directly.

  • @retroflex Yesterday I Tried MMM-AlexaOnOff but Google Home didn’t find the Fauxmo (emulated Belkin Wemo) device.