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

Assistant Error



  • Starting MagicMirror: v2.1.3
    Loading config ...
    Loading module helpers ...
    Initializing mm-music-player module helper ...
    No helper found for module: alert.
    Initializing new module helper ...
    WARNING! Could not load config file. Starting with default configuration. Error found: Error: Cannot find module '/home/pi/MagicMirror/modules/MMM-Assistant/node_modules/grpc/src/node/extension_binary/electron-v1.7-linux-arm-glibc/grpc_node.node'
    Loading module helpers ...
    Initializing mm-music-player module helper ...
    No helper found for module: alert.
    Initializing new module helper ...
    App threw an error during load
    Error: Cannot find module '/home/pi/MagicMirror/modules/MMM-Assistant/node_modules/grpc/src/node/extension_binary/electron-v1.7-linux-arm-glibc/grpc_node.node'
        at Module._resolveFilename (module.js:470:15)
        at Function.Module._resolveFilename (/home/pi/MagicMirror/node_modules/electron/dist/resources/electron.asar/common/reset-search-paths.js:35:12)
        at Function.Module._load (module.js:418:25)
        at Module.require (module.js:498:17)
        at require (internal/module.js:20:19)
        at Object. (/home/pi/MagicMirror/modules/MMM-Assistant/node_modules/grpc/src/grpc_extension.js:30:15)
        at Object. (/home/pi/MagicMirror/modules/MMM-Assistant/node_modules/grpc/src/grpc_extension.js:34:3)
        at Module._compile (module.js:571:32)
        at Object.Module._extensions..js (module.js:580:10)
        at Module.load (module.js:488:32)
    Whoops! There was an uncaught exception...
    { Error: Cannot find module '/home/pi/MagicMirror/modules/MMM-Assistant/node_modules/grpc/src/node/extension_binary/electron-v1.7-linux-arm-glibc/grpc_node.node'
        at Module._resolveFilename (module.js:470:15)
        at Function.Module._resolveFilename (/home/pi/MagicMirror/node_modules/electron/dist/resources/electron.asar/common/reset-search-paths.js:35:12)
        at Function.Module._load (module.js:418:25)
        at Module.require (module.js:498:17)
        at require (internal/module.js:20:19)
        at Object. (/home/pi/MagicMirror/modules/MMM-Assistant/node_modules/grpc/src/grpc_extension.js:30:15)
        at Object. (/home/pi/MagicMirror/modules/MMM-Assistant/node_modules/grpc/src/grpc_extension.js:34:3)
        at Module._compile (module.js:571:32)
        at Object.Module._extensions..js (module.js:580:10)
        at Module.load (module.js:488:32) code: 'MODULE_NOT_FOUND' }
    MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
    If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues
    Launching application.
    


  • I am also getting this error unfortunately… I beleive it might be due to this:

    “Currently under Electron 1.7, there might be non-compatible issues of grpc. I will make a patch for this, but it will take somewhat time. sorry.”


  • Module Developer

    @shep99 @acogkenf

    If you go to '/home/pi/MagicMirror/modules/MMM-Assistant/node_modules/grpc/src/node/extension_binary/, there might be some weird directory name which has {something}, then change it to electron-v1.7-linux-arm-glibc.



  • Thank you @Sean appreciated! I tried that ( also tried the steps outlined here ) : https://github.com/eouia/MMM-Assistant/wiki/Urgent-Issue-on-installation

    And after install Ihad two folders in /home/pi/MagicMirror/modules/MMM-Assistant/node_modules/grpc/src/node/extension_binary/

    electron-v1.4-linux-arm-{libc}
    and
    node-v48-linux-arm-glibc

    I renamed the folder electron-v1.4-linux-arm-{libc} to electron-v1.7-linux-arm-glibc but when I run

    cd /modules/MMM-Assistant
    node google-auth.js
    

    I get the following error:

    pi@smartmirror1:~/MagicMirror/modules/MMM-Assistant $ node google-auth.js
    module.js:597
      return process.dlopen(module, path._makeLong(filename));
                     ^
    
    Error: Module version mismatch. Expected 48, got 50.
        at Error (native)
        at Object.Module._extensions..node (module.js:597:18)
        at Module.load (module.js:487:32)
        at tryModuleLoad (module.js:446:12)
        at Function.Module._load (module.js:438:3)
        at Module.require (module.js:497:17)
        at require (internal/module.js:20:19)
        at Object. (/home/pi/MagicMirror/modules/MMM-Assistant/node_modules/google-assistant/node_modules/grpc/src/node/src/grpc_extension.js:38:15)
        at Module._compile (module.js:570:32)
        at Object.Module._extensions..js (module.js:579:10)
    pi@smartmirror1:~/MagicMirror/modules/MMM-Assistant $ 
    

  • Module Developer

    @shep99
    Hmmm… This error might be derived from the various different versions of node.js of MM, Electron, Google API and other dependencies. MMM-Assistant should have many dependencies, so always the version problem makes me crazy. 😞

    I’m not sure about your situation, but I think google-auth should be performed before electron-rebuild. because that authentification library uses the different version of modules with other dependencies. I think you’d better try re-install.



  • Thanks very much @sean appreciated. I did re install, and ran google-auth then electron-rebuild. After that, I did have to rename the folders from electron-v1.4-linux-arm-{libc} to electron-v1.4-linux-arm-glibc and everything loaded! 🙂 I created my own models smartmirror.pmdl, and snowboy.pmdl ) with snowboy from the RPI that is running MM with the MIC, and running the following two commands I can record and play back WAV files with arecord:

    arecord --device=plughw:1,0 --format S16_LE --rate 44100 -c1 test.wav
    
    aplay --device=plughw:0,0 test.wav
    

    When MM startups up, I can here an initial ding, but cannot trigger any key word detection for some reason? I was wondering if my config might be off? Below is my configuration:

    {
      module: 'MMM-Assistant',
      position: 'bottom_left',
      config: {
        assistant: {
          auth: {
            keyFilePath: "secret.json", //When you want to change the location of this file, set this.
            savedTokensPath: "resources/tokens.js" //When you want to change the location of this file, set this.
          },
          audio: {
            encodingIn: "LINEAR16", //Ignore this. I think you don't need to change this.
            sampleRateOut: 16000 //Ignore this. I think you don't need to change this.
          }
        },
        snowboy: {
          models: [
            {
              file: "resources/smartmirror.pmdl",
              sensitivity: 0.5,
              hotwords : "MIRROR" //One of models should be "MIRROR"
            },
            {
              file: "resources/snowboy.pmdl",
              sensitivity: 0.5,
              hotwords : "ASSISTANT" //One of models should be "ASSISTANT"
            }
          ]
        },
        record: {
          threshold: 0, //Ignore this. I think you don't need to change this.
          verbose:false, //true for checking recording status.
          recordProgram: 'arecord', //You can use 'rec', 'sox'. But I recommend use 'arecord'.
          silence: 2.0 //Ignore this. I think you don't need to change this.
        },
        stt: {
          auth: [{
            projectId: 'smartmirror-XXXXX-REMOVED', //ProjectId from Google Console
            keyFilename: 'config.stt.auth.json'
          }], //You can use multi accounts for saving money.
          request: {
            encoding: 'LINEAR16', //Ignore this. I think you don't need to change this.
            sampleRateHertz: 16000, //Ignore this. I think you don't need to change this.
            languageCode: 'en-US' //See https://cloud.google.com/speech/docs/languages
          },
        },
        speak: {
          useAlert: true, //If you want to show the text of speech, set this true. But It could be ignored by command of modules directly.
          language: 'en-US', //If you want to set the default language of speech of command result, set this.
        },
        alias: [
          {
            "help :command" : ["teach me :command", "what is :command"]
          }
        ] // You can use aliases for difficult pronunciation or easy using.
      }
    },
    

    I am trying to activate using snowboy, smartmirror, assistant, google, etc but it never triggers.

    Thanks @sean really appreciated.



  • Just wanted to repost here, @sean thanks and got it going. This is an INCREDIBLE module and thank you. My problem was with my MIC after setup. If anyone else is coming across this, this link here helped to get my MIC setup properly:

    https://snowboy.kitt.ai/docs

    Great module @sean absolutely incredible! Thanks



  • Hello,
    I am trying to run this module but I am having problems.

    Indeed I installed it by following all your previous indications.

    The mirror is launched correctly and I have the beep module start.

    If I call the module with the keyword, it triggers. I ask my question and I only have a hatched voice in response.
    I did not have any problems of this type with open-jarvis which is also based on snowboy.
    I of course neutralize open jarvis to avoid conflicts on the sound card.

    I think I missed a step on the setup.

    The config.stt.auth.json file is placed in the resources folder or in the MMM-Assistant folder?

    When I go on the google developer console, I see requests for the google assistant API but no requests for Google Cloud Speech API.

    I add my boot log:

    pi@raspberrypi:~/MagicMirror $ npm start dev
    
    > magicmirror@2.2.1 start /home/pi/MagicMirror
    > sh run-start.sh "dev"
    
    Starting MagicMirror: v2.2.1
    Loading config ...
    Loading module helpers ...
    No helper found for module: alert.
    Initializing new module helper ...
    Module helper loaded: updatenotification
    No helper found for module: calendar_monthly.
    Initializing new module helper ...
    Module helper loaded: calendar
    Initializing new module helper ...
    Module helper loaded: MMM-MyCommute
    Initializing new module helper ...
    Module helper loaded: MMM-Ratp
    Initializing new module helper ...
    Module helper loaded: MMM-SoccerLiveScore
    Initializing new module helper ...
    Module helper loaded: MMM-soccer
    No helper found for module: MMM-Globe.
    Initializing new module helper ...
    Module helper loaded: MMM-Remote-Control
    No helper found for module: clock.
    Initializing new module helper ...
    Module helper loaded: mmm-suncalc
    Initializing new module helper ...
    Module helper loaded: MMM-WunderGround
    Initializing new module helper ...
    Module helper loaded: MMM-NOAA
    No helper found for module: mmm-wu-moonphase.
    Initializing new module helper ...
    Module helper loaded: MMM-Assistant
    Initializing new module helper ...
    Module helper loaded: MMM-Tools
    Initializing new module helper ...
    Module helper loaded: newsfeed
    No helper found for module: MMM-Snow.
    All module helpers loaded.
    Starting server on port 8080 ... 
    Server started ...
    Connecting socket for: updatenotification
    Connecting socket for: calendar
    Starting node helper for: calendar
    Connecting socket for: MMM-MyCommute
    ====================== Starting node_helper for module [MMM-MyCommute]
    Connecting socket for: MMM-Ratp
    MMM-Ratp- NodeHelper started
    Connecting socket for: MMM-SoccerLiveScore
    MMM-SoccerLiveScore helper started...
    Connecting socket for: MMM-soccer
    Starting module: MMM-soccer
    Connecting socket for: MMM-Remote-Control
    Starting node helper for: MMM-Remote-Control
    Connecting socket for: mmm-suncalc
    Starting node_helper for mmm-suncalc: 
    Connecting socket for: MMM-WunderGround
    MMM-WunderGround helper started ...
    Connecting socket for: MMM-NOAA
    Starting module: MMM-NOAA
    Connecting socket for: MMM-Assistant
    Connecting socket for: MMM-Tools
    Connecting socket for: newsfeed
    Starting module: newsfeed
    Sockets connected & modules started ...
    Launching application.
    Create new calendar fetcher for url: https://calendar.google.com/calendar/ical/XXX/private-XXX/basic.ics - Interval: 300000
    Get league table for url http://api.football-data.org/v1/competitions/450/leagueTable
    GET_WUNDERGROUND
    [ASSTNT] Snowboy Activated
    Create new news fetcher for url: http://www.leparisien.fr/actualites-a-la-une.rss.xml#xtor=RSS-1481423633 - Interval: 300000
    [ASSTNT] Assistant Activated
    [ASSTNT] GA Transcription:  don't wanna meet you to do now
    [ASSTNT] Snowboy Activated
    
    

    as well as my config file:

    		{
    			module: "MMM-Assistant",
    			position: "top_right",
    			config: {
    				assistant: {
    				auth: {
    				keyFilePath: "secret.json", //When you want to change the location of this file, set this.
    				savedTokensPath: "resources/tokens.js" //When you want to change the location of this file, set this.
    			},
    			audio: {
    			encodingIn: "LINEAR16", //Ignore this. I think you don't need to change this.
    			sampleRateOut: 16000 //Ignore this. I think you don't need to change this.
    			}
    			},
    			snowboy: {
    			models: [
    			{
    			file: "resources/miroir.pmdl",
    			sensitivity: 0.5,
    			hotwords : "MIRROR" //One of models should be "MIRROR"
    			},
    			{
    			file: "resources/Ok Google.pmdl",
    			sensitivity: 0.5,
    			hotwords : "ASSISTANT" //One of models should be "ASSISTANT"
    			}
    			]
    			},
    			record: {
    			threshold: 0, //Ignore this. I think you don't need to change this.
    			verbose:false, //true for checking recording status.
    			recordProgram: "arecord", //You can use "rec", "sox". But I recommend use "arecord".
    			silence: 2.0 //Ignore this. I think you don't need to change this.
    			},
    			stt: {
    			auth: [{
    			projectId: "my-project-1505046981535", //ProjectId from Google Console
    			keyFilename: "config.stt.auth.json"
    			}], //You can use multi accounts for saving money.
    			request: {
    			encoding: "LINEAR16", //Ignore this. I think you don't need to change this.
    			sampleRateHertz: 16000, //Ignore this. I think you don't need to change this.
    			languageCode: "fr-FR" //See https://cloud.google.com/speech/docs/languages
    			},
    			},
    			speak: {
    			useAlert: true, //If you want to show the text of speech, set this true. But It could be ignored by command of modules directly.
    			language: "fr-FR", //If you want to set the default language of speech of command result, set this.
    			},
    			alias: [
    			{
    			"help :command" : ["teach me :command", "what is :command"]
    			}
    			] // You can use aliases for difficult pronunciation or easy using.
    			}
    		},
    

    Hoping you can help me,

    Regards,



  • @sean is it possible you can elaborate on these settings in config? I only want to use Google assistant, so have commented out the “MIRROR” hotword, but sometime the MIC picks up on words that are not like my trained model, and sits on the assistant logo waiting for something, and there’s no way to get out of it without restarting the mirror. ie, these settings in particular:

    sensitivity:

            {
              file: "resources/google.pmdl",
              sensitivity: 0.7,
              hotwords : "ASSISTANT" //One of models should be "ASSISTANT"
            }
    

    silence and verbose:

        record: {
          threshold: 0, //Ignore this. I think you don't need to change this.
          verbose:false, //true for checking recording status.
          recordProgram: 'arecord', //You can use 'rec', 'sox'. But I recommend use 'arecord'.
          silence: 2.0 //Ignore this. I think you don't need to change this.
        },
    

    Thanks again!



  • @shep99 said in Assistant Error:

    Just wanted to repost here, @sean thanks and got it going. This is an INCREDIBLE module and thank you. My problem was with my MIC after setup. If anyone else is coming across this, this link here helped to get my MIC setup properly:

    https://snowboy.kitt.ai/docs

    Great module @sean absolutely incredible! Thanks

    Hello,

    I still have problems to use despite several unsuccessful attempts.

    Could you detail the installation procedure you used?

    Thank you in advance,