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.

    MMM-compliment showing evening compliment anytime

    Scheduled Pinned Locked Moved Solved Troubleshooting
    24 Posts 2 Posters 6.6k Views 2 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.
    • S Offline
      selyjohns
      last edited by

      Hi,

      I’ve a problem with MMM-compliment that showing evening compliment at anytime…

      The config is correct.
      I’ve adding hour configuration to be sure with morningStartTime, morningEndTime, afternoonStartTime and afternoonEndTime but problem persist…my MM say good night on morning…

      The date/time of my rpi3 is correct…any idea ?

      Thank you

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

        @selyjohns did u look at any issues in the module github , issues tab?

        Sam

        How to add modules

        learning how to use browser developers window for css changes

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

          @sdetweil No, nothing…

                          {
                                  module: 'compliments',
                                  position: 'lower_third',
                                  config: {
                                          morningStartTime:3,
                                          morningEndTime:10,
                                          afternoonStartTime:13,
                                          afternoonEndTime:18,
                                          remoteFile: 'compliments.json'
                                          }
                          },
          

          compliments.json is stored in MagicMirror/modules/default/compliments/ :) This part is good.

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

            @selyjohns ok, one thing

            MMM-compliment means some external additional module

            module: ‘compliments’,

            means the one shipped with MagicMirror…

            Sam

            How to add modules

            learning how to use browser developers window for css changes

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

              @sdetweil said in MMM-compliment showing evening compliment anytime:

              @selyjohns ok, one thing
              MMM-compliment means some external additional module
              module: ‘compliments’,
              means the one shipped with MagicMirror…

              Oh OK, not evident.
              I speak about the module ‘compliments’, integrated with MM in default folder :)

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

                @selyjohns well, you have a gap

                                                morningEndTime:10,
                                                afternoonStartTime:13,
                

                can’t have a gap

                else it the same as ANY OTHER time but morning or afternoon…

                so 10:01->>> 12:59 OR 18:01 ->>>> 02:59

                note the defaults are

                		morningStartTime: 3,
                		morningEndTime: 12,
                		afternoonStartTime: 12,
                		afternoonEndTime: 17,
                

                morning 3-12, afternoon 12-17, rest 17-3

                Sam

                How to add modules

                learning how to use browser developers window for css changes

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

                  @sdetweil Ok, but i’ve added this configuration because i had the problem with default configuration.
                  I can delete it. Normally we don’t need this, right ?

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

                    @selyjohns if u don’t need a different time set, then you would use the default…

                    all I was saying is that you have a gap in the time, and the code design demands no gap.

                    the code has
                    morning
                    afternoon
                    everything else

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

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

                      @sdetweil Ok thank you.
                      Trying with no specific configuration -> MM say “goodnight” or “good evening” but it’s only 4 PM
                      Trying with specifig configuration with no gap, same result :(

                                      {
                                              module: 'compliments',
                                              position: 'lower_third',
                                              config: {
                                                      morningStartTime:3,
                                                      morningEndTime:12,
                                                      afternoonStartTime:12,
                                                      afternoonEndTime:18,
                                                      remoteFile: 'compliments.json'
                                                      }
                                      },
                      
                      S 1 Reply Last reply Reply Quote 0
                      • S Offline
                        sdetweil @selyjohns
                        last edited by

                        @selyjohns what does the remotefile look like?

                        I just want the things to the left of :

                        default is this

                        		compliments: {
                        			anytime: ["Hey there sexy!"],
                        			morning: ["Good morning, handsome!", "Enjoy your day!", "How was your sleep?"],
                        			afternoon: ["Hello, beauty!", "You look sexy!", "Looking good today!"],
                        			evening: ["Wow, you look hot!", "You look nice!", "Hi, sexy!"],
                        			"....-01-01": ["Happy new year!"]
                        		},
                        

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

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

                          @sdetweil
                          Here’s :)

                           {
                          	"anytime": [
                          			"Comment ça va ?",
                          			"Bonjour"
                          			   ],
                          	"morning": [
                          			"Un petit café ?",
                          			"Bien dormi ?",
                          			"Bonne journée !"
                          			],
                          	"evening": [
                          			"Bonne soirée !",
                          			"Bonne nuit...",
                          			"Agréable soirée"
                          			],
                          	"day_sunny": [
                          			"Le temps est ensoleillé aujourd'hui !",
                          			"C'est une belle journée"
                          			],
                          	"day_cloudy": [
                          			"C'est nuageux aujourd'hui..."
                          			],
                          	"snow": [
                          			"Bataille de boules de neige !!!"
                          			],
                          	"rain": [
                          			"N'oublie pas ton parapluie...",
                          			"Et si on restait au sec aujourd'hui ?"
                          			]
                          }
                          

                          With " as indicated on the readme when using remote file.
                          But, i had the problem before using remote file, i’ve do this hoping this would resolve the problem, but it’s dont.

                          Is it possible to “remove/reinstall” default module like compliments ?

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

                            @selyjohns said in MMM-compliment showing evening compliment anytime:

                            Is it possible to “remove/reinstall” default module like compliments ?

                            no, but u can get the original code back (which you shouldn’t have changed)

                            do

                            cd ~/MagicMirror
                            

                            check for changed files

                            git status
                            

                            if the compliments module has anything is listed as modified

                            git checkout modules/default/compliments/compliments.js   (or whatever filename 
                            

                            Sam

                            How to add modules

                            learning how to use browser developers window for css changes

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

                              @sdetweil ok, looking at the code again, duh

                              it takes the time period AND the anytime, mashes them together and then randomly picks one of the list

                              so, if u don’t want ‘anytime’ , then remove it… or understand it will happen ‘anytime’

                              Sam

                              How to add modules

                              learning how to use browser developers window for css changes

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

                                @sdetweil Thank you for your time :)
                                The problem doesn’t concern “anytime” values, but “evening”.
                                Anytime is anytime and it’s normal that compliment in this section can be displayed at anytime…:)

                                Compliments define in “evening” are displayed all the day, not only on the evening. This is my problem. The MM showing evening compliment at anytime…

                                With my exemple, the MM display “Bonne soirée” or “Bonne nuit…”, also the morning, or afternon. Like this compliment was positionned in “anytime”

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

                                  @selyjohns I copied your compliments to my config, and do not see that

                                  the code gets the current system time hour (in 24 hour format)

                                  and only uses the evening list if neither morning nor afternoon ranges include the current hour (all OTHER time)

                                  then adds anytime if specified to that list

                                  then adds weather related if specified

                                  then picks one

                                  Sam

                                  How to add modules

                                  learning how to use browser developers window for css changes

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

                                    @sdetweil
                                    Ok, thank you for your test.
                                    So maybe a problem on my system time. However it seem to be correct. Another solution to verify that ? (Other than timedatectl ?)

                                    Is it possible to have verbose log to see the how the module decide to display compliment ?

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

                                      @selyjohns there is no debug on how it decided, but you could walk thru the code.

                                      open the developers window ctrl-shift-i and select the source tab, and navigate the left lane to modules , default, compliments, compliments.js

                                      the code will appear in the right pane

                                      scroll down to

                                      let compliments;
                                      

                                      the next line of code is using the hour
                                      to test if in between morning, then afternoon
                                      the the else for evening of some

                                      click the number in the left column, turns blue

                                      hit F5 to reload the page. will stop there

                                      you can hover the mouse over variables to examine their value

                                      blue arrow upper right to run , or circle be t to step one instruction

                                      Sam

                                      How to add modules

                                      learning how to use browser developers window for css changes

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

                                        @sdetweil Hi,
                                        Ok great.
                                        I be able to see the value of hour variable.
                                        It seem to be correct because it’s 17.

                                        Condition of morning not verified.
                                        Condition of afternoon verified, so the line is executed (because 17 is between 12 and 18)

                                        compliments = this.config.compliments.afternoon.slice(0);

                                        I don’t know why evening compliments are displayed…it’s very strange

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

                                          @selyjohns there are a few more lines of code to step thru…

                                          when it gets to the return compliments u can go er over compliments and then expand the array to see what is in there

                                          Sam

                                          How to add modules

                                          learning how to use browser developers window for css changes

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

                                            @sdetweil Yes ! Problem found…
                                            Step by step, i’ve understand

                                            		if (hour >= this.config.morningStartTime && hour < this.config.morningEndTime && this.config.compliments.hasOwnProperty("morning")) {
                                            			compliments = this.config.compliments.morning.slice(0);
                                            		} else if (hour >= this.config.afternoonStartTime && hour < this.config.afternoonEndTime && this.config.compliments.hasOwnProperty("afternoon")) {
                                            			compliments = this.config.compliments.afternoon.slice(0);
                                            		} else if (this.config.compliments.hasOwnProperty("evening")) {
                                            			compliments = this.config.compliments.evening.slice(0);
                                            		}
                                            

                                            The JS need to have a “morning” and “afternoon” compliments define, else it choosing “evening” by default if define.

                                            My problem was i don’t had afternoon compliment define…but i’ve evening one.

                                            Thank you very much for your time and your time :) It was very helpful.

                                            S 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
                                            • 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