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:
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.<anonymous> (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.<anonymous> (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.<anonymous> (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.<anonymous> (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.<anonymous> (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.<anonymous> (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.<anonymous> (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.<anonymous> (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 }