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

MMM-Hotword does not trigger MMM-AssistantMk2?



  • Hi all,

    I’ve been trying to set up MMM-Hotword and MMM-AssistantMk2 to my MagicMirror. I am successfully able to display the MMM-AssistantMk2 and MMM-Hotword icons on my mirror. It also registers the hotword (“Computer”) and then the microphone turns off and that’s it. That’s almost as far as I’ve gotten.
    After reading a few things, I also reinstalled both the Assistant & Hotword modules completely and then also added MMM-NotificationTrigger.

    I am able to get Hotword to pick up the microphone I am using with no problem, however as soon as I say my hot word “computer”, the microphone turns off, Hotword stops listening and Assistant does absolutely nothing.

    There must be something I’m missing because it seems to me that Hotword is either not being directed to Assistant or there are just some code errors involved.

    At one point I had hotword registering “computer”, then play a ding sound, then wrap back to monitoring for the hotword again.

    I have attached three files, my current MagicMirror config.js file, the command prompt output for the “npm start dev” and the console output in the dev start, which includes all errors including errors after I say my “computer” hot word where it stops listening directly after.

    Hardware and Software being used

    MagicMirror V2.7.1
    Raspbian Stretch V9.9
    Logitech Webcam C170
    MMM-Hotword V2.0.1
    MMM-AssistantMk2 V2.1.4
    MMM-NotificationTrigger, Last updated: 2018-10-02

    I have also attached the output of aplay and arecord -l:

    0_1560591808905_aplay -l, arecord -l.png

    Any help would be appreciated

    Thanks

    MagicMirror config.js file

    /* 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: "Aussie Holidays",
    			position: "top_left",
    			config: {
    				calendars: [
    					{
    						symbol: "calendar ",
    						url: "https://www.calendarlabs.com/ical-calendar/ics/35/Australia_Holidays.ics"
    					},
    				],
    			},
    		},
    //		{
    //			module: "compliments",
    //			position: "lower_third"
    //		},
    		{
    			module: "currentweather",
    			position: "top_right",
    			config: {
    				location: "Perth",
    				locationID: "1234567",  //ID from http://bulk.openweathermap.org/sample/; unzip the gz file and find your city
    				appid: "1234567890abcdefghijlmnopqrstuvw"
    			},
    		},
    		{
    			module: "weatherforecast",
    			position: "top_right",
    			header: "Weather Forecast",
    			config: {
                                    location: "Perth, AU",
    				locationID: "1234567",  //ID from https://openweathermap.org/city
    				appid: "1234567890abcdefghijlmnopqrstuvw"
    			},
    		},
    		{
    			module: "newsfeed",
    			position: "bottom_bar",
    			config: {
    				feeds: [
    					{
    						title: "ABC News",
    						url: "http://www.abc.net.au/news/feed/45910/rss.xml"
    					}
    				],
    				showSourceTitle: true,
    				showPublishDate: true,
    			},
    		},
    		{
          				module: "MMM-NotificationTrigger",
          				config: {
            				triggers:[
              						{
                							trigger:"HOTWORD_DETECTED",
                							fires: [
                  									{
                    									fire:"HOTWORD_PAUSE",
                  									},
                  									{
                    									fire:"ASSISTANT_ACTIVATE",
    											//delay: 200,
                    									payload: function(payload) {
                      										return {
                        											"profile":payload.hotword
                      											};
                    										}
                  									},
                								]
              						},
              						{
                							trigger:"ASSISTANT_DEACTIVATED",
                							fires: [
                  									{
                    									fire:"HOTWORD_RESUME"
                  									}
                								]
              						},
            					]
          					}
    			},
    			{
      				module: 'MMM-Hotword',
      				config: {
        					models: [
    							{
    								hotwords: "computer",
    								file: "/home/pi/MagicMirror/modules/MMM-Hotword/models/computer.umdl",
    								sensitivity: '0.5',
    							},
        						],
    					mic: {
            					recordProgram : "arecord",
            					device        : "plughw:1,0",
    						sampleRate    : 16000,
    						channels      : 1,
    						threshold     : 0.5,
      						thresholdStart: null,
      						thresholdEnd  : null,
      						silence       : 1.0,
    						verbose       : false,
    						},
        					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.
      					}
    			},
    			{
          				module: "MMM-AssistantMk2",
          				position: "top_center",
          				config: {
    						record: {
                                    recordProgram : "arecord",
                                    device        : "plughw:1,0",
                                    sampleRate    : 16000,
                                    channels      : 1,
                                    threshold     : 0.5,
                                    thresholdStart: null,
                                    thresholdEnd  : null,
                                    silence       : 1.0,
                                    verbose       : false,
                                    },
    					deviceLocation: { // (OPTIONAL)
    						coordinates: { // set the latitude and longitude of the device (rf. mygeoposition.com)
    								latitude: -31.48,
    								longitude: 115.88,
    								},
    							},
    					defaultProfile: "default", // This default profile should be in `profiles` field.
    					profiles: 	{
    								"default" : 	{
    									profileFile: "/home/pi/MagicMirror/modules/MMM-AssistantMk2/profiles/default.json", //this path will be `~/MagicMirror/modules/MMM-AssistantMk2/profiles/default.json"
    									lang: "en-US",
    									},
    								},
    							},
    			},
    	],
    };
    /*************** DO NOT EDIT THE LINE BELOW ***************/
    if (typeof module !== "undefined") {module.exports = config;}
    
    

    Dev Console Output

    main.js:454 Initializing MagicMirror.
    translator.js:201 Loading core translation file: translations/en.json
    translator.js:224 Loading core translation fallback file: translations/en.json
    loader.js:182 Load script: modules/default/alert//alert.js
    module.js:477 Module registered: alert
    loader.js:152 Bootstrapping module: alert
    loader.js:182 Load script: modules/default/alert/classie.js
    loader.js:182 Load script: modules/default/alert/modernizr.custom.js
    loader.js:182 Load script: modules/default/alert/notificationFx.js
    loader.js:157 Scripts loaded for: alert
    loader.js:197 Load stylesheet: modules/default/alert/ns-default.css
    loader.js:197 Load stylesheet: vendor/css/font-awesome.css
    loader.js:159 Styles loaded for: alert
    translator.js:174 alert - Load translation fallback: translations/en.json
    /home/pi/MagicMirror/node_modules/electron/dist/resources/electron.asar/renderer/security-warnings.js:127 Electron Security Warning (Insecure Resources) This renderer process loads resources using insecure
        protocols.This exposes users of this app to unnecessary security risks.
        Consider loading the following resources over HTTPS or FTPS. 
     - http://localhost:8080/css/main.css
    - http://localhost:8080/fonts/roboto.css
    - http://localhost:8080/socket.io/socket.io.js
    - http://localhost:8080/vendor/node_modules/nunjucks/browser/nunjucks.min.js
    - http://localhost:8080/js/defaults.js
    - http://localhost:8080/config/config.js
    - http://localhost:8080/vendor/vendor.js
    - http://localhost:8080/modules/default/defaultmodules.js
    - http://localhost:8080/js/logger.js
    - http://localhost:8080/translations/translations.js
    - http://localhost:8080/js/translator.js
    - http://localhost:8080/js/class.js
    - http://localhost:8080/js/module.js
    - http://localhost:8080/js/loader.js
    - http://localhost:8080/js/socketclient.js
    - http://localhost:8080/js/main.js
    - http://localhost:8080/fonts/node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Regular.woff2
    - http://localhost:8080/translations/en.json
    - http://localhost:8080/translations/en.json
    - http://localhost:8080/modules/default/alert//alert.js
    - http://localhost:8080/modules/default/alert/classie.js
    - http://localhost:8080/modules/default/alert/modernizr.custom.js
    - http://localhost:8080/modules/default/alert/notificationFx.js
    - http://localhost:8080/modules/default/alert/ns-default.css
    - http://localhost:8080/vendor/css/font-awesome.css
    - http://localhost:8080/vendor/node_modules/@fortawesome/fontawesome-free/css/all.min.css
    - http://localhost:8080/vendor/node_modules/@fortawesome/fontawesome-free/css/v4-shims.min.css
        
     
    For more information and help, consult
    https://electronjs.org/docs/tutorial/security.
     This warning will not show up
    once the app is packaged.
    warnAboutInsecureResources @ /home/pi/MagicMirror/node_modules/electron/dist/resources/electron.asar/renderer/security-warnings.js:127
    /home/pi/MagicMirror/node_modules/electron/dist/resources/electron.asar/renderer/security-warnings.js:184 Electron Security Warning (Insecure Content-Security-Policy) This renderer process has either no Content Security
          Policy set or a policy with "unsafe-eval" enabled. This exposes users of
          this app to unnecessary security risks.
     
    For more information and help, consult
    https://electronjs.org/docs/tutorial/security.
     This warning will not show up
    once the app is packaged.
    warnAboutInsecureCSP @ /home/pi/MagicMirror/node_modules/electron/dist/resources/electron.asar/renderer/security-warnings.js:184
    loader.js:161 Translations loaded for: alert
    loader.js:182 Load script: modules/default/updatenotification//updatenotification.js
    module.js:477 Module registered: updatenotification
    loader.js:152 Bootstrapping module: updatenotification
    loader.js:157 Scripts loaded for: updatenotification
    loader.js:159 Styles loaded for: updatenotification
    loader.js:161 Translations loaded for: updatenotification
    loader.js:182 Load script: modules/default/clock//clock.js
    module.js:477 Module registered: clock
    loader.js:152 Bootstrapping module: clock
    loader.js:182 Load script: vendor/node_modules/moment/min/moment-with-locales.js
    loader.js:182 Load script: vendor/node_modules/moment-timezone/builds/moment-timezone-with-data.js
    loader.js:157 Scripts loaded for: clock
    loader.js:197 Load stylesheet: modules/default/clock/clock_styles.css
    loader.js:159 Styles loaded for: clock
    loader.js:161 Translations loaded for: clock
    loader.js:182 Load script: modules/default/calendar//calendar.js
    module.js:477 Module registered: calendar
    loader.js:152 Bootstrapping module: calendar
    loader.js:237 File already loaded: moment.js
    loader.js:157 Scripts loaded for: calendar
    loader.js:197 Load stylesheet: modules/default/calendar/calendar.css
    loader.js:237 File already loaded: font-awesome.css
    loader.js:159 Styles loaded for: calendar
    loader.js:161 Translations loaded for: calendar
    loader.js:182 Load script: modules/default/currentweather//currentweather.js
    module.js:477 Module registered: currentweather
    loader.js:152 Bootstrapping module: currentweather
    loader.js:237 File already loaded: moment.js
    loader.js:157 Scripts loaded for: currentweather
    loader.js:197 Load stylesheet: vendor/node_modules/weathericons/css/weather-icons.css
    loader.js:197 Load stylesheet: modules/default/currentweather/currentweather.css
    loader.js:159 Styles loaded for: currentweather
    loader.js:161 Translations loaded for: currentweather
    loader.js:182 Load script: modules/default/weatherforecast//weatherforecast.js
    module.js:477 Module registered: weatherforecast
    loader.js:152 Bootstrapping module: weatherforecast
    loader.js:237 File already loaded: moment.js
    loader.js:157 Scripts loaded for: weatherforecast
    loader.js:237 File already loaded: weather-icons.css
    loader.js:197 Load stylesheet: modules/default/weatherforecast/weatherforecast.css
    loader.js:159 Styles loaded for: weatherforecast
    loader.js:161 Translations loaded for: weatherforecast
    loader.js:182 Load script: modules/default/newsfeed//newsfeed.js
    module.js:477 Module registered: newsfeed
    loader.js:152 Bootstrapping module: newsfeed
    loader.js:237 File already loaded: moment.js
    loader.js:157 Scripts loaded for: newsfeed
    loader.js:159 Styles loaded for: newsfeed
    loader.js:161 Translations loaded for: newsfeed
    loader.js:182 Load script: modules/MMM-NotificationTrigger//MMM-NotificationTrigger.js
    module.js:477 Module registered: MMM-NotificationTrigger
    loader.js:152 Bootstrapping module: MMM-NotificationTrigger
    loader.js:157 Scripts loaded for: MMM-NotificationTrigger
    loader.js:159 Styles loaded for: MMM-NotificationTrigger
    loader.js:161 Translations loaded for: MMM-NotificationTrigger
    loader.js:182 Load script: modules/MMM-Hotword//MMM-Hotword.js
    module.js:477 Module registered: MMM-Hotword
    loader.js:152 Bootstrapping module: MMM-Hotword
    loader.js:182 Load script: https://code.iconify.design/1/1.0.2/iconify.min.js
    loader.js:157 Scripts loaded for: MMM-Hotword
    loader.js:197 Load stylesheet: modules/MMM-Hotword/MMM-Hotword.css
    loader.js:159 Styles loaded for: MMM-Hotword
    loader.js:161 Translations loaded for: MMM-Hotword
    loader.js:182 Load script: modules/MMM-AssistantMk2//MMM-AssistantMk2.js
    module.js:477 Module registered: MMM-AssistantMk2
    loader.js:152 Bootstrapping module: MMM-AssistantMk2
    loader.js:182 Load script: modules/MMM-AssistantMk2/vendor/serialize.js
    loader.js:157 Scripts loaded for: MMM-AssistantMk2
    loader.js:197 Load stylesheet: modules/MMM-AssistantMk2/MMM-AssistantMk2.css
    loader.js:159 Styles loaded for: MMM-AssistantMk2
    loader.js:161 Translations loaded for: MMM-AssistantMk2
    loader.js:197 Load stylesheet: css/custom.css
    :8080/modules/default/alert//alert.js:153 Starting module: alert
    :8080/modules/default/updatenotification//updatenotification.js:10 Start updatenotification
    :8080/modules/default/clock//clock.js:40 Starting module: clock
    calendar.js:74 Starting module: calendar
    currentweather.js:96 Starting module: currentweather
    weatherforecast.js:91 Starting module: weatherforecast
    newsfeed.js:59 Starting module: newsfeed
    main.js:472 All modules started!
    module.js:156 clock received a system notification: ALL_MODULES_STARTED
    module.js:156 calendar received a system notification: ALL_MODULES_STARTED
    newsfeed.js:344 newsfeed - received notification: ALL_MODULES_STARTED
    newsfeed.js:403 newsfeed - unknown notification, ignoring: ALL_MODULES_STARTED
    module.js:156 clock received a system notification: MODULE_DOM_CREATED
    module.js:156 calendar received a system notification: MODULE_DOM_CREATED
    newsfeed.js:344 newsfeed - received notification: MODULE_DOM_CREATED
    newsfeed.js:403 newsfeed - unknown notification, ignoring: MODULE_DOM_CREATED
    module.js:156 clock received a system notification: DOM_OBJECTS_CREATED
    module.js:156 calendar received a system notification: DOM_OBJECTS_CREATED
    newsfeed.js:344 newsfeed - received notification: DOM_OBJECTS_CREATED
    newsfeed.js:403 newsfeed - unknown notification, ignoring: DOM_OBJECTS_CREATED
    module.js:198 updatenotification is suspended.
    module.js:198 currentweather is suspended.
    module.js:198 weatherforecast is suspended.
    MMM-AssistantMk2.js:333 [AMK2]  YouTube iframe API is ready.
    module.js:205 currentweather is resumed.
    module.js:154 clock received a module notification: CURRENTWEATHER_DATA from sender: currentweather
    module.js:154 calendar received a module notification: CURRENTWEATHER_DATA from sender: currentweather
    newsfeed.js:344 newsfeed - received notification: CURRENTWEATHER_DATA
    newsfeed.js:403 newsfeed - unknown notification, ignoring: CURRENTWEATHER_DATA
    weatherforecast.js:279 GET https://api.openweathermap.org/data/2.5/forecast/daily?id=2171507&units=metric&lang=en&APPID=7335b184ee7fbf412f7aa443e3938fb5 401 (Unauthorized)
    updateWeather @ weatherforecast.js:279
    (anonymous) @ weatherforecast.js:400
    weatherforecast.js:266 weatherforecast: Your AppID does not support long term forecasts. Switching to fallback endpoint.
    weatherRequest.onreadystatechange @ weatherforecast.js:266
    XMLHttpRequest.send (async)
    updateWeather @ weatherforecast.js:279
    (anonymous) @ weatherforecast.js:400
    MMM-Hotword.js:249 Uncaught TypeError: Cannot set property 'innerHTML' of null
        at Class.status (MMM-Hotword.js:249)
        at Class.socketNotificationReceived (MMM-Hotword.js:149)
        at module.js:246
        at r. (socketclient.js:25)
        at r.emit (index.js:83)
        at r.onevent (index.js:83)
        at r.MMSocket.self.socket.onevent (socketclient.js:19)
        at r.onpacket (index.js:83)
        at r. (index.js:83)
        at r.emit (index.js:83)
    status @ MMM-Hotword.js:249
    socketNotificationReceived @ MMM-Hotword.js:149
    (anonymous) @ module.js:246
    (anonymous) @ socketclient.js:25
    r.emit @ index.js:83
    r.onevent @ index.js:83
    MMSocket.self.socket.onevent @ socketclient.js:19
    r.onpacket @ index.js:83
    (anonymous) @ index.js:83
    r.emit @ index.js:83
    r.ondecoded @ index.js:83
    (anonymous) @ index.js:83
    r.emit @ index.js:83
    a.add @ index.js:83
    r.ondata @ index.js:83
    (anonymous) @ index.js:83
    r.emit @ index.js:83
    r.onPacket @ index.js:83
    (anonymous) @ index.js:83
    r.emit @ index.js:83
    r.onPacket @ index.js:83
    r.onData @ index.js:83
    ws.onmessage @ index.js:83
    module.js:154 clock received a module notification: HOTWORD_LISTENING from sender: MMM-Hotword
    module.js:154 calendar received a module notification: HOTWORD_LISTENING from sender: MMM-Hotword
    newsfeed.js:344 newsfeed - received notification: HOTWORD_LISTENING
    newsfeed.js:403 newsfeed - unknown notification, ignoring: HOTWORD_LISTENING
    module.js:154 clock received a module notification: CALENDAR_EVENTS from sender: calendar
    newsfeed.js:344 newsfeed - received notification: CALENDAR_EVENTS
    newsfeed.js:403 newsfeed - unknown notification, ignoring: CALENDAR_EVENTS
    module.js:205 weatherforecast is resumed.
    MMM-Hotword.js:254 Uncaught TypeError: Cannot set property 'className' of null
        at Class.status (MMM-Hotword.js:254)
        at Class.socketNotificationReceived (MMM-Hotword.js:149)
        at module.js:246
        at r. (socketclient.js:25)
        at r.emit (index.js:83)
        at r.onevent (index.js:83)
        at r.MMSocket.self.socket.onevent (socketclient.js:19)
        at r.onpacket (index.js:83)
        at r. (index.js:83)
        at r.emit (index.js:83)
    status @ MMM-Hotword.js:254
    socketNotificationReceived @ MMM-Hotword.js:149
    (anonymous) @ module.js:246
    (anonymous) @ socketclient.js:25
    r.emit @ index.js:83
    r.onevent @ index.js:83
    MMSocket.self.socket.onevent @ socketclient.js:19
    r.onpacket @ index.js:83
    (anonymous) @ index.js:83
    r.emit @ index.js:83
    r.ondecoded @ index.js:83
    (anonymous) @ index.js:83
    r.emit @ index.js:83
    a.add @ index.js:83
    r.ondata @ index.js:83
    (anonymous) @ index.js:83
    r.emit @ index.js:83
    r.onPacket @ index.js:83
    (anonymous) @ index.js:83
    r.emit @ index.js:83
    r.onPacket @ index.js:83
    r.onData @ index.js:83
    ws.onmessage @ index.js:83
    MMM-Hotword.js:199 Uncaught TypeError: Cannot read property 'play' of null
        at Class.playBeep (MMM-Hotword.js:199)
        at Class.socketNotificationReceived (MMM-Hotword.js:156)
        at module.js:246
        at r. (socketclient.js:25)
        at r.emit (index.js:83)
        at r.onevent (index.js:83)
        at r.MMSocket.self.socket.onevent (socketclient.js:19)
        at r.onpacket (index.js:83)
        at r. (index.js:83)
        at r.emit (index.js:83)
    playBeep @ MMM-Hotword.js:199
    socketNotificationReceived @ MMM-Hotword.js:156
    (anonymous) @ module.js:246
    (anonymous) @ socketclient.js:25
    r.emit @ index.js:83
    r.onevent @ index.js:83
    MMSocket.self.socket.onevent @ socketclient.js:19
    r.onpacket @ index.js:83
    (anonymous) @ index.js:83
    r.emit @ index.js:83
    r.ondecoded @ index.js:83
    (anonymous) @ index.js:83
    r.emit @ index.js:83
    a.add @ index.js:83
    r.ondata @ index.js:83
    (anonymous) @ index.js:83
    r.emit @ index.js:83
    r.onPacket @ index.js:83
    (anonymous) @ index.js:83
    r.emit @ index.js:83
    r.onPacket @ index.js:83
    r.onData @ index.js:83
    ws.onmessage @ index.js:83
    module.js:154 clock received a module notification: HOTWORD_SLEEPING from sender: MMM-Hotword
    module.js:154 calendar received a module notification: HOTWORD_SLEEPING from sender: MMM-Hotword
    newsfeed.js:344 newsfeed - received notification: HOTWORD_SLEEPING
    newsfeed.js:403 newsfeed - unknown notification, ignoring: HOTWORD_SLEEPING
    MMM-Hotword.js:261 Uncaught TypeError: Cannot set property 'className' of null
        at Class.status (MMM-Hotword.js:261)
        at Class.socketNotificationReceived (MMM-Hotword.js:170)
        at module.js:246
        at r. (socketclient.js:25)
        at r.emit (index.js:83)
        at r.onevent (index.js:83)
        at r.MMSocket.self.socket.onevent (socketclient.js:19)
        at r.onpacket (index.js:83)
        at r. (index.js:83)
        at r.emit (index.js:83)
    status @ MMM-Hotword.js:261
    socketNotificationReceived @ MMM-Hotword.js:170
    (anonymous) @ module.js:246
    (anonymous) @ socketclient.js:25
    r.emit @ index.js:83
    r.onevent @ index.js:83
    MMSocket.self.socket.onevent @ socketclient.js:19
    r.onpacket @ index.js:83
    (anonymous) @ index.js:83
    r.emit @ index.js:83
    r.ondecoded @ index.js:83
    (anonymous) @ index.js:83
    r.emit @ index.js:83
    a.add @ index.js:83
    r.ondata @ index.js:83
    (anonymous) @ index.js:83
    r.emit @ index.js:83
    r.onPacket @ index.js:83
    (anonymous) @ index.js:83
    r.emit @ index.js:83
    r.onPacket @ index.js:83
    r.onData @ index.js:83
    ws.onmessage @ index.js:83
    
    

    Dev Command Prompt Output

    pi@raspberrypi:~/MagicMirror/config $ npm start dev
    
    > magicmirror@2.7.1 start /home/pi/MagicMirror
    > sh run-start.sh "dev"
    
    Starting MagicMirror: v2.7.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: clock.
    Initializing new module helper ...
    Module helper loaded: calendar
    No helper found for module: currentweather.
    No helper found for module: weatherforecast.
    Initializing new module helper ...
    Module helper loaded: newsfeed
    Initializing new module helper ...
    Module helper loaded: MMM-NotificationTrigger
    Initializing new module helper ...
    Module helper loaded: MMM-Hotword
    Initializing new module helper ...
    Module helper loaded: MMM-AssistantMk2
    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: newsfeed
    Starting module: newsfeed
    Connecting socket for: MMM-NotificationTrigger
    Connecting socket for: MMM-Hotword
    [HOTWORD] MMM-Hotword starts
    Connecting socket for: MMM-AssistantMk2
    Sockets connected & modules started ...
    Launching application.
    Create new calendar fetcher for url: https://www.calendarlabs.com/ical-calendar/ics/35/Australia_Holidays.ics - Interval: 300000
    Create new news fetcher for url: http://www.abc.net.au/news/feed/45910/rss.xml - Interval: 300000
    [AMK2] Recipe is loaded: hide_and_show_all_modules.js
    [AMK2] Recipe is loaded: reboot.js
    [AMK2] Recipe is loaded: screen_onoff.js
    [AMK2] Recipe is loaded: shutdown.js
    [AMK2] Temporal storage directory is clearing.
    [HOTWORD] begins.
    [HOTWORD] Detector starts listening.
    [HOTWORD] Detected: computer
    [HOTWORD] stops.
    [HOTWORD] Final Result: { detected: true, hotword: 'computer', file: null }
    Use existing news fetcher for url: http://www.abc.net.au/news/feed/45910/rss.xml
    [AMK2] Recipe is loaded: hide_and_show_all_modules.js
    [AMK2] Recipe is loaded: reboot.js
    [AMK2] Recipe is loaded: screen_onoff.js
    [AMK2] Recipe is loaded: shutdown.js
    [AMK2] Temporal storage directory is clearing.
    [HOTWORD] begins.
    [HOTWORD] Detector starts listening.
    [HOTWORD] Detected: computer
    [HOTWORD] stops.
    [HOTWORD] Final Result: { detected: true, hotword: 'computer', file: null }
    Use existing news fetcher for url: http://www.abc.net.au/news/feed/45910/rss.xml
    [AMK2] Recipe is loaded: hide_and_show_all_modules.js
    [AMK2] Recipe is loaded: reboot.js
    [AMK2] Recipe is loaded: screen_onoff.js
    [AMK2] Recipe is loaded: shutdown.js
    [AMK2] Temporal storage directory is clearing.
    [HOTWORD] begins.
    [HOTWORD] Detector starts listening.
    [HOTWORD] Detected: computer
    [HOTWORD] stops.
    [HOTWORD] Final Result: { detected: true, hotword: 'computer', file: null }
    
    

  • Module Developer

    @ACRONN
    your hotword configuration is not matched to current version. and you dont need notificationtrigger for basic usage.



  • @ACRONN said in MMM-Hotword does not trigger MMM-AssistantMk2?:

    MMM-Hotword.js:249 Uncaught TypeError: Cannot set property ‘innerHTML’ of null
    at Class.status (MMM-Hotword.js:249)
    at Class.socketNotificationReceived (MMM-Hotword.js:149)

    hotword had an error. and so will not be working.



  • @Sean

    Thank you

    Could you point me to a sample configuration that will work with Hotword and Assistant Mk2? I will also remove Notification Trigger.


  • Module Developer



  • I initially tried that but I will try it again as per your advice



  • @Sean

    Hi Sean

    Post a rebuild and using the original config.js it now works ie hotword now correctly calls assistant. The only issue left is when google presents me with options it doesn’t then listen for a follow up selection and throws back to hotword again. Is there a setting to enable assistant to follow up and finish the assistant sequence? Thx


Log in to reply