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-MyCommute

    Scheduled Pinned Locked Moved Transport
    286 Posts 80 Posters 653.2k Views 77 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.
    • schlachtkreuzer6S Offline
      schlachtkreuzer6 @strawberry 3.141
      last edited by

      @strawberry-3.141 nope. I didn’t though about it because the module itself got that options but they don’t work at the same time.

      1 Reply Last reply Reply Quote 0
      • J Offline
        j.e.f.f Project Sponsor Module Developer @schlachtkreuzer6
        last edited by

        @schlachtkreuzer6 so if I understand your request, you would like to have different start and end times based on a particular days? If so you can do this. each destination has its own start and end time, as well as its own hideDays list. Configure two destinations with the same destination address, mode, label, etc, but in each one configure the desired start times and hideDays. So for your example above, the config would look something like this:

            {
              module: "MMM-MyCommute",
              position: "top_left",
              classes: "default everyone", 
              header: "Commute",
              config: {
                apikey: "...",
                origin: "...",
                startTime: "00:00",
                endTime: "23:59",
                hideDays: [0,6], //module always completely hidden on weekends
                destinations: [
                  {
                    destination: "A1 Destination Address",
                    label: "A1",
                    startTime: "07:15",
                    endTime: "09:00",
                  },
                  {
                    destination: "B1 Destination Address",
                    label: "B1",
                    startTime: "16:00",
                    endTime: "18:00",
                    hideDays: [2,4] //hidden on tues, thurs
                  },
                  {
                    destination: "B1 Destination Address",
                    label: "B1",
                    startTime: "13:00",
                    endTime: "14:00",
                    hideDays: [1,3,5] //hidden on mon, wed, fri
                  }
                ]
              }
            }
        
        schlachtkreuzer6S 1 Reply Last reply Reply Quote 1
        • J Offline
          j.e.f.f Project Sponsor Module Developer @pjkoeleman
          last edited by j.e.f.f

          @pjkoeleman I just added a config parameter to control this. Add travelTimeFormatTrim: false to turn off the duration trimming. It also accepts "left" to trim larger zero-value tokens (e.g.: 0h 37min renders as 37min), and "right" to trim the smaller tokens first (e.g.: 2h 0min renders as 2h). It defaults to "left".

          Note that setting this parameter to true has the same affect as setting it to false. To get the default behaviour, set this to "left" or just omit the parameter altogether.

          Do a git pull and you should be able to use the new config.

          pjkoelemanP 1 Reply Last reply Reply Quote 1
          • pjkoelemanP Offline
            pjkoeleman @j.e.f.f
            last edited by

            @j.e.f.f
            Thanks very much, now I will study you code, because I want to learn javascript my self.

            J 1 Reply Last reply Reply Quote 0
            • J Offline
              j.e.f.f Project Sponsor Module Developer @pjkoeleman
              last edited by

              @pjkoeleman the key here is that I’m using a plugin for Moment.js that allows formatting of time durations. By default, Moment.js doesn’t allow this. See here:

              https://github.com/jsmreese/moment-duration-format

              pjkoelemanP 1 Reply Last reply Reply Quote 0
              • schlachtkreuzer6S Offline
                schlachtkreuzer6 @j.e.f.f
                last edited by

                @j.e.f.f ok! Thanks I will try this as fast as possible, after my holiday ;)

                FYI: I work at two destinations, Mon -Fri at W1 and Mon evening and Tuesday evening at W2 with about 1,5-2h at home ^^ only traveling with the car, so for me it’s necessary to know if my usual route is busy or not to calculate when I should left for work but I not really need to know the other route ;) traffic on route W2 varies +/- 1h… (terrible!)

                But if this mini schedule thing inside this module works: WOW! What an absolutely overkill of an module for me!

                J 1 Reply Last reply Reply Quote 0
                • pjkoelemanP Offline
                  pjkoeleman @j.e.f.f
                  last edited by

                  @j.e.f.f
                  Thanks, will study that as well.

                  1 Reply Last reply Reply Quote 0
                  • J Offline
                    j.e.f.f Project Sponsor Module Developer @schlachtkreuzer6
                    last edited by

                    @schlachtkreuzer6 said in MMM-MyCommute:

                    WOW! What an absolutely overkill of an module for me!

                    Heh! It’s amazing how something that started out so simple has become so highly configurable! I originally wrote this module as a fork of a module that I couldn’t get to work properly for me.

                    pjkoelemanP 1 Reply Last reply Reply Quote 1
                    • pjkoelemanP Offline
                      pjkoeleman @j.e.f.f
                      last edited by

                      @j.e.f.f said in MMM-MyCommute:

                      Heh! It’s amazing how something that started out so simple has become so highly configurable! I originally wrote this module as a fork of a module that I couldn’t get to work properly for me.

                      I love the way your modules are configurable, every use can find / make his configuration.

                      1 Reply Last reply Reply Quote 0
                      • H Offline
                        haroldgtv
                        last edited by haroldgtv

                        Hi

                        i would really like to use this module because it seems great. But im a noob to this.
                        Maybe you can help me ? The module does not show at all on my MM

                        I have the module installed in de modules folder.
                        i did perform a git pull and a npm install. my config.js is as followed.

                        modules: [
                        		{
                        			module: "helloworld",
                        			position: "top_bar",
                        			config: {
                        				text: "Home of Harold & Jolanda"
                        				}
                        		},
                        		{
                        			module: "alert",
                        		},
                        		{
                        			module: "updatenotification",
                        			position: "top_bar"
                        		},
                        		{
                          			module: 'MMM-MyCommute',
                            			position: 'top_left',
                             		        header: 'Traffic',
                                                classes: 'default everyone',
                          			config: {
                           				apikey: 'I HAVE THE API KEY PUT HERE',
                           				origin: 'MY HOME ADDRESS',
                            				startTime: '00:00',
                            				endTime: '23:59',
                           			        hideDays: [0,6],
                           				destinations: [
                            		  			{
                               			   	     	destination: 'WORK ADRESS',
                              				     	label: 'WORK',
                              			    	     	mode: 'driving',
                              			    	     	color: '#82E5AA'
                             		            	     	}
                        			    	    ]
                        			}
                           		       		     		 
                        		},
                        		{
                        			module: "clock",
                        			position: "top_bar"
                        		},
                        

                        In the MMM-MyCommute folder i did not edit or changed anything… should i edit the MMM-MyCommute.js file also ?? to get this module shown in the MM ?

                        I did reboot the Pi but no effect.

                        I hope you can help me.

                        Kind regards
                        Harold

                        1 Reply Last reply Reply Quote 0
                        • H Offline
                          haroldgtv
                          last edited by

                          o… wauw… im really stupid.

                          It is sunday i had the hideDays 0.6 line in the config file.

                          After deleting it worked like a charm. The moment i posted the message , i have seen the mistake i made. sorry…

                          Thanks for developing this great module !

                          J 1 Reply Last reply Reply Quote 0
                          • J Offline
                            j.e.f.f Project Sponsor Module Developer @haroldgtv
                            last edited by

                            @haroldgtv thanks for the kind words! Glad you got it sorted out.

                            1 Reply Last reply Reply Quote 0
                            • pyrosmileyP Offline
                              pyrosmiley
                              last edited by

                              I have kind of a weird question, but I haven’t had a chance to poke around and try for myself yet and I’m coming up on when I promised I’d have things done…

                              Is it particularly possible to reverse the module? I’m assuming I’d need a second instance with the modified code, but I’d like travel times to various places in the morning, and then midday it would switch to the travel times back home from those same spots. In my mind it seems like it might be as simple as swapping the parameters in the getData (or equivalent) function for making the API call, but I’m not entirely sure.

                              Does that seem about right? If it entails major code restructuring then I may just abort mission, but if not, that’d be a really cool feature to have since people are in and out of my house all over the day.

                              J 1 Reply Last reply Reply Quote 0
                              • J Offline
                                j.e.f.f Project Sponsor Module Developer @pyrosmiley
                                last edited by

                                @pyrosmiley you can do this with two instances of the module (i.e.: make two configurations for MMM-MyCommute in your configure.js file), and then use built-in scheduling parameters to have one show in the morning and hide in the afternoon, and the second to hide in the morning and show in the afternoon. The first module will have your drive from home to work configured, for example, and the second will have the reverse configuration.

                                Does that make sense?

                                pyrosmileyP 1 Reply Last reply Reply Quote 0
                                • pyrosmileyP Offline
                                  pyrosmiley @j.e.f.f
                                  last edited by

                                  @j.e.f.f Yeah, that makes sense, although won’t that only let me do it with a single destination? I have four I’m trying to track, so for the second instance I need to essentially have four origins and a single destination.

                                  J 1 Reply Last reply Reply Quote 0
                                  • J Offline
                                    j.e.f.f Project Sponsor Module Developer @pyrosmiley
                                    last edited by

                                    @pyrosmiley yeah it’s a little kloodgy, but you can get it to work by making five instances.

                                    1 Reply Last reply Reply Quote 1
                                    • C Offline
                                      chassain 0
                                      last edited by

                                      Hi,

                                      Sorry for english.
                                      I can’t display icon of differents mode (driving, …) in my module. I can see just label and times. But it’s working well. I add a color but same problem. Thanks for help.

                                      apikey: ‘API KEY’,
                                      origin: ‘XXXX’,
                                      startTime: ‘00:00’,
                                      endTime: ‘23:59’,
                                      hideDays: [],
                                      showSummary: true,
                                      colorCodeTravelTime: true,
                                      moderateTimeThreshold: 1.1,
                                      poorTimeThreshold: 1.3,
                                      nextTransitVehicleDepartureFormat: “[next at] h:mm a”,
                                      travelTimeFormat: “h [h] m [min]”,
                                      travelTimeFormatTrim: “left”,
                                      pollFrequency: 10 * 60 * 1000, //every ten minutes, in milliseconds
                                      destinations: [
                                      {
                                      destination: ‘Avenue de la Tour Royale, 83000 Toulon’,
                                      label: ‘Boulot’,
                                      mode: ‘driving’,
                                      waypoints: ‘83220 Le Pradet | Auberge Sainte Marguerite’
                                      },
                                      {
                                      destination: ‘Gare de Toulon, 83000 Toulon’,
                                      label: ‘Gare Toulon’,
                                      mode: ‘driving’,
                                      color: ‘#82E5AA’
                                      },
                                      {
                                      destination: ‘Aéroport Marseille Provence’,
                                      label: ‘Aéroport Marignane’,
                                      mode: ‘driving’
                                      },
                                      {
                                      destination: ‘31000 Toulouse’,
                                      label: ‘Toulouse’,
                                      mode: ‘driving’
                                      },
                                      {
                                      destination: ‘33000 Bordeaux’,
                                      label: ‘Bordeaux’,
                                      mode: ‘driving’
                                      }

                                      J 1 Reply Last reply Reply Quote 0
                                      • J Offline
                                        j.e.f.f Project Sponsor Module Developer @chassain 0
                                        last edited by

                                        @chassain-0 Your config works for me, but since you pasted code in the body of the message I needed to correct all of the quotes and such. Hard to tell if it was that kind of an error.

                                        Try this config and let me know if it works for you (I picked a hotel that was nearby your destinations as the origin)

                                            {
                                              module: "MMM-MyCommute",
                                              position: "top_left",
                                              header: "Traffic",
                                              classes: "default everyone",
                                              disabled: false,
                                              config: {
                                                apikey: "...",
                                                origin: "La Villa Gallici - Hotel 5 étoiles - Aix en Pce",
                                                startTime: "00:00",
                                                endTime: "23:59",
                                                hideDays: [],
                                                showSummary: true,
                                                colorCodeTravelTime: true,
                                                moderateTimeThreshold: 1.1,
                                                poorTimeThreshold: 1.3,
                                                nextTransitVehicleDepartureFormat: "[next at] h:mm a",
                                                travelTimeFormat: "h [h] m [min]",
                                                travelTimeFormatTrim: "left",
                                                pollFrequency: 10 * 60 * 1000, //every ten minutes, in milliseconds
                                                destinations: [
                                                  {
                                                    destination: "Avenue de la Tour Royale, 83000 Toulon",
                                                    label: "Boulot",
                                                    mode: "driving",
                                                    waypoints: "83220 Le Pradet | Auberge Sainte Marguerite"
                                                  },
                                                  {
                                                    destination: "Gare de Toulon, 83000 Toulon",
                                                    label: "Gare Toulon",
                                                    mode: "transit",
                                                    color: "#82E5AA"
                                                  },
                                                  {
                                                    destination: "Aéroport Marseille Provence",
                                                    label: "Aéroport Marignane",
                                                    mode: "driving"
                                                  },
                                                  {
                                                    destination: "31000 Toulouse",
                                                    label: "Toulouse",
                                                    mode: "driving"
                                                  },
                                                  {
                                                    destination: "33000 Bordeaux",
                                                    label: "Bordeaux",
                                                    mode: "driving"
                                                  }
                                                ]
                                              }
                                            },  
                                        
                                        C 1 Reply Last reply Reply Quote 0
                                        • C Offline
                                          chassain 0 @j.e.f.f
                                          last edited by

                                          @j.e.f.f thank you. But same problem with no icon. Maybe an error with apikey ?

                                          J 1 Reply Last reply Reply Quote 0
                                          • J Offline
                                            j.e.f.f Project Sponsor Module Developer @chassain 0
                                            last edited by

                                            @chassain-0 Probably not… a bad api key would just limit the module’s functionality, but you should at least see an icon. Can you verify that you have the file icon_sprite.svg in your MMM-MyCommute directory?

                                            C 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
                                            • 5
                                            • 6
                                            • 7
                                            • 8
                                            • 9
                                            • 14
                                            • 15
                                            • 7 / 15
                                            • 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