/MMM-MyWastePickup

Module for MagicMirror to display your schedule for Toronto curbside waste pickup

Primary LanguageJavaScript

MMM-MyWastePickup

This a module for MagicMirror.

This displays your schedule for Toronto curbside waste pickup.

Screenshot

Installation

  1. Navigate into your MagicMirror modules folder and execute
    git clone https://github.com/jclarke0000/MMM-MyWastePickup.git.
  2. Enter the new MMM-MyWastePickup directory and execute npm install.

Configuration

Go to https://www.toronto.ca/services-payments/recycling-organics-garbage/houses/collection-schedule/curbside-collection-maps/ to determine your collection calendar, and configure it as below:

Option Description
collectionCalendar REQUIRED The schedule for your curbside pickup, as dertmined above.

String Array
Valid values are MondayNight, Tuesday1, Tuesday2, Wednesday1, Wednesday2, Thursday1, Thursday2, Friday1, or Friday2.
It is also possible to specify Custom in case you want to use your own custom pickup schedule. See below for more information about using your own schedule.

Any other value will be ignored and the module will default to Tuesday1.
weeksToDisplay How many weeks into the future to show collection dates.

Number
Default: 2.
limitTo Limit the display to the spcified number of pickups.

Number
Default: 99.

Example config

{
  module: 'MMM-MyWastePickup',
  position: 'top_left',
  header: 'My Waste Collection',
  config: {
    collectionCalendar: 'Tuesday1'
  }
},

Note

This works off of a static CSV file obtained from the city of Toronto's website here: https://open.toronto.ca/dataset/solid-waste-pickup-schedule/

As such, this module currently only has data until the end of the year 2021.In 2022 and subsequent years, download the new schedule and copy it over the existing schedule.csv file in this module's directory.

Using Your Own Custom Schedule

If you live outside of Toronto and you'd like to use this module, you can create your own schedule to use with this module.

  1. First, in your config specify collectionCalendar: 'Custom'.
  2. Create a CSV based on the following template:
Calendar,WeekStarting,GreenBin,Garbage,Recycling,YardWaste,ChristmasTree
Custom,03/07/18,1,0,1,0,0
Custom,03/14/18,1,1,1,0,0
Custom,03/21/18,1,0,1,0,0
Custom,03/28/18,1,1,1,0,0

Add lines for each pickup date as needed

The following points are very important:

  • The CSV file must be delimited using commas
  • The first line containing the headers must appear exactly as above. If the module is stuck on "Loading..." after you've created your custom schedule, double-check that none of the headers are misspelled.
  • You MUST use the schedule name Custom at the beginning of each line.
  • The date format needs to be specified as MM/DD/YY (e.g.: 05/28/18 for 28-May-2018)
  • The last five fields of each line specify whether the particular waste product is scheduled to be picked up on the given date. A value of 0 means no pick up. A value of ANYTHING ELSE means the product will be picked up. Using the first pick up date entry in the template above, 1,0,1,0,0 means that GreenBin and Recycling will be picked up on that date, while Garbage, YardWaste, and ChristmasTree will not be picked up.
  1. Save the file as schedule_custom.csv in the MMM-MyWasteCollection directory.
  2. Restart Magic Mirror