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 9.0k 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.
    • A Offline
      Anhalter42 @rudibarani
      last edited by

      @rudibarani disabled does this, doesn’t it?

      disabled 	Set disabled to true to skip creating the module. This field is optional.
      
      rudibaraniR 1 Reply Last reply Reply Quote 1
      • 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
                          • michael5rM Offline
                            michael5r Module Developer @Guest
                            last edited by

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

                            @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"]
                              }
                            })
                            

                            Lovely :thumbs_up_light_skin_tone:

                            1 Reply Last reply Reply Quote 0
                            • J Offline
                              jg3 @strawberry 3.141
                              last edited by

                              This post is deleted!
                              1 Reply Last reply Reply Quote 0

                              Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                              Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                              With your input, this post could be even better 💗

                              Register Login
                              • 1 / 1
                              • 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