MagicMirror² v2.5.0 is available! For more information about this release, check out this topic.

Trouble with Wunderlist and/or Todoist - who can help?



  • Hi …
    for some weeks my wunderlist was usable on my magic mirror, but then (i don’t know when …) it shows just the header - nothing more. Can someone help me with 2/3 screenshots, which id/token/api i have to catch and where this is exactly to be placed in the config file?
    If possible for both - Wunderlist and Todoist, 'cause i really don’t know which one is the better one for me and my family.
    THANKS !!!



  • @MyMirror So there’s a lot to unpack here, BUT let me see how I can help – I actually use both right now! A few years back I finally got my family all onboard with Wunderlist, which I adore, and… they got bought by Microsoft, which announced that it would shutter WL eventually. So I’m currently evaluating Todoist in order to gradually move the family over to that when the time comes. Honestly? I’m not sure anything can replace Wunderlist for me (it was perfect!) but Todoist works well and the team seems dedicated. The MM module for it looks really nice, too!

    As for Wunderlist: I have had issues with it also in the past couple of weeks. Sometimes, it just… doesn’t load. Most of these times, a quick refresh will fix it, or a restart of MagicMirror if that doesn’t do it. (Jopyth’s MagicMirror Remote module is pretty phenomenal for this task, if you don’t already have it I highly recommend).

    My best guess is that we’re bumping up against Wunderlist’s API rate limit. In your config, try setting it to request less frequently? I need to remember to try the same. The good news is that if it was already working for you before, then your configuration is probably good; there’s been no major API changes or updates to the module that I know of, so if it worked before and you haven’t changed anything, you’re already on good footing.

    Now, since you’re already looking at trying to pick which service to use, here’s my advice: Make yourself an account on Todoist as well, and find a couple tutorials on how to use it (it’s a little bit of a different mindset). Populate it with some lists and due dates, and see if you can see that up on your mirror as well. The documentation for the module should cover everything you need to get it set up, but there’s not really any sense dumping hours into forcing something to work if you’re gonna end up not using it!!

    If you still cannot get either service up and running, feel free to DM me and I’ll see if I can help with your config.



  • @pyrosmiley
    Thanks for your reply.
    I’ll will test my mirror with an old backup. This was working well.
    But since I did not get any content on my mirror either from the Wunderlist or Todoist … i was a bit desperate.
    Can you give me a screenshot which token (Wunderlist/Todoist) i have to use for the config file … i’ve tested client ID, client secret , test token … nothing works.
    I’ve rebooted my pi more than x times, tried a backup without luck … so i will have a look, if i have an very old backup somewhere on my server …
    Greets



  • @MyMirror Okay. If all else fails, try a clean install of the modules – delete the folder, re-clone from github, and npm install from inside the folder. I have no idea why stuff gets messed up but that’s fixed weird problems for me before! In the meantime, I’ll post my configs for these two modules. ***Note: for security, I’ve taken out the actual values of my keys. It’ll look right enough for you to pop in yours, but if you copy my config in, it won’t work without you replacing the access keys!

    Todoist: Without spinning up a webserver to go through the whole Oauth procedure (having to login and capture account-specific access keys, which is a pain), the devs actually give you an API key that gives you full access to your account only, found on their dev console here. This is what they call their “Test Token” and that’s what you want to use for your mirror. You don’t have to worry about the Client ID and Client Secret. Just the test token.

    		{
    			module: "MMM-Todoist",
    			position: "top_right",
    			disabled: false,
    			header: "Todoist",
    			config: {
    				accessToken: "[Todoist Test Token]",
    				maximumEntries: 60,
    				updateInterval: 90000,
    				projects: [
    					2162182105,
    					2162182104,
    					2162182107,
    					2163342228
    				],
    				projectColors: [
    					"#95ef63",
    					"#ff8581",
    					"#ffc471",
    					"#f9ec75",
    					"#a8c8e4",
    					"#d2b8a3",
    					"#e2a8e4",
    					"#cccccc",
    					"#fb886e",
    					"#ffcc00",
    					"#74e8d3",
    					"#3bd5fb",
    					"#dc4fad",
    					"#ac193d",
    					"#d24726",
    					"#82ba00",
    					"#03b3b2",
    					"#008299",
    					"#5db2ff",
    					"#0072c6",
    					"#000000",
    					"#777777"
    				],
    				fade: false,
    				orderBy: "todoist"
    			}
    		},
    

    My config is above, but you’ll need to replace my project IDs with your own, or it will error out, since they don’t match any projects (lists) on your account. The instructions for grabbing those are here and that explains it better than I can.

    Wunderlist: Their authentication is slightly different here, but no big deal. This time around, on your developer page, they give you a Client ID and a Client Secret for each “app” you’ve registered (I only have the one, which is this mirror). No matter, we just have to include both those values in the config, instead of just the one. For the record, I’m using the MMM-Wunderlist module by paviro, not the WunderlistEnhanced version. I’m pretty sure the config for them is similar, but I don’t actually know. Here’s my config:

    	{
    			module: "MMM-Wunderlist",
    			position: "top_left",
    			header: "Daily To-Do",
    			disabled: false,
    			config: {
    				accessToken: "[client secret, which is very long]",
    				clientID: "[Client ID]",
    				lists: [
    					"Daily",
    					"Party Prep"
    				],
    				interval: 90,
    				fadepoint: 0.5,
    				maximumEntries: 16
    			}
    		},
    

    Now, one thing that I just remembered having issues with (I set this up a ways back and it’s been awhile since I really looked over my config!) is the list names for this one. The nice thing about this module is that you don’t have to go pull List ID numbers out of URLs, but the unfortunate thing is that the names that you type in have to match exactly. When mine suddenly stopped working, it took me like an hour of yanking hairs out before I realized that I’d renamed one of my lists to fix the capitalization and didn’t update it accordingly on the mirror.

    I just checked and both modules are working just fine for me with these configs. Hopefully that gets you up and running.



  • @pyrosmiley
    Good ideas … i will save my config and then delete the whole stuff - make a clean install of the modules.
    Maybe there is something, which blocks the corret working …
    I’ll try that and then get back to you.
    Thanks



  • @MyMirror
    Ok … wunderlist does not work … i don’t know why but i get content from todoist 🙂

    May i ask another question?
    Is it possible to have more then one account from todoist on my phone to use different tables?
    I want to use one for me, check and want also to give tasks for my children (clean up their rooms and more 🙂 , and want to share a grocery list with my wife …
    My children should only have their own plan …
    Can you give me an example (if possible)?

    Thanks !!



  • @MyMirror
    Your example was very helpful - but the projektColors are without any effect.



  • Maybe I can get a little help here.

    The Todoist header is showing on my mirror but there are not any events. I made a test project with one event scheduled for tomorrow. The url is https://todoist.com/app?lang=en#project%2F2183902244 meaning that the project should be 2183902244. Meaning that the below code should be correct

    				maximumEntries: 60,
    				updateInterval: 90000,
    				projects: [ 2183902244 ],
    				fade: true,
    				orderBy: "todoist"
    

    For the access token I am using the test token from the developer page on todoist. Should there be spaces between the quotations, brackets and token?



  • @MyMirror That’s exactly what I’m working on getting set up as well! While it should be technically possible to pull lists from multiple accounts on one mirror, I’m not sure you really need to?

    As far as I can see it, the easiest option is simply to keep your account hooked up to the mirror and just use shared lists. Since you already want to be able to share the grocery list and assign tasks to the kids, that means those relevant lists will already be shared/accessible from your account – so just drop in another instance of the module in your config, and change the header and the project values to whatever is relevant. (You can also have several projects together, with different project colors to distinguish whose chores are whose!). Mine (with badly maintained personal and work lists) looks like this:
    0_1524884168810_2018-04-27-215314_900x1600_scrot.png

    If that doesn’t work for you, then it should be possible to pull from other accounts, but you’ll have to go through the process of making a developer account and getting a test API key for each one you plan on using. This also means that each person’s list(s) must be on separate instances of the module, and can’t be combined at all (since each API key can only access data for its own account). You can have several projects from one account in each instance, but not multiple accounts.

    As for the projectColors value: to be honest, I started mine awhile back by copy/pasting from an example, and when it worked, I decided to just… not mess with it. My understanding is that, at least with that build, the projectColors bit was to specify what colors to display to correlate with the ones built into the Todoist clients.



  • @potts-mike For the accessToken, there should not be any brackets, just quotation marks. That’s my bad, I typed it out that way without even thinking about the fact that java config does, in fact, actually use brackets.

    As for spaces, I don’t think you need any. I’m not sure that they’ll mess anything up, though, but I could be wrong. Worth trying if taking out the brackets around the token doesn’t fix your problem.