• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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 4.8k 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 @sdetweil
    last edited by Dec 3, 2021, 3:25 PM

    @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 Dec 3, 2021, 3:28 PM Reply Quote 0
    • S Offline
      sdetweil @selyjohns
      last edited by Dec 3, 2021, 3:28 PM

      @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 Dec 3, 2021, 3:32 PM Reply Quote 0
      • S Offline
        sdetweil @sdetweil
        last edited by Dec 3, 2021, 3:32 PM

        @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 Dec 3, 2021, 3:48 PM Reply Quote 0
        • S Offline
          selyjohns @sdetweil
          last edited by selyjohns Dec 3, 2021, 3:54 PM Dec 3, 2021, 3:48 PM

          @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 Dec 3, 2021, 4:10 PM Reply Quote 0
          • S Offline
            sdetweil @selyjohns
            last edited by Dec 3, 2021, 4:10 PM

            @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 Dec 3, 2021, 5:42 PM Reply Quote 0
            • S Offline
              selyjohns @sdetweil
              last edited by selyjohns Dec 3, 2021, 5:42 PM Dec 3, 2021, 5:42 PM

              @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 Dec 3, 2021, 6:36 PM Reply Quote 0
              • S Offline
                sdetweil @selyjohns
                last edited by sdetweil Dec 3, 2021, 6:38 PM Dec 3, 2021, 6:36 PM

                @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 Dec 5, 2021, 4:21 PM Reply Quote 0
                • S Offline
                  selyjohns @sdetweil
                  last edited by Dec 5, 2021, 4:21 PM

                  @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 Dec 5, 2021, 6:39 PM Reply Quote 0
                  • S Offline
                    sdetweil @selyjohns
                    last edited by sdetweil Dec 5, 2021, 6:40 PM Dec 5, 2021, 6:39 PM

                    @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 Dec 6, 2021, 1:00 PM Reply Quote 0
                    • S Offline
                      selyjohns @sdetweil
                      last edited by Dec 6, 2021, 1:00 PM

                      @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 Dec 6, 2021, 1:25 PM Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 2 / 3
                      2 / 3
                      • First post
                        19/24
                        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