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

One-line switch to enable / disable modules


  • Project Sponsor

    Currently, I comment out all modules that I want to keep configured but don’t want to use currently line by line.

    Is there an easier way to enable / disable modules in the config.js file?
    If not, I would suggest a MM2-wide working variable (analog to header) to enable / disable modules, e.g.

    module_active: true / false
    

    What do you think?



  • @rudibarani disabled does this, doesn’t it?

    disabled 	Set disabled to true to skip creating the module. This field is optional.
    

  • Project Sponsor

    @Anhalter42 That’s what I was looking for! Thanks a lot 🙂



  • disabled: “true”, it doesnt work


  • Project Sponsor Module Developer

    @sebi76 booleans do not have quotes. Try without


  • Module Developer

    I’ve done this in my config.js file:

    const DISABLED = {};
    
    if (RPI_DEV) { // I'm setting this value automatically based on the system
        DISABLED.weather = false;
        DISABLED.clock = false;
        DISABLED.calendar = false;
        DISABLED.tools = false;
        DISABLED.hue = true;
        DISABLED.newsfeed = true;
        DISABLED.nest_cameras = true;
        DISABLED.nest_status = true;
        DISABLED.telegram = true;
        DISABLED.hotword = true;
    } else {
        DISABLED.weather = false;
        DISABLED.clock = false;
        DISABLED.calendar = false;
        DISABLED.tools = false;
        DISABLED.hue = false;
        DISABLED.newsfeed = false;
        DISABLED.nest_cameras = false;
        DISABLED.nest_status = false;
        DISABLED.telegram = false;
        DISABLED.hotword = false;
    }
    

    And then for each module you can do something like this:

    {
        module: 'clock',
        position: 'top_left',
        config: {
            displaySeconds: false,
            displayType: 'digital',
            dateFormat: 'dddd, MMM D, YYYY'
        },
        disabled: DISABLED.clock
    },
    


  • @michael5r said in One-line switch to enable / disable modules:

    I’ve done this in my config.js file:

    Where do you placesd this in you config. Like this?

    
    	modules: [
    			
    const DISABLED = {};
       
        DISABLED.clock = false;
    
    }
      
    		{
    			module: "alert",
    			classes:  'default everyone',
    			},
    		{
    			module: "updatenotification",
    			position: "top_bar",
    			classes:  'default everyone', 
    			},
    		{
    			module: "clock",
    			position: "top_left",
    			classes:  'default everyone',
    			disabled: DISABLED.clock			
    		},
    		
    	    ]
    
    };
    

  • Module Developer

    @sebi76 No, it needs to be before that.

    Place it at the top of the file, before this line:

    var config = {
    


  • It’s works not 😬

    /* 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
     *
     */
    
    const DISABLED = {};
       
        DISABLED.clock = false;
    
    },
    
    
    var config = {
    	address: "0.0.0.0", // 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: [], // 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: "de",
    	timeFormat: 24,
    	units: "metric",
    
    
    
    	modules: [
    			
      
    		{
    			module: "alert",
    			classes:  'default everyone',
    			},
    		{
    			module: "updatenotification",
    			position: "top_bar",
    			classes:  'default everyone', 
    			},
    		{
    			module: "clock",
    			position: "top_left",
    			classes:  'default everyone',
    			//disabled: DISABLED.clock			
    		},
    		
    	    ]
    
    };
    
    /*************** DO NOT EDIT THE LINE BELOW ***************/
    if (typeof module !== "undefined") {module.exports = config;}
    
    

  • Module Developer

    @sebi76 Your syntax is wrong - you have this:

    const DISABLED = {};
       
        DISABLED.clock = false;
    
    },
    

    It should just be this:

    const DISABLED = {};
    DISABLED.clock = false;
    

    It’s that last }, that’s breaking your code.