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-Chores - Manage and keep track of your household Chores

    Scheduled Pinned Locked Moved Utilities
    102 Posts 18 Posters 26.4k Views 19 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 Do not disturb
      sdetweil @ewingfox
      last edited by

      @ewingfox please always code block for code, config and logs

      paste the text into the message editor window, blank line above and below
      select the text just pasted
      hit the </> button on the message editor toolbar

      I fixed prior

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      E 1 Reply Last reply Reply Quote 2
      • E Offline
        ewingfox @sdetweil
        last edited by

        @sdetweil - Thanks! I’m a total hack, so I appreciate the heads up. MUCH CLEANER. I’m not used to passing code blocks in chats, usually I’m in an SCM somewhere, causing trouble… giving my devs a headache… :D

        E 1 Reply Last reply Reply Quote 0
        • E Offline
          ewingfox @ewingfox
          last edited by

          I’ve done a lot of testing and submitted PR-220 . It turns out there are some really complicated date functions that worked—unless they didn’t (edge cases with creating a weekday only task, setting start date on a Weekend, etc).

          else if (recurring === "daily-weekdays") {
              // We ignore the d.setDate(+1) and just find the next valid weekday from today
              let testDate = new Date(); 
              testDate.setDate(testDate.getDate() + 1);
              while (testDate.getDay() === 0 || testDate.getDay() === 6) {
                  testDate.setDate(testDate.getDate() + 1);
              }
              // Force 'd' to be this specific date, bypassing module interference
              d.setTime(testDate.getTime());
          
            } else if (recurring === "daily-weekends") {
              let testDate = new Date();
              testDate.setDate(testDate.getDate() + 1);
              while (testDate.getDay() >= 1 && testDate.getDay() <= 5) {
                  testDate.setDate(testDate.getDate() + 1);
              }
              d.setTime(testDate.getTime());
          

          14991c0d-e8fa-4d9d-95c1-d87e58757d59-image.png

          The logic is working (finally)- I wish I was better at this stuff, I’m a DevOps guy, so I’m lazy and not particularly talented at coding unless I can break thousands of servers with automation (then I’m a pro lol).

          I also went through and added the requisite language support for the 10 supported languages for the two new elements included in admin.html

                                <div class="col-sm-auto">
                                  <select id="taskRecurring" class="form-select">
                                    <option value="">One time</option>
                                    <option value="daily">Daily</option>
                                    <option value="weekly">Weekly</option>
                                    <option value="daily-weekdays">Daily (Weekdays Only)</option>
                                    <option value="daily-weekends">Daily (Weekends Only)</option>
                                    <option value="monthly">Monthly</option>
                                    <option value="yearly">Yearly</option>
                                    <option value="every_X_days_2">Every 2 Days</option>
                                    <option value="every_X_days_3">Every 3 Days</option>
                                    <option value="every_X_weeks_2">Every 2 Weeks</option>
                                    <option value="every_X_weeks_3">Every 3 Weeks</option>
                                    <option value="first_monday_month">First Monday of Month</option>
                                  </select>
                                </div>
          

          I’m testing a few .css changes to improve touchscreen support - you can see plenty of other .css issues I’ll nave to sort out, sreenshots from chrome of the MM page shows it’s not adjusting well to different browsers…

          9d065f9d-8c5e-4214-abd5-fdd57392da87-image.png

          I also put together a mini-module to provide a placard showing the options in the ‘reward store’ - My kid is super goal oriented, so being able to take advantage of @pierregode 's awesome reward system is going to be a big win!

          I’m going to look further into making this interactive and set up some kind of email to us to indicate she’s redeemed her coins on a particular reward.

          The current MMM-ChoreRewards is super crude and rude - you can see plenty of other .css issues I’ll have to sort out. @sdetweil hopefully I’ve formatted this post better - thank you for the #mod help!

          htilburgsH 1 Reply Last reply Reply Quote 1
          • htilburgsH Offline
            htilburgs @ewingfox
            last edited by htilburgs

            @pierregode
            I’m using dateFormatting: “” in my config, but I stil got the date on the dashboard. Do I somethine wrong?

                            {
                              module: "MMM-Chores",
                              position: "top_left",
                              header: "Takenlijst",
                              config: {
                                    updateInterval: 60 * 1000,
                                    adminPort: 5003,
                                    showDays: 365,
                                    showPast: true,
                                    dateFormatting: "",
                                    }
                            },
            

            194c5e22-2c1f-4839-b3a1-d688de98a8b1-image.png

            (still trying to learn JS, but not afraid to ask and AI is my best friend) ☺

            S PierreGodeP 2 Replies Last reply Reply Quote 0
            • S Do not disturb
              sdetweil @htilburgs
              last edited by

              @htilburgs try

              dateFormatting:null

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              1 Reply Last reply Reply Quote 0
              • PierreGodeP Offline
                PierreGode Module Developer @htilburgs
                last edited by

                @htilburgs
                You can set it in the web in config page > Display Settings > Date format > Unassigned > Save

                htilburgsH 2 Replies Last reply Reply Quote 1
                • htilburgsH Offline
                  htilburgs @PierreGode
                  last edited by

                  @PierreGode said in MMM-Chores - Manage and keep track of your household Chores:

                  @htilburgs
                  You can set it in the web in config page > Display Settings > Date format > Unassigned > Save

                  I’m sorry for this late reaction. I’ll try this tomorrow (monday) when I have access to my mirror. Currently not at home. I let you Guys know the results.

                  (still trying to learn JS, but not afraid to ask and AI is my best friend) ☺

                  1 Reply Last reply Reply Quote 1
                  • htilburgsH Offline
                    htilburgs @PierreGode
                    last edited by

                    @PierreGode
                    Tested and works. Thanks!

                    (still trying to learn JS, but not afraid to ask and AI is my best friend) ☺

                    1 Reply Last reply Reply Quote 0
                    • J Offline
                      jtillinghast
                      last edited by sdetweil

                      Hey all-- I’m trying to get MMM-Chores working, but no matter what I do, the module shows up in the mirror as “No tasks to show (emoji).” I have populated the list with tasks, and confirmed that they appear in the data.json file. And I can reach the admin panel for Chores, so I know the server is running. Relevant codeblock from config.js:

                      {
                      					module: "MMM-Chores",
                      					position: "bottom_left",
                      					classes: "overview",
                      					header: "Chores",
                      					config: {
                      						updateInterval: 60 * 1000,
                      						adminPort: 5003,
                          					settings: "unlocked",
                      						dateFormatting: "",
                      						login: false,
                      						users: [{ username: "dad", password: "", permission: "read" }],
                      					}
                      				}
                      

                      I’m sure it’s something simple, so I appreciate your help! TIA.

                      PierreGodeP 1 Reply Last reply Reply Quote 0
                      • PierreGodeP Offline
                        PierreGode Module Developer @jtillinghast
                        last edited by

                        @jtillinghast
                        What does the command pm2 logs give you?

                        J 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 7
                        • 8
                        • 9
                        • 10
                        • 11
                        • 10 / 11
                        • 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