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
    90 Posts 17 Posters 24.7k Views 18 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.
    • 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) ☺

          S PierreGodeP 2 Replies Last reply Reply Quote 0
          • S Offline
            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 0
              • 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) ☺

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

                  @PierreGode
                  Tested and works. Thanks!

                  (still trying to learn JS, but not afraid to ask) ☺

                  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.

                    1 Reply Last reply Reply Quote 0
                    • 1
                    • 2
                    • 3
                    • 4
                    • 5
                    • 6
                    • 7
                    • 8
                    • 9
                    • 5 / 9
                    • 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