MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    1. Home
    2. htilburgs
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.
    Offline
    • Profile
    • Following 0
    • Followers 2
    • Topics 22
    • Posts 196
    • Groups 0

    Harm Tilburgs

    @htilburgs

    Started with a MagicMirror in the Covid19 period and now I'm hooked to it.
    Currently I've my second Mirror.

    32
    Reputation
    1.3k
    Profile views
    196
    Posts
    2
    Followers
    0
    Following
    Joined
    Last Online
    Age 58
    Website magicmirror.tilburgs.com
    Location Netherlands

    htilburgs Unfollow Follow

    Best posts made by htilburgs

    • MMM-MyGarbage

      MMM-MyGarbage

      This a module for MagicMirror².
      This displays the schedule for your Garbage pickup. It supports multiple types of garbage bins.
      You can show the schedule using a CSV file (garbage_schedule.csv) of by using an ical URL.

      3408044a-a1b1-4ebd-8b38-4bf2f86bdd31-image.png

      Installation

      Clone this repository in your modules folder, and install dependencies:

      cd ~/MagicMirror/modules 
      git clone https://github.com/htilburgs/MMM-MyGarbage.git
      cd MMM-MyGarbage
      npm install 
      

      Update

      When you need to update this module:

      cd ~/MagicMirror/modules/MMM-MyGarbage
      git pull
      npm install
      

      Configuration

      Go to the MagicMirror/config directory and edit the config.js file.
      Add the module to your modules array in your config.js.

      {
              module: 'MMM-MyGarbage',
              position: 'top_right',
              header: "My Garbage Calendar",
              disabled: false,
              config: {
                      weeksToDisplay: 4,
                      limitTo: 99,
                      dateFormat: "dddd LL",
                      alert: true,
                      fade:true,
                      fadePoint: 0.25,
                      dataSource: "ical",                         // csv (schedule_garbage.csv | ical (put URL in icalUrl)
                      icalUrl: "PLACE_HERE_PUBLIC_ICAL_URL",      // only used if dataSource is "ical"
                      debug: false,                               // Only set on true for debugging 
                      binColors: {                                // Define custom Bin Colors
                                  GreenBin: "#00A651",
                                  PaperBin: "#0059ff",
                                  GarbageBin: "#787878",
                                  PMDBin: "#ffff00",
                                  OtherBin: "#B87333"
                                  },
                      icalBinMap: {                                // Map iCal event names to standard bin names
                                  "PAPIER": "PaperBin",
                                  "GFT": "GreenBin",
                                  "PMD": "PMDBin",
                                  "REST": "GarbageBin",
                                  "KERSTBOOM": "OtherBin",
                                  }
                      }
      },
      

      Module configuration

      Here is the documentation of options for the modules configuration:

      Option Description
      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
      dateFormat Format to use for the date of events

      Default: dddd D MMMM (e.g. January 18)
      Possible values: See https://momentjs.com/
      alert (optional) Show alert, if remaining entries in csv file fall under this threshold

      Number
      Default: false
      fade Fade the future events to black. (Gradient).

      Default:
      true
      Possible values: true or false
      fadePoint Where to start fade?

      Default:
      0.25
      Possible values: 0 (top of the list) - 1 (bottom of list)
      dataSource Select datasource your're using

      Default:
      "csv"
      Possible values: "csv" or "ical"
      icalUrl Fill in your (public) ical URL
      Only use in combination with dataSourc: "ical"
      debug For debugging the module when failure

      Default:
      false
      Possible values: true or false
      binColors Define your own Bin Colors
      icalBinMap Define the EXACT names as provided in the iCal Calendar.
      The names will be matches with the type of Bin.
      If there is no match, otherBin wil be used.

      Creating and using your Garbage Schedule for use with dataSource CSV

      You can use this module by creating your own Garbage Schedule file with the name garbage_schedule.csv
      An example file garbage_schedule.csv is added.

      Create a CSV based on the following template:

      WeekStarting,Greenbin,GarbageBin,PaperBin,PMDBin,OtherBin
      03/07/18,1,0,1,0,0
      03/14/18,1,1,1,0,0
      03/21/18,1,0,1,0,1
      03/28/18,1,1,1,1,0
      

      Default there are 3 bins defined (green, gray and blue) If you need more garbage bins, simply add an extra column in the garbage_schedule.csv file. The name is the color you like the bin to have.

      Add lines for each garbage pickup date as needed.
      The date format needs to be specified as MM/DD/YY (e.g.: 05/28/18 for 28-May-2018)

      Colors can be defined in the config.js file:

      • Legacy Values:
        • GreenBin (defaults to #00A651)
        • GarbageBin (defaults to #787878)
        • PaperBin (defaults to #0059ff)
        • PMDBin (defaults to #ffff00)
        • OtherBin (defaults to #B87333)
      • Any CSS color string (red, chocolate, cornflowerblue, etc…)
      • Any HEX-Color (#FF0000, #8c8c8c, etc)
      • Any rgb, rgba or hsl value if in double quotes (“rgb(128,65,98)”, “rgba(134,56,32,0.5)”, “hsl(0, 100%, 50%)”, etc.)

      The following is VERY important:

      • The CSV file must be delimited using commas
      • The date format needs to be specified as MM/DD/YY (e.g.: 05/28/18 for 28-May-2018)
      • The remaining 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 means that green and blue will be picked up on that date, while gray will not be picked up.

      Save the file as garbage_schedule.csv in the MMM-MyGarbage directory and restart Magic Mirror²

      License

      The MIT License (MIT)

      Copyright © 2019 Harm Tilburgs

      Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

      The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

      The software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.

      Note

      The original script is from Jeff Clarke MMM-MyWastePickup and only for the Toronto area.
      Now it has become a general script, to use in all areas all over the world.

      Versions

      1.0.0 : Initial version
      1.0.1 : Minor changes
      2.0.0 : Changed for use with CSV or with iCal Calendar

      posted in Utilities
      htilburgsH
      htilburgs
    • MMM-MyTasklist

      MMM-MyTasklist

      This a module for Magic Mirror².
      This displays a simple Tasklist, you can update through a web frontend.

      image

      image

      Installation

      Clone this repository in your modules folder, and install dependencies:

      cd ~/MagicMirror/modules 
      git clone https://github.com/htilburgs/MMM-MyTasklist.git
      cd MMM-MyTasklist
      npm install 
      

      Update

      When you need to update this module:

      cd ~/MagicMirror/modules/MMM-MyTasklist
      git pull
      npm install
      

      Configuration

      Go to the MagicMirror/config directory and edit the config.js file.
      Add the module to your modules array in your config.js.

      {
        module: "MMM-MyTasklist",
        position: "top_left",
        header: "MyTaskList",
        disabled: false,
        config: {
          tasksFile: "modules/MMM-MyTasklist/tasks.json",
          updateInterval: 300000,
          showCompleted: true,
          maxTasks: null
        }
      },
      

      Load Webinterface for updating the Tasklist

      Open a browser and type http://serverip address:8448
      So if for example you’re MagicMirror is on 192.168.0.48 then you go to http://192.168.0.48:8448

      The Webinterface for MyTasklist will be loaded and you will be able to:

      • choose language for the Webinterface
      • add tasks
      • complete tasks
      • delete tasks
      • edit tasks
      • move the order from tasks by drag-and-drop
      • filter on all, active or done tasks

      All the updates are instantly published on your Mirror

      NOTE:
      With a touchscreen you’re able to check the checkboxes on the Mirror to complete the task.

      All these changes are instantly published to the Webinterface

      Versions

      v1.0.0 - Initial release
      v1.1.0 - Update Look & Feel
      v1.1.1 - Change Webinterface port from 8123 to 8448
      v1.2.0 - Add possibility to edit the tasks in the Webinterface
      v1.2.1 - Update language selector didn’t work correct in Webinterface (always dutch after reload)

      posted in Utilities
      htilburgsH
      htilburgs
    • RE: PIR problem RPi 4B, Bullseye 64 bit

      @wyovino No, I’m not using MMM-PIR.
      I’ve documented it on my website, but it is in Dutch ;-)

      https://magicmirror.tilburgs.com/pir-configuratie/

      posted in Troubleshooting
      htilburgsH
      htilburgs
    • RE: Get the correct JSON data

      @sdetweil Thanks, that works!
      Now I can really see what I’m doing.

      posted in Development
      htilburgsH
      htilburgs
    • RE: Do you use a PIR sensor? How do you hide it?

      I made a 8 mm hole on the backside and a 2 mm hole on the frontside.
      Removed the cap from the motion sensor and placed it in the 8 mm hole.
      Works great and you can hardly see the 2 mm hole.

      Backside:
      alt text

      Frontside:
      alt text

      posted in Hardware
      htilburgsH
      htilburgs
    • MMM-MyDutchWeather

      Description
      MyDutchWeather is a simple Module, that shows the actual weather from the KNMI 10-minutes network for any location in the Netherlands, based on your GPS coördinates .

      Screenshot
      alt text

      alt text

      alt text

      Download
      [card:htilburgs/MMM-MyDutchWeather]

      Extra
      I’m not an experienced programmer and do this for fun. Feel free to suggest any ideas.

      Versions
      07-04-2019 - v1.0.0 - Initial release
      08-04-2019 - v1.1.0 - Added option for Simple or Additional information

      posted in Utilities
      htilburgsH
      htilburgs
    • RE: I am looking for a working PIR Modul/function

      @Klinge
      I had the same issue with MMM-Universal-Pir.
      The maker had made a comment ABOUT It in the readme, with the correct commands after mine e-mail.
      Read the readme and you are How to do.

      posted in Troubleshooting
      htilburgsH
      htilburgs
    • RE: Do you use a PIR sensor? How do you hide it?

      I still have to paint the frame, thinking of a kind of ‘white-wash’ so you keep seeing the wood grains. Maybe it’s less ‘obvious’.
      But you know and I know, but most visitors I’ve had didn’t even see it or looking for it 🤔

      posted in Hardware
      htilburgsH
      htilburgs
    • RE: MMM-MyGarbage

      @Chris62 Good to hear it’s fixed.
      You can do both

      • Remove the unused column entirly
      • Fill the unused column with zero’s

      As of version v1.2.0 you can also use you’re own column names, as long as they are color names. The garbage bin is showed in the color of the name of the column.

      example
      WeekStarting,Green,Brown
      04/15/19,1,1

      0_1555064642027_MMM-MyGarbage-colors.png

      posted in Utilities
      htilburgsH
      htilburgs
    • MMM-MyHomeWizard

      MMM-MyHomeWizard is a MagicMirror module that shows the information from the HomeWizard P1 meter and/or the HomeWizard WaterMeter.
      The HomeWizard P1 Meter gives you detailed insight into your gas consumption, electricity consumption and solar surplus.
      The HomeWizard Watermeter gives you live insight into your water consumption.

      Homepage: MMM-MyHomeWizard

      aee9f9cb-1285-4eea-a266-af54a0e06b66-image.png

      834e222c-910a-4639-91e7-ef53675a5c52-image.png

      posted in Productivity
      htilburgsH
      htilburgs

    Latest posts made by htilburgs

    • RE: MMM-MyWeatherForecast

      @KristjanESPERANTO
      Thanks for the advice.
      I put a comment in the readme and placed the module in the 3rd-party module list.

      posted in Utilities
      htilburgsH
      htilburgs
    • RE: MMM-MyGarbage

      @mickecarlsson
      That is the risk of editing the .js file. ;-)
      I’m glad you remembered and that you have corrected it.
      Have fun!

      posted in Utilities
      htilburgsH
      htilburgs
    • RE: MMM-MyWeatherForecast

      @KristjanESPERANTO
      The icons came from https://www.flaticon.com/search?word=weather partly clouded night

      I will give MMM-OneCallWeather a look for the icons, but I hope I will stay unique.

      posted in Utilities
      htilburgsH
      htilburgs
    • RE: MMM-MyWeatherForecast

      @waynerob11
      Thank you for the nice words. I had the same problem and that is why I decided to write it myself.

      posted in Utilities
      htilburgsH
      htilburgs
    • RE: MMM-MyGarbage

      Today I published an updated version (v2.0.0) with CSV and iCal support.
      Everything has been thoroughly tested, but if you encounter any issues despite this, please let me know.

      https://github.com/htilburgs/MMM-MyGarbage/issues

      posted in Utilities
      htilburgsH
      htilburgs
    • RE: MMM-MyWeatherForecast

      @sdetweil
      Hi Sam, I didn’t know of the existence of this module.
      I wrote MyWeaterForecast because a lot of other mdules had to much, or I didn’t like the layout, etc…

      I’m currently working on IconSets, but that’s it.
      Sorry for the resemblance.

      posted in Utilities
      htilburgsH
      htilburgs
    • MMM-MyWeatherForecast

      I’ve created a new weather module, named MyWeatherForecast. I wanted a simple weather module, free weather information, and not too much fuss.
      It has language support. Currently for Dutch, English, French and German.

      I know, it’s one of many, but for me it’s nice and I hope you can enjoy it too!

      MMM-MyWeatherForecast

      This is a MagicMirror² module for weather information and an optional 4-day forecast.
      It only uses the weather information from PirateWeather with a free API.

      image



      Installation

      Clone this repository in your modules folder, and install dependencies:

      cd ~/MagicMirror/modules
      git clone https://github.com/htilburgs/MMM-MyWeatherForecast.git
      cd MMM-MyWeatherForecast
      npm install
      

      Update

      When you need to update this module:

      cd ~/MagicMirror/modules/MMM-MyWeatherForecast
      git pull
      npm install
      

      Configuration

      Go to the MagicMirror/config directory and edit the config.js file.
      Add the module to your modules array in your config.js.

      {
              module: "MMM-MyWeatherForecast",
              position: "top_right",
              header: "My WeatherForeCast",
              disabled: false,
              config: {
                      apiKey: "PUT_API_KEY_HERE",
                      latitude: "PUT_LAT_HERE",
                      longitude: "PUT_LON_HERE",
                      units: "metric",                // metric or imperial
                      showForecast: true,             // Show 4 day forecast
                      showLastUpdate: true,           // Show when the data is last updated
                      showSunTimes: true,             // Show Sun up and Sun Down information 
                      lang: "en",                     // Select language nl, de, en, fr
                      updateInterval: 10 * 60 * 1000  //Updates every 10 minutes
                      }    
      },
      
      • To get your latitude and longitude, you can go to https://www.latlong.net/
      • To get your Pirate Weather API key, you can go to https://pirateweather.net/en/latest/

      Versions

      v1.0.0 - Initial release

      posted in Utilities
      htilburgsH
      htilburgs
    • RE: obsession with modul checker

      @HeikoGr 👍

      posted in Development
      htilburgsH
      htilburgs
    • RE: obsession with modul checker

      @KristjanESPERANTO
      Thanks, I didn’t know about this.
      This is the result of running the script?

      posted in Development
      htilburgsH
      htilburgs
    • RE: obsession with modul checker

      After installing tsx (npm install tsx@4.21.0) it gave me a new error:

      🔎 Running checks for 17 modules...
      ❌ Error: Command failed: npx tsx scripts/check-modules/index.ts
      [2026-01-23T17:25:32.134Z] [ERROR] [check-modules] Schema validation failed for modules.stage.4:
      /modules/6/keywords: must NOT have fewer than 1 items
      /modules/8/keywords: must NOT have fewer than 1 items
      /modules/15/keywords: must NOT have fewer than 1 items
      
      [2026-01-23T17:25:32.134Z] [ERROR] [check-modules] Schema validation failed for modules.stage.4:
      /modules/6/keywords: must NOT have fewer than 1 items
      /modules/8/keywords: must NOT have fewer than 1 items
      /modules/15/keywords: must NOT have fewer than 1 items
      
      posted in Development
      htilburgsH
      htilburgs