My first module

  • Hi guys,

    I like to write my first modul. Its a fun modul and didn’t have a reason for anyone. I like to learn to write a module. So I can leaerning a lot I think.

    I have create a folder in modules. Called Sounds I have put it into the config file andy the Mirror stats correctly Juhuuuu! 🙂 First step reached. 😃 But now the Problem… Th module didn’t work. For a first test the only think the modul should do is react on a Message which is send by the Voicecontrolmodul by @alexyak. I have creste for this test a new Hotword calles test. I copy the pmdl file and paste the rigt things into my config file. So far, so good. I think the Problem was the Sounds.js file in my own modul folder Sounds. OHH, before I forget. The skript is only a shell script and worked fine too. I habe write chmod +x to create a runable file.

    Here the code, maybe someone can look a this and whre my misstake is 🙂

    /* global Module */

    /* Magic Mirror


    notificationReceived: function(notification, payload, sender) {
        if (notification === "test"){ 
            exec("sudo /home/pi/MagicMirror/modules/Sounds/")
    // Override dom generator.
    getDom: function() {
    	var wrapper = document.createElement("div");
    	wrapper.innerHTML = this.config.text;
    	return wrapper;


    greets gismo

  • @gismo2006 you’re missing a { and , (instead of semicolon)

    notificationReceived: function(notification, payload, sender) {
        if (notification === "test"){ 
            exec("sudo /home/pi/MagicMirror/modules/Sounds/");

  • @strawberry-3-141 Thank you for your help. but it didn’t change anything. The problem is the same. Everythink started fine but they didn’t play the

  • @gismo2006 try to debug where you’re module is getting stuck like this

    notificationReceived: function(notification, payload, sender) {
        if (notification === "test"){
  "test notification received"); 
            exec("sudo /home/pi/MagicMirror/modules/Sounds/");

    if you don’t see this message in the dev console you propably misconfigured your voice command

  • Ok I will do what you say.

    Ok I have done

    I have found the Problem. the dev consoles says

    Sounds.js:15 Uncaught ReferenceError: exec is not defined.

    Can i delete the word exec? But I think I have to use it to run the script, right?

    greets gismo

  • @gismo2006 yeah you have to create a node_helper to run the script and send a socketnotification t the node_helper and there you can run the script

  • Ok, Thank you for your help. I will try myself to go this next step…

  • Thank you I have looked in the notification Node_helper.js code which was posted in the Voicecontrol post from @tyho. And it works now fine. Now I can learning something new. To grow up my modul and finding a really reason for my module 😃

    But I like to say Thank you. You helped me a lot. 🙂

    greets gismo

  • @gismo2006 no worries, if you come up with more questions don’t hesitate to ask