Read the statement by Michael Teeuw here.
MMM-Clap
-
@Sean
npm start > magicmirror@2.8.0 start /home/pi/MagicMirror > sh run-start.sh Starting MagicMirror: v2.8.0 Loading config ... Loading module helpers ... Initializing new module helper ... Module helper loaded: MMM-Clap Initializing new module helper ... Module helper loaded: MMM-WatchDog Initializing new module helper ... Module helper loaded: MMM-Remote-Control Initializing new module helper ... Module helper loaded: MMM-RTSPStream No helper found for module: alert. Initializing new module helper ... Module helper loaded: updatenotification Initializing new module helper ... Module helper loaded: newsfeed Initializing new module helper ... Module helper loaded: MMM-AssistantMk2 No helper found for module: clock. Initializing new module helper ... Module helper loaded: MMM-Spotify Initializing new module helper ... Module helper loaded: MMM-DarkSkyForecast Initializing new module helper ... Module helper loaded: MMM-PushBulletNotifications Initializing new module helper ... Module helper loaded: MMM-Hotword All module helpers loaded. Starting server on port 8080 ... You're using a full whitelist configuration to allow for all IPs Server started ... Connecting socket for: MMM-Clap Connecting socket for: MMM-WatchDog Starting module helper: MMM-WatchDog Connecting socket for: MMM-Remote-Control Starting node helper for: MMM-Remote-Control Connecting socket for: MMM-RTSPStream PM2: Stopping all OMXPlayer Streams... Connecting socket for: updatenotification Connecting socket for: newsfeed Starting module: newsfeed Connecting socket for: MMM-AssistantMk2 Connecting socket for: MMM-Spotify [SPOTIFY_AUTH] Token is fresh. Connecting socket for: MMM-DarkSkyForecast ====================== Starting node_helper for module [MMM-DarkSkyForecast] Connecting socket for: MMM-PushBulletNotifications Connecting socket for: MMM-Hotword [HOTWORD] MMM-Hotword starts Sockets connected & modules started ... Launching application. WatchDog started. Maximum timeout: 10s. Create new news fetcher for url: https://eur.fxexchangerate.com/usd.xml - Interval: 300000 Create new news fetcher for url: https://www.ansa.it/sito/notizie/topnews/topnews_rss.xml - Interval: 300000 Create new news fetcher for url: https://www.ansa.it/sito/notizie/mondo/mondo_rss.xml - Interval: 300000 Create new news fetcher for url: https://feeds.hwupgrade.it/rss_hwup.xml - Interval: 300000 Create new news fetcher for url: http://feeds.feedburner.com/hd-blog?format=xml - Interval: 300000 Create new news fetcher for url: https://www.tomshw.it/feed/ - Interval: 300000 Create new news fetcher for url: https://www.punto-informatico.it/feed/ - Interval: 300000 Create new news fetcher for url: http://www.lecceprima.it/rss/ - Interval: 300000 Create new news fetcher for url: http://www.galatina.it/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 [MMM-PushBulletNotifications][Info] 12:24:12.329 - START received [CLAP] Starts. [AMK2] Temporal storage directory is clearing. [HOTWORD] begins. [HOTWORD] Detector starts listening. [MMM-PushBulletNotifications][Info] 12:24:15.355 - PushBullet connected ^CShutting down server... Stopping module helper: MMM-Clap Stopping module helper: MMM-WatchDog Shutting down MMM-RTSPStream streams that were using vlc Stopping module helper: updatenotification Stopping module helper: newsfeed Stopping module helper: MMM-AssistantMk2 Stopping module helper: MMM-Spotify Stopping module helper: MMM-DarkSkyForecast Stopping module helper: MMM-PushBulletNotifications Stopping module helper: MMM-Hotword [HOTWORD] Final Result: { detected: false } [HOTWORD] begins. [HOTWORD] Detector starts listening.
-
@Cr4z33
You are using MMM-Clap & MMM-Hotword at a same time. Have you 2 mics?
Or you should control taking & releasing the mic between modules. I don’t recommend. -
@Sean I’ve got one USB mic.
Sorry I am not sure you gave me the solution. :smiling_face_with_open_mouth_cold_sweat:
Say again? -
@Cr4z33
MMM-Clap and MMM-Hotword will compete each other to take one mic. I think you’d better to use just one module. At least one module at a time. You can make juggling withCLAP_RESUME
,CLAP_PAUSE
,HOTWORD_RESUME
,HOTWORD_PAUSE
to confirm only one module uses a mic at a time. But too complex. not recommended. -
@Sean
The scenario is:
Step 1: Clap action
Step 2: Clap sound detected, MMM Clap send output notification to MMM Page Selector while Mic still not released yet
Step 3: MMM Page Selector receive input notification then change page
Step 4: MMM Page Selector sends output notification CLAP_PAUSE to MMM Page Selector to release the MIC and waitting for next clap sound -
@smarthome said in MMM-Clap:
Step 1: Clap action
Step 2: Clap sound detected, MMM Clap send output notification to MMM Page Selector while Mic still not released yet
Step 3: MMM Page Selector receive input notification then change page
Step 4: MMM Page Selector sends output notification CLAP_PAUSE to MMM Page Selector to release the MIC and waitting for next clap soundIn this real usage, You don’t need to release mic at all. MMM-Page-Selector doesn’t use any mic. So why do you need to release mic for changing pages? Mic Releasing is needed only when your other module wants to use the same Mic (like MMM-AssistantMk2). Unless you set
restart:false
, MMM-Clap will be restarted automatically after detection regardless other module’s job.And If you REALLY want to have a feature - sending some specific notification from specific module -, request module creator to do so. But with this case, I don’t think it needs.
-
@Sean said in MMM-Clap:
And If you REALLY want to have a feature - sending some specific notification from specific module -,
Fortunately(???) There is already a solution about this;
As far as I knowMMM-Page-Selector
could emitPAGE_CHANGED
notification.
All you need is to translate that notification to what you need. AndMMM-NotificationTrigger
module could do that job. -
@Sean said in MMM-Clap:
@Cr4z33
MMM-Clap and MMM-Hotword will compete each other to take one mic. I think you’d better to use just one module. At least one module at a time. You can make juggling withCLAP_RESUME
,CLAP_PAUSE
,HOTWORD_RESUME
,HOTWORD_PAUSE
to confirm only one module uses a mic at a time. But too complex. not recommended.Oh now I got it.
Thanks however I will then keep using MMM-Hotwords.
Too precious for my voice command needs hehe. 😁
-
@Sean
I’d already, but didn’t work{ module: "MMM-NotificationTrigger", //This module works in Background, so you don't need to describe `position`. config: { useWebhook: false, // If you want to activate webhook as Notification emitter, set true. (eg. IFTTT) triggers:[ // Array of triggers. { trigger: "PAGE_CHANGED", //REQUIRED triggerSenderFilter: (sender) => { //OPTIONAL should return true or false if (sender == "MMM-Page-Selector") { return true } return false }, triggerPayloadFilter: (payload) => { //OPTIONAL should return true or false if (typeof payload.value !== 'undefined' && payload.value > 0) { return true } return false }, fires: [ // Array of fires. You can enable multi-firing with one trigger. { fire:"CLAP_RESUME", //REQUIRED payload: (payload) => { //OPTIONAL. transform received payload to what your target module wants. return payload }, // delay: 1000, //OPTIONAL, if this is set, your outgoing notification will be fired after delay. // exec: "ls -l" //OPTIONAL, if exists, this script will be executed, and the result will be returned with "OUTGOING_NOTIFICATION_RESULT" and payload. Can also be specified as a function which accepts the payload as an argument and returns the command to execute. }, ], }, ] } },
-
@smarthome
Repeating again; Why do you need CLAP_RESUME/CLAP_PAUSE on page changing? Without them the module will work. I’m a little embarrassed to understand why you need it.