MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MMM-AssistantMk2

    Scheduled Pinned Locked Moved System
    421 Posts 61 Posters 630.8k Views 57 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L Offline
      Lowis @Guest
      last edited by

      @sean thank you very much for the detailed information . Webradio is running !

      1 Reply Last reply Reply Quote 0
      • T Offline
        teitlebot
        last edited by

        @Sean
        Thanks again for all the work and help
        So how would I get assistant module to disable and enable the google photo module?
        I would like to speak “Hide Photos” and the Google Photos will stop displaying.
        I know I need transition hook and command
        I tried learning how to do this using your example of hide clock except after I added the code nothing happened. When I say “hide clock” it searches google for hide clock instead of turning off module. So I must be doing something wrong
        BTW the hide all command works fine.

        ? 1 Reply Last reply Reply Quote 0
        • ? Offline
          A Former User @teitlebot
          last edited by

          @teitlebot
          I don’t know how you do your code. I have no second sight. Show your work to examine.

          1 Reply Last reply Reply Quote 0
          • E Offline
            Egnos
            last edited by Egnos

            Hi @Sean.
            I have some questions to ask you:

            • I installed AssistantMK2 and Hotword successfully but the only way to wake up the assistant is to say “snowboy”. The hot word “smartmirror” and “jarvis” do not work. Can you help me? (my config.js below…)

            • When I ask for a song on youtube I can not stop the song anymore. The assistant does not listen to me. To talk to the assistant I have to wait for the end of the song. How do I solve?

            • When the assistant begins to speak, he cuts the first words, is it possible to solve?

            • The videos on youtube are reproduced in full screen. Is it possible to reproduce them in a small box (example: bottom right …)?

            Thanks you for your great work and patience! :winking_face:

            /* Magic Mirror Config Sample
             *
             * By Michael Teeuw http://michaelteeuw.nl
             * MIT Licensed.
             *
             * For more information how you can configurate this file
             * See https://github.com/MichMich/MagicMirror#configuration
             *
             */
            
            var config = {
            	address: "localhost", // Address to listen on, can be:
            	                      // - "localhost", "127.0.0.1", "::1" to listen on loopback interface
            	                      // - another specific IPv4/6 to listen on a specific interface
            	                      // - "", "0.0.0.0", "::" to listen on any interface
            	                      // Default, when address config is left out, is "localhost"
            	port: 8080,
            	ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], // Set [] to allow all IP addresses
            	                                                       // or add a specific IPv4 of 192.168.1.5 :
            	                                                       // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"],
            	                                                       // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
            	                                                       // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"],
            
            	language: "en",
            	timeFormat: 24,
            	units: "metric",
            
            	modules: [
            		{
            		  module: "MMM-AssistantMk2",
            		  position: "top_right",
            		  config: {
            		    /*useWelcomeMessage: "brief today",*/
            		    deviceLocation: {
            					coordinates: { // set the latitude and longitude of the device to get localized information like weather or time. (ref. mygeoposition.com)
            					latitude: 45.200049, // -90.0 - +90.0
            					longitude: 7.568917, // -180.0 - +180.0					
                      }
                    },
            			profiles: {
            				"default" : { // profile name.
            				profileFile: "default.json", // profile file name.
            				lang: "it-IT",
            				//currently available (estimation, not all tested):
            				//  de-DE, en-AU, en-CA, en-GB, en-US, en-IN
            				// fr-CA, fr-FR, it-IT, ja-JP, es-ES, es-MX, ko-KR, pt-BR
            				// https://developers.google.com/assistant/sdk/reference/rpc/languages
            				}
                    },
            			record: { // Full values are in `FOR EXPERTS` section.
            				recordProgram: "arecord",  // Defaults to "arecord" - also supports "rec" and "sox"
            				device: "plughw:1"        // recording device (e.g.: "plughw:1")
                  },
            			play: { // Full values are in `FOR EXPERTS` section.
            				playProgram: "mpg321", // recommended.
            			},
            			notifications: {
                    ASSISTANT_ACTIVATED: "HOTWORD_PAUSE",
                    ASSISTANT_DEACTIVATED: "HOTWORD_RESUME",
                  },        
                 
            				}
                },
            		{
                module: "MMM-Hotword",
                config: {
                  record: {
                    recordProgram : "arecord",  
                    device        : "plughw:1",
                  },
                  autostart:true,
                  onDetected: {
                    notification: function (payload) {
                      return "ASSISTANT_ACTIVATE"
                    },
                    payload: function (payload){
                      return {
                        profile: payload.hotword
                      }
                    }
                  },
                },
              },	
            	
            {
              module: 'MMM-Hotword',
              config: {
                snowboy: [
              {
                hotwords: "smartmirror", //this will be sent to other module for distinguishing which hotword is detected.
                file: "resources/models/smart_mirror.umdl",
                sensitivity: '0.5',
              },
              {
                hotwords: "snowboy",
                file: "resources/models/snowboy.umdl",
                sensitivity: '0.5',
              },
              {
                file: 'resources/models/jarvis.umdl',
                sensitivity: '0.8,0.80',
                hotwords: ['jarvis','jarvis'] //Kitt.ai changed their Jarvis UMDL, it has 2 models in one file. So weird.
                //anyway, you can give different name for each. ['jarvis_1', 'jarvis_2']. Even though I think this is useless.
              }
                ],
                record: {
                  sampleRate    : 16000,      // audio sample rate
                  threshold     : 0.5,        // silence threshold (rec only)
                  thresholdStart: null,       // silence threshold to start recording, overrides threshold (rec only)
                  thresholdEnd  : null,       // silence threshold to end recording, overrides threshold (rec only)
                  silence       : 1.0,        // seconds of silence before ending
                  verbose       : true,      // log info to the console. Use this when you want to check mic working or not.
                  recordProgram : 'arecord',  // Defaults to 'arecord' - also supports 'rec' and 'sox'
                  device        : 'plughw:1'        // recording device (e.g.: 'plughw:1')
                },
                autostart: true,              // if 'false', this module will wait for 'HOTWORD_RESUME' notification to start hotwords detection at the beginning.
                autorestart: false,          // You can set this 'true' when you want this module to go back to listening mode automatically again after hotword is detected. But use this carefully when your other modules are using microphone or speaker.
            
                // customizable notification trigger
                notifications: {
                  PAUSE: "HOTWORD_PAUSE",
                  RESUME: "HOTWORD_RESUME",
                  LISTENING : "HOTWORD_LISTENING",
                  SLEEPING : "HOTWORD_SLEEPING",
                  ERROR : "HOTWORD_ERROR",
                },
                onDetected: {
                  notification: (payload) => {
                    return "HOTWORD_DETECTED"
                  },
                  payload: (payload) => {
                    return payload
                  }
                },
              }
            },
            
            /*		{
                    module: 'MMM-pages',
                    config: {
                            modules:
                                [[ "weatherforecast", "newsfeed"],
                                 [ "calendar", "compliments" ]],
                            excludes: ["clock", "currentweather", "MMM-page-indicator", "MMM-AssistantMk2"],
            				}
            		},
            		{
                    module: 'MMM-page-indicator',
                    position: 'bottom_bar',
                    config: {
                        pages: 3,
            			}
            		},
            */		{
            			module: "alert",
            		},
            		{
            			module: "updatenotification",
            			position: "top_bar"
            		},
            		{
            			module: "clock",
            			position: "top_left"
            		},
            		{
            			module: "calendar",
            			header: "US Holidays",
            			position: "top_left",
            			config: {
            				calendars: [
            					{
            						symbol: "calendar-check-o ",
            						url: "webcal://www.calendarlabs.com/templates/ical/US-Holidays.ics"
            					}
            				]
            			}
            		},
            		{
            			module: "compliments",
            			position: "lower_third"
            		},
            		{
            			module: "currentweather",
            			position: "top_right",
            			config: {
            				location: "New York",
            				locationID: "",  //ID from http://bulk.openweathermap.org/sample/; unzip the gz file and find your city
            				appid: "YOUR_OPENWEATHER_API_KEY"
            			}
            		},
            		{
            			module: "weatherforecast",
            			position: "top_right",
            			header: "Weather Forecast",
            			config: {
            				location: "New York",
            				locationID: "5128581",  //ID from http://www.openweathermap.org/help/city_list.txt
            				appid: "YOUR_OPENWEATHER_API_KEY"
            			}
            		},
            		{
            			module: "newsfeed",
            			position: "bottom_bar",
            			config: {
            				feeds: [
            					{
            						title: "La Stampa",
            						url: "https://www.lastampa.it/rss.xml"
            					}
            				],
            				showSourceTitle: true,
            				showPublishDate: true
            			}
            		},
            	]
            
            };
            
            /*************** DO NOT EDIT THE LINE BELOW ***************/
            if (typeof module !== "undefined") {module.exports = config;}
            
            

            My Mirror https://forum.magicmirror.builders/topic/17262/the-raspimirror-was-born/7

            ? 1 Reply Last reply Reply Quote 0
            • ? Offline
              A Former User @Egnos
              last edited by A Former User

              @egnos

              I installed AssistantMK2 and Hotword successfully but the only way to wake up the assistant is to say “snowboy”. The hot word “smartmirror” and “jarvis” do not work. Can you help me? (my config.js below…)

              Adjust sensitivity.

              When I ask for a song on youtube I can not stop the song anymore. The assistant does not listen to me. To talk to the assistant I have to wait for the end of the song. How do I solve?

              set pauseOnYoutube:false. You can activate hotword during videoplaying and it will stop the video. Anyway, there is a risk that your video sounds could also activate hotword.

              When the assistant begins to speak, he cuts the first words, is it possible to solve?

              I think you are using HDMI as output. HDMI could have that symptom. Use other output.

              The videos on youtube are reproduced in full screen. Is it possible to reproduce them in a small box (example: bottom right …)?

              Redefine CSS selector #ASSISTANT_YOUTUBE in css/custom.css.

              E R 2 Replies Last reply Reply Quote 0
              • E Offline
                Egnos @Guest
                last edited by Egnos

                @sean said in MMM-AssistantMk2:

                Adjust sensitivity.

                The sensitivity of the microphone?
                If yes, how do you do it?

                @sean said in MMM-AssistantMk2:

                Redefine CSS selector #ASSISTANT_YOUTUBE in css/custom.css.

                Where should I make this modify?

                Thanks a lot!

                My Mirror https://forum.magicmirror.builders/topic/17262/the-raspimirror-was-born/7

                ? 1 Reply Last reply Reply Quote 0
                • ? Offline
                  A Former User @Egnos
                  last edited by

                  @egnos

                  {
                      hotwords: "smartmirror", 
                      file: "resources/models/smart_mirror.umdl",
                      sensitivity: '0.5', // < - SENSITIVITY
                    },
                  

                  Where should I make this modify?

                  css/custom.css

                  1 Reply Last reply Reply Quote 1
                  • T Offline
                    teitlebot @jomwells
                    last edited by

                    @jomwells @Sean
                    I seem to have always had this problem where after a reboot I sometimes need to manually change the hardware number of my usb mic. I saw @jomwells wrote a fix by changing the .asoundrc file but for some reason my system always changes the asoundrc back after any changes I make.
                    I wonder if you have any ideas of a fix for me?

                    ? 1 Reply Last reply Reply Quote 0
                    • ? Offline
                      A Former User @teitlebot
                      last edited by

                      @teitlebot
                      As far as I know, there be alias for device instead cardno. But not sure. I’m not familiar with these things.

                      1 Reply Last reply Reply Quote 0
                      • E Offline
                        Egnos
                        last edited by

                        Sorry @Sean I’m new in the MagicMirror environment and I do not know all the components.
                        Where can I find information on what is needed and how to customize the “custom.css” file?
                        What do you mean:

                        Redefine CSS selector #ASSISTANT_YOUTUBE in css/custom.css.

                        MagicMirror use the “custom.css” or “main.css”?

                        Thanks

                        My Mirror https://forum.magicmirror.builders/topic/17262/the-raspimirror-was-born/7

                        bheplerB ? 2 Replies Last reply Reply Quote 0
                        • bheplerB Offline
                          bhepler Module Developer @Egnos
                          last edited by bhepler

                          @egnos It uses both. Changes you make to custom.css will 1) be included in the mirror’s display and 2) persist if you update when new mirror code is released.

                          1 Reply Last reply Reply Quote 0
                          • ? Offline
                            A Former User @Egnos
                            last edited by

                            @egnos
                            There are 3 endpoints of CSS applied.

                            • CSS of module itself(modules/SOMEMODULE/SOMEMODULE.css) : It is predefined CSS for module by it’s developer.
                            • main magicmirror css (css/main.css) : This is common CSS for Mirror itself and basic default module CSS.
                            • custom css (css/custom.css) : When you need to modify some CSS rules over SOMEMODULE.css and main.css, You can redefine or override that CSS rules here.

                            By example;
                            #ASSISTANT_YOUTUBE is defined in modules/MMM-AssistantMk2/MMM-AssistantMk2.js like this;

                            #ASSISTANT_YOUTUBE {
                              width:100%;
                              height:100%;
                              border:none;
                              display:none;
                              position:fixed;
                              top:0;
                              left:0;
                              background-color:rgba(0,0,0,0.5);
                              z-index:99999;
                            }
                            

                            When you want to modify some CSS rules - smaller size -, you can override those rules in your css/custom.css instead modify MMM-AssisntantMk2.js directly.

                            #ASSISTANT_YOUTUBE {
                              width: 50%;
                              height:50%;
                              top: 25%;
                              left: 25%;
                            }
                            
                            1 Reply Last reply Reply Quote 1
                            • ? Offline
                              A Former User
                              last edited by

                              ADDED
                              Step-by-step guide about custom gaction to make a timer feature on wiki page.
                              https://github.com/eouia/MMM-AssistantMk2/wiki/Tip%3AMaking-Timer-with-gAction

                              B 1 Reply Last reply Reply Quote 0
                              • D Offline
                                Davido
                                last edited by

                                @Sean : First of all, great Work from your side, my Assistant is working, but I have a question: Is it possible, that the answer box from google could stay a little bit longer onscreen? I also tried your custom.css customization, but it doesn’t work, changing it in MMM-AssistantMk2.css was successful, any suggestions?

                                @Lowis : you wrote that your Radio is running, i was also successful, but are you also able to stop it with the voice command? My Mic reacts on saying the Hotword, but then nothing happens. Only a reboot stops the Radio

                                ejay-ibmE L 2 Replies Last reply Reply Quote 0
                                • ejay-ibmE Offline
                                  ejay-ibm Project Sponsor Module Developer @Davido
                                  last edited by

                                  @davido I think the option you are looking for regarding answer of assistant duration on screen is :
                                  “screenDuration”: 2000 // here for 2 seconds

                                  hope this helps

                                  Ejay

                                  1 Reply Last reply Reply Quote 0
                                  • B Offline
                                    bachoo786 @Guest
                                    last edited by

                                    @sean hello mate

                                    i want to install google assistant on my rpi 3b+. i have connected a bluetooth speaker and was wondering if it would work? i have tried in the past with my rpi2b but couldnt just install assistant.

                                    also is there a ste[ by step guide on how to install assistant?

                                    many thanks god bless.

                                    ? 1 Reply Last reply Reply Quote 0
                                    • ? Offline
                                      A Former User @bachoo786
                                      last edited by

                                      @bachoo786 bt speaker will work. Personally I recommend.
                                      And for instructions, read the github documents. And leave issues what trouble tou have. I’ll support.

                                      B 1 Reply Last reply Reply Quote 0
                                      • L Offline
                                        Lowis @Davido
                                        last edited by Lowis

                                        @davido could be that the radio is too loud . my running at 50% volume and it works.
                                        Hotword is “webradio” for start and stop … next hotword is “next station”

                                        At the moment i have problems with the sound config. Mic is USB MIC and Speaker HDMI from my monitor.
                                        Assistant voice is distorted but radio is clean

                                        Update: i deleted all ALSA settings in /etc/asound.conf and ~/.asoundrc and Voice works perfekt.
                                        in raspi-config i do this setting > Force HDMI

                                        1 Reply Last reply Reply Quote 0
                                        • D Offline
                                          Davido
                                          last edited by

                                          @ejay-ibm :
                                          i will try your setting, thx for your answer

                                          @Lowis :
                                          i tried it with 30% and the same result, also with the mic in front of my mouth, no action to stop … the mic onscreen reacts to my voice, but the input field leaves blank, and there is also no timeout for another input

                                          1 Reply Last reply Reply Quote 0
                                          • B Offline
                                            bachoo786 @Guest
                                            last edited by

                                            @Sean I have installed assistantmk2 correctly and have also installed hotword. However I get a blank screen but when I say ok google everything works fine.

                                            I have already been through the “electron-rebuild” step, this is what I did:

                                            pi@raspberrypi:~/MagicMirror/modules/MMM-AssistantMk2 $ npm install --save-dev electron-rebuild
                                            + electron-rebuild@1.8.4
                                            updated 1 package and audited 617 packages in 12.623s
                                            found 0 vulnerabilities
                                            
                                            pi@raspberrypi:~/MagicMirror/modules/MMM-AssistantMk2 $ ./node_modules/.bin/electron-rebuild
                                            ✔ Rebuild Complete
                                            

                                            but still no joy.

                                            and this is what I have in my config.js

                                            {
                                                module: "MMM-AssistantMk2",
                                                position: "top_right",
                                                config: {
                                                  record: {
                                                    recordProgram : "arecord",
                                                    device        : "plughw:1",
                                                  },
                                            
                                                  notifications: {
                                                    ASSISTANT_ACTIVATED: "HOTWORD_PAUSE",
                                                    ASSISTANT_DEACTIVATED: "HOTWORD_RESUME",
                                                  },
                                                }
                                              },
                                              {
                                                module: "MMM-Hotword",
                                                config: {
                                                  record: {
                                                    recordProgram : "arecord",
                                                    device        : "plughw:1",
                                                  },
                                                  autostart:true,
                                                  onDetected: {
                                                    notification: function (payload) {
                                                      return "ASSISTANT_ACTIVATE"
                                                    },
                                                    payload: function (payload){
                                                      return {
                                                        profile: payload.hotword
                                                      }
                                                    }
                                                  },
                                                },
                                              },
                                            

                                            what I did notice that if I was to remove the MMM-Hotword from my config i.e. the last part of the code i.e.

                                            {
                                                module: "MMM-Hotword",
                                                config: {
                                                  record: {
                                                    recordProgram : "arecord",
                                                    device        : "plughw:1",
                                                  },
                                                  autostart:true,
                                                  onDetected: {
                                                    notification: function (payload) {
                                                      return "ASSISTANT_ACTIVATE"
                                                    },
                                                    payload: function (payload){
                                                      return {
                                                        profile: payload.hotword
                                                      }
                                                    }
                                                  },
                                                },
                                              },
                                            

                                            the mirror starts working fine.

                                            Also in the hotword git I have followed all the possible solutions and also the main one which is :

                                            cd ~/MagicMirror/modules/MMM-Hotword/node_modules/snowboy
                                            nano package.json ## Or open the file with any TEXT editor
                                            Then, find this and replace From

                                            “node-pre-gyp”: “^0.6.30”
                                            To

                                            “node-pre-gyp”: “^0.12.0”
                                            Then retry npm install again in the module directory again.

                                            I have no joy buddy. Please help me

                                            1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 11
                                            • 12
                                            • 13
                                            • 14
                                            • 15
                                            • 21
                                            • 22
                                            • 13 / 22
                                            • First post
                                              Last post
                                            Enjoying MagicMirror? Please consider a donation!
                                            MagicMirror created by Michael Teeuw.
                                            Forum managed by Sam, technical setup by Karsten.
                                            This forum is using NodeBB as its core | Contributors
                                            Contact | Privacy Policy