MagicMirror Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • Donate
    • Discord

    SOLVED How can I add more time periods for MMM-compliments?

    Requests
    4
    20
    2717
    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.
    • DæmonEyes
      DæmonEyes last edited by DæmonEyes

      So I know MMM-Compliments has 3 time periods by default (morning, afternoon and evening). I want to know, is it possible to add 1 or 2 more time periods like night and dusk?
      I really enjoy being able to customize the compliments that come up, and would love to have more time slots that I could customize.

      lavolp3 1 Reply Last reply Reply Quote 0
      • lavolp3
        lavolp3 Module Developer @DæmonEyes last edited by lavolp3

        @dæmoneyes That shouldn’t be too difficult.

        	complimentArray: function() {
        		var hour = moment().hour();
        		var compliments  = null;
        
        		if (hour >= 3 && hour < 12) {
        			compliments = this.config.compliments.morning;
        		} else if (hour >= 12 && hour < 17) {
        			compliments = this.config.compliments.afternoon;
        		} else {
        			compliments = this.config.compliments.evening;
        		}
        
                        .....
        	},
        

        Here is the function calling the hour of the day in MMM-Compliments.js.
        You can easily give this a more precise sorting with more cases.
        However, you would need to change the logic to a switch function, because there can only be one “else if” in an “if” statement.

        Fork the module, try it out!

        How to troubleshoot modules
        MMM-soccer v2, MMM-AVStock

        S 1 Reply Last reply Reply Quote 0
        • S
          sdetweil @lavolp3 last edited by

          @lavolp3 said in How can I add more time periods for MMM-compliments?:

          owever, you would need to change the logic to a switch function, because there can only be one “else if” in an “if” statement.

          not true, you can have as many as u want…

          switch sometimes makes things more clear, but not always

          Sam

          Create a working config
          How to add modules

          1 Reply Last reply Reply Quote 0
          • DæmonEyes
            DæmonEyes last edited by DæmonEyes

            This is actually my first time programming ever, so I don’t actually know what are logic or switch functions.

            This is what I attempted, but it didn’t work, and instead the compliments module just didn’t load up when starting MM:

            ![I added two more time period: predawn and night](https://imgur.com/a/JJrJ01w)
            
            ![Updated the time intervals](https://imgur.com/a/lzAO0gJ)
            
            ![And tried modifying the compliments array as well](https://imgur.com/a/ZiNT8u5)
            
            S 1 Reply Last reply Reply Quote 0
            • S
              sdetweil @DæmonEyes last edited by

              @dæmoneyes your changes didn’t show
              use the three back-tics before and after your code
              on keyboard, left of the number 1 key

              Sam

              Create a working config
              How to add modules

              DæmonEyes 1 Reply Last reply Reply Quote 1
              • DæmonEyes
                DæmonEyes @sdetweil last edited by DæmonEyes

                @sdetweil Here are all the changes I tried: https://imgur.com/a/wbYQclq
                alt text

                S 1 Reply Last reply Reply Quote 0
                • S
                  sdetweil @DæmonEyes last edited by

                  @dæmoneyes start the mirror with

                  npm start dev
                  

                  and in the white developers window, select the console tab,
                  scroll up/down to find any errors (red text)…

                  I can’t see all your code, but its probably a missing quote, paren or brace

                  Sam

                  Create a working config
                  How to add modules

                  DæmonEyes 1 Reply Last reply Reply Quote 1
                  • DæmonEyes
                    DæmonEyes @sdetweil last edited by

                    @sdetweil Did that, found some red related to compliments and also to openweather
                    Here is the full console tab: https://imgur.com/a/Lrn8kVH

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      sdetweil @DæmonEyes last edited by

                      @dæmoneyes compliments.js:48 syntax error

                      that means on line 48 of the complements.js file the compiler found an error…

                      Sam

                      Create a working config
                      How to add modules

                      DæmonEyes 1 Reply Last reply Reply Quote 1
                      • DæmonEyes
                        DæmonEyes @sdetweil last edited by DæmonEyes

                        @sdetweil Once again, I owe you my thanks sdetweil! It works now!

                        What should I do about the red related to the openweathermap?

                        S 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 1 / 2
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Paul-Vincent Roll and Rodrigo Ramírez Norambuena.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy