MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    One-line switch to enable / disable modules

    Scheduled Pinned Locked Moved Feature Requests
    14 Posts 7 Posters 8.2k Views 6 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • rudibaraniR Offline
      rudibarani Project Sponsor @Anhalter42
      last edited by

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

      1 Reply Last reply Reply Quote 0
      • S Offline
        Sebi76
        last edited by

        disabled: “true”, it doesnt work

        strawberry 3.141S 1 Reply Last reply Reply Quote 0
        • strawberry 3.141S Offline
          strawberry 3.141 Project Sponsor Module Developer @Sebi76
          last edited by

          @sebi76 booleans do not have quotes. Try without

          Please create a github issue if you need help, so I can keep track

          J 1 Reply Last reply Reply Quote 1
          • michael5rM Offline
            michael5r Module Developer
            last edited by

            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
            },
            
            1 Reply Last reply Reply Quote 2
            • S Offline
              Sebi76
              last edited by

              @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			
              		},
              		
              	    ]
              
              };
              
              michael5rM 1 Reply Last reply Reply Quote 0
              • michael5rM Offline
                michael5r Module Developer @Sebi76
                last edited by

                @sebi76 No, it needs to be before that.

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

                var config = {
                
                1 Reply Last reply Reply Quote 1
                • S Offline
                  Sebi76
                  last edited by

                  It’s works not :grimacing_face:

                  /* 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;}
                  
                  
                  michael5rM 1 Reply Last reply Reply Quote 0
                  • michael5rM Offline
                    michael5r Module Developer @Sebi76
                    last edited by michael5r

                    @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.

                    1 Reply Last reply Reply Quote 1
                    • S Offline
                      Sebi76
                      last edited by Sebi76

                      This post is deleted!
                      1 Reply Last reply Reply Quote 0
                      • ? Offline
                        A Former User
                        last edited by A Former User

                        @rudibarani @michael5r

                        Here is my version. No need to list all modules.

                        const pre_disabled = {
                          "UNLISTED": true, // default value for unlisted other modules.
                          "alert":false,
                          "clock": false,
                          "MMM-Remote-Control":false,
                         }
                        
                        var DISABLED = new Proxy(pre_disabled, {
                          get (receiver, name) {
                            return name in receiver ? receiver[name] : receiver["UNLISTED"]
                          }
                        })
                        
                        michael5rM 1 Reply Last reply Reply Quote 1
                        • 1
                        • 2
                        • 1 / 2
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy