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.

    Need help with MM-Google Assistant Mk2

    Scheduled Pinned Locked Moved Solved Troubleshooting
    5 Posts 3 Posters 3.2k Views 3 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.
    • 0 Offline
      09succotash
      last edited by 09succotash

      For some reason, the hotword is working, but when I get ready to say the command for Google Assistant, it doesn’t respond, or pick up what I am saying at all. Please help, posting config.js file below.
      Using Raspberry Pi 3 Model B+, running Raspbian Stretch.

      /* 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: "alert",
      		},
      		{
      			module: "updatenotification",
      			position: "top_bar"
      		},
      		{
      			module: "clock",
      			position: "top_left"
      		},
      		{
      			module: "calendar",
      			header: "US Holidays",
      			position: "top_left",
      			config: {
      				calendars: [
      					{
      						symbol: "calendar-check",
      						url: "webcal://www.calendarlabs.com/ical-calendar/ics/76/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/city.list.json.gz; 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://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
      				appid: "YOUR_OPENWEATHER_API_KEY"
      			}
      		},
      		{
      			module: "newsfeed",
      			position: "bottom_bar",
      			config: {
      				feeds: [
      					{
      						title: "New York Times",
      						url: "http://www.nytimes.com/services/xml/rss/nyt/HomePage.xml"
      					}
      				],
      				showSourceTitle: true,
      				showPublishDate: true,
      				broadcastNewsFeeds: true,
      				broadcastNewsUpdates: true
      			}
      		},
      {
      	module: "MMM-Hotword",
      	position: "top_right",
      	config: {
      		chimeOnFinish: true,
      		mic: {
      			recordProgram: "arecord",
      			device: "plughw:1"
      		},
      		models: [
      			{
      				hotwords    : "smart_mirror",
      				file        : "smart_mirror.umdl",
      				sensitivity : "1",
      			},
      		],
      		commands: {
      			"smart_mirror": {
      				notificationExec: {
      					notification: "ASSISTANT_ACTIVATE",
      					payload: (detected, afterRecord) => {
      						return {profile:"default"}
      					}
      				},
      				restart:false,
      				afterRecordLimit:0
      			}
      		}
      	}
      },
      {
        module: "MMM-AssistantMk2",
        position: "top_right",
        config: {
      
          // --- ESSENTIALS / modifying for your environment might be needed.
      
      
          deviceLocation: {
            coordinates: { // set the latitude and longitude of the device to get localized information like weather or time. (ref. mygeoposition.com)
              latitude: 29.558190, // -90.0 - +90.0
              longitude: -95.413352, // -180.0 - +180.0
            },
          },
      
          defaultProfile: "default", // If you have several profiles and want to set one of them as default profile, describe here.
      
          profiles: {
            "default" : { // profile name.
              profileFile: "default.json", // profile file name.
              lang: "en-US"
              //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
            },
            /* Add your other profiles here, if exists.
            "other_profile" : {
              profileFile: "other.json",
              lang: "de-DE"
            }
            */
          },
      
          record: { // Full values are in `FOR EXPERTS` section.
            recordProgram: "arecord",  // Defaults to "arecord" - also supports "rec" and "sox"
            device: null       // recording device (e.g.: "plughw:1")
          },
      
          play: { // Full values are in `FOR EXPERTS` section.
            playProgram: "mpg321", // recommended.
          },
      
      
          // --- OPTIONAL / not important but customizable for your usage
      
      
          responseVoice: true, // If available, Assistant will response with her voice.
          responseScreen: true, // If available, Assistant will response with some rendered HTML
          responseAlert: true, // If available, Assistant will response with Alert module of MM
          // Sometimes, any response might not be returned. responseAlert is useful for displaying error.
      
          screenZoom: "80%", // Adjust responseScreen to your mirror size.
          screenDuration: 15, // milliseconds. How long responseScreen will be shown after speech.
          //If you set 0, Screen Output will be closed after Response speech finishes ASAP.
      
          youtubeAutoplay: true, //If set as true, found Youtube video will be played automatically.
          pauseOnYoutube:true, //If set as true, You cannot activate Assistant during youtube playing. Recommended for the performance (Because permanent hotword detecting might make performance lower)
      
          youtubePlayerVars: { // You can set youtube playerVars for your purpose, but should be careful.
            "controls": 0,
            "loop": 1,
            "rel": 0,
          },
          youtubePlayQuality: "hd1080", //small, medium, large, hd720, hd1080, highres or default
      
          useWelcomeMessage: "What's the weather", //Try "brief today" as this value. You can use this value to check module working when MM is starting.
      
          onIdle: {
            //timer: 1000*60*30, // if you don't want to use this feature, just set timer as `0` or command as ""
            //command: "HIDEMODULES",
            timer: 0,
            command: null,
          },
      
          onActivate: {
            timer: 0,
            //command: "SHOWMODULES"
            command: null,
          },
      
      
          // --- FOR EXPERTS / For development, debug or more
      
      
          verbose:false, // You can get error or some logs when this value is set as true.
          ignoreNoVoiceError: true, //To avoid some annoying youtube stop bug.
      
          startChime: "connection.mp3", // you can use `mp3` to play chime when your mic is ready. It should be playable with your `play.playProgram`
          noChimeOnSay: false, // When using the `ASSISTANT_SAY` trigger, you can prevent the chime from being played before your words
      
          auth: { // I believe you don't need to change this.
            keyFilePath: "./credentials.json"
          },
      
          record:  { // Full version
            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       : false,      // log info to the console
            recordProgram : "arecord",  // Defaults to "arecord" - also supports "rec" and "sox"
            device        : null        // recording device (e.g.: "plughw:1")
          },
      
          play: { // Full version
            encodingOut: "MP3", //'MP3' or 'WAV' is available, but you might not need to modify this.
            sampleRateOut: 24000,
            playProgram: "mpg321", //Your prefer sound play program. By example, if you are running this on OSX, `afplay` could be available.
            playOption: [],
            // If you need additional options to use playProgram, describe here. (except filename)
            // e.g: ["-d", "", "-t", "100"]
          },
      
          useGactionCLI: false, // If set as true, you can update your gAction when MM is rebooted.
          projectId: "", // Google Assistant ProjectId (Required only when you use gAction.)
          deviceModelId: "", // It should be described in your config.json. In most of case, you don't need to this.
          deviceInstanceId: "", // It should be described in your config.json. In most of case, you don't need to this.
      
          recipes:["hide_and_show_all_modules.js", "reboot.js", "screen_onoff.js", "shutdown.js"],
          transcriptionHook: {},
          action: {}, // You can catch your gAction command.
          command: {}, // You can catch transcription hook and be able to make your own `COMMAND` with this.
          //See the `transcriptionHook` section.
          action:{}, // You can make your own MM command for gAction and transcriptionHook
          //See the `command` section.
      
          notifications: { // You can redefine these notifications to communicate with specific modules.
            ASSISTANT_ACTIVATE: "ASSISTANT_ACTIVATE",
            ASSISTANT_DEACTIVATE: "ASSISTANT_CLEAR",
            ASSISTANT_ACTIVATED: "ASSISTANT_ACTIVATED",
            ASSISTANT_DEACTIVATED: "ASSISTANT_DEACTIVATED",
            ASSISTANT_ACTION: "ASSISTANT_ACTION",
            ASSISTANT_UNDERSTOOD: "ASSISTANT_UNDERSTOOD",
            ASSISTANT_RESPONSE_END: "ASSISTANT_RESPONSE_END",
            DEFAULT_HOOK_NOTIFICATION: "ASSISTANT_HOOK",
            TEXT_QUERY: "ASSISTANT_QUERY",
            SAY_TEXT: "ASSISTANT_SAY",
          }
        }
      },
      
      
        
      	]
      
      };
      
      /*************** DO NOT EDIT THE LINE BELOW ***************/
      if (typeof module !== "undefined") {module.exports = config;}
      
      
      1 Reply Last reply Reply Quote 0
      • R Offline
        ricardoyen
        last edited by sdetweil

        Try using a simply version

        {
        	module: "MMM-AssistantMk2",
        	position: "top_right",
        	config: {
        		deviceLocation: {
        			coordinates: {
        				latitude: -29.730320, // -90.0 - +90.0
        				longitude: 30.038760 // -180.0 - +180.0
        			},
        		},
        		record: {
        			recordProgram : "arecord",  
        			device        : "plughw:1",
        		},
        		notifications: {
        			ASSISTANT_ACTIVATED: "HOTWORD_PAUSE",
        			ASSISTANT_DEACTIVATED: "HOTWORD_RESUME",
        		},
        		useWelcomeMessage: "brief today",
        		profiles: {
        			"default" : {
        				lang: "en-US"
        			}
        		},
        	}
        },
        
        1 Reply Last reply Reply Quote 0
        • 0 Offline
          09succotash
          last edited by

          Thanks, but i already figured it out. Appreciate the help

          Mykle1M 1 Reply Last reply Reply Quote 0
          • Mykle1M Offline
            Mykle1 Project Sponsor Module Developer @09succotash
            last edited by

            @09succotash said in Need help with MM-Google Assistant Mk2:

            Thanks, but i already figured it out. Appreciate the help

            For the benefit of other users you could post what the problem was and how you solved it.

            Just a thought. :-)

            Create a working config
            How to add modules

            1 Reply Last reply Reply Quote 2
            • 0 Offline
              09succotash
              last edited by

              The actual problem was that the module script wasn’t configured correctly to use my microphone like the MMM-Hotword module was, so I copied the information under “mic” into “record”.

              1 Reply Last reply Reply Quote 1

              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 / 1
              • 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