Code Monkey home page Code Monkey logo

mmm-themeparkwaittimes's Introduction

MMM-ThemeParkWaitTimes

Theme Park Wait Times for Magic Mirror

alt text

The Theme Park Wiki API is provided by another party and subject to change, but as of right now this module would work with the following parks:

  • Walt Disney World® Resort
  • Magic Kingdom Park
  • EPCOT
  • Disney's Hollywood Studios
  • Disney's Animal Kingdom Theme Park
  • Disney's Typhoon Lagoon Water Park
  • Disney's Blizzard Beach Water Park
  • Tokyo Disney Resort
  • Tokyo DisneySea
  • Tokyo Disneyland
  • Shanghai Disney Resort
  • Shanghai Disneyland
  • Disneyland Paris
  • Disneyland Park
  • Disney California Adventure Park
  • Hong Kong Disneyland Parks
  • Hong Kong Disneyland Park
  • Walibi Holland
  • Plopsaland De Panne
  • Europa-Park
  • Rulantica
  • Silver Dollar City
  • Dollywood
  • Phantasialand Phantasialand
  • Holiday Park
  • Universal Studios (California)
  • Universal's Islands of Adventure
  • Universal Studios Florida
  • Universal's Volcano Bay
  • Hersheypark
  • Heide Park
  • Liseberg
  • The Great Escape
  • Efteling Themepark Resort
  • Worlds of Fun
  • Michigan's Adventure
  • Knott's Berry Farm
  • Cedar Point
  • Attractiepark Toverland
  • Parc Asterix
  • California's Great America
  • Canada's Wonderland
  • Kings Dominion
  • SeaWorld San Diego
  • SeaWorld San Antonio
  • SeaWorld Orlando
  • Aquatica Orlando
  • Dorney Park
  • Carowinds
  • Kings Island
  • Valleyfair
  • PortAventura World
  • PortAventura Park
  • Ferrari Land
  • Aquatic Park
  • Six Flags Over Texas
  • Six Flags Great America
  • Six Flags America
  • Six Flags Frontier City
  • Six Flags Over Georgia
  • Six Flags St. Louis
  • Six Flags New England
  • Six Flags México
  • Six Flags Great Adventure
  • Six Flags Magic Mountain
  • Six Flags Fiesta Texas
  • Six Flags Discovery Kingdom
  • Six Flags Darien Lake
  • La Ronde, Montreal
  • Busch Gardens Williamsburg
  • Busch Gardens Tampa Bay
  • Bellewaerde
  • LEGOLAND Billund
  • LEGOLAND Deutschland
  • LEGOLAND California
  • LEGOLAND Florida
  • LEGOLAND Windsor
  • Gardaland
  • Thorpe Park
  • Alton Towers Resort
  • Alton Towers
  • Chessington World of Adventures Resort
  • Chessington World of Adventures

Dependencies

Installation

  1. Install MMM-ThemeParkWaitTimes Module
cd ~MagicMirror/modules/
git clone git@github.com:vita10gy/MMM-ThemeParkWaitTimes.git
cd MMM-ThemeParkWaitTimes
npm install
  1. Add module to ~MagicMirror/config/config.js

Config

Option Requirement/Type Description
park Required - Described below. The park that the wait times will be retrieved for.
futureHours boolean - Optional - Default: true The module will show hours for the next 5 days or not
updateInterval int - Optional - Default: 10 minutes the time between checking for updates, in milleseconds

The "park" element

Option Requirement/Type Description
entity Required/String The entity id of the Park that will be used to retrieve wait times. These can be located here: https://themeparks.wiki/browse/ either via the URL or the links provided. For example Disney's Magic Kingdom's URL is https://themeparks.wiki/browse/75ea578a-adc8-4116-a54d-dccb60765ef9 and 75ea578a-adc8-4116-a54d-dccb60765ef9 is the entity id you put in the config file.
rides Optional/Array An optional array of the rides you would like to display the wait times for. Rides should be listed by their id, found at URLs such as https://api.themeparks.wiki/v1/entity/75ea578a-adc8-4116-a54d-dccb60765ef9/live (note the url is using the entity you used above.) If no array is provided a list of all things that are tagged ATTRACTION and have a queue are listed.

Here is an example for Magic Kingdom - Disney World configuration in config.js

  {
  module: "MMM-ThemeParkWaitTimes",
  header: "Magic Kingdom - Walt Disney World", //You can call this whatever
  position: "top_left",
  config: {
    futureHours: true, //optional - allows you to hide the hours for upcoming days - true is default
    updateInterval: 10 * 60 * 1000, //optional - allows you to set how often to check for updates, in milliseconds - 10 minutes is the default
    park: {
      entity: "75ea578a-adc8-4116-a54d-dccb60765ef9", //required - https://themeparks.wiki/browse/
      rides: [
        //https://api.themeparks.wiki/v1/entity/75ea578a-adc8-4116-a54d-dccb60765ef9/live  - use the "id" for each ride
        "7c5e1e02-3a44-4151-9005-44066d5ba1da", //mickey's philharmagic
        "890fa430-89c0-4a3f-96c9-11597888005e", //dumbo the flying elephant
        "3cba0cb4-e2a6-402c-93ee-c11ffcb127ef", //under the sea - journey of the little mermaid
        "e8f0b426-7645-4ea3-8b41-b94ae7091a41", //monsters inc. laugh floor
        "6fd1e225-53a0-4a80-a577-4bbc9a471075", //walt disney's enchanted tiki room
        "9d4d5229-7142-44b6-b4fb-528920969a2c", //seven dwarfs mine train
        "de3309ca-97d5-4211-bffe-739fed47e92f", //big thunder mountain railroad
        "796b0a25-c51e-456e-9bb8-50a324e301b3", //jungle cruise
        "f163ddcd-43e1-488d-8276-2381c1db0a39", //tomorrowland speedway
        "352feb94-e52e-45eb-9c92-e4b44c6b1a9d", //pirates of the caribbean
        "2551a77d-023f-4ab1-9a19-8afec0190f39", //haunted mansion
        "96455de6-f4f1-403c-9391-bf8396979149", //the magic carpets of aladdin
        "e39b831b-7731-49bb-815b-289b4f49a9fd", //walt disney world railroad - main street, u.s.a.
        "e76c93df-31af-49a5-8e2f-752c76c937c9", //enchanted tales with belle
        "0f57cecf-5502-4503-8bc3-ba84d3708ace", //country bear jamboree
        "5a43d1a7-ad53-4d25-abfe-25625f0da304", //tron lightcycle / run
        "0aae716c-af13-4439-b638-d75fb1649df3", //mad tea party
        "8183f3f2-1b59-4b9c-b634-6a863bdf8d84", //walt disney's carousel of progress
        "273ddb8d-e7b5-4e34-8657-1113f49262a5", //prince charming regal carrousel
        "ffcfeaa2-1416-4920-a1ed-543c1a1695c4", //tomorrowland transit authority peoplemover
        "30fe3c64-af71-4c66-a54b-aa61fd7af177", //swiss family treehouse
        "72c7343a-f7fb-4f66-95df-c91016de7338", //buzz lightyear's space ranger spin
        "e40ac396-cbac-43f4-8752-764ed60ccceb", //walt disney world railroad - fantasyland
        "86a41273-5f15-4b54-93b6-829f140e5161", //peter pan's flight
        "06c599f9-1ddf-4d47-9157-a992acafc96b", //walt disney world railroad - frontierland
        "f5aad2d4-a419-4384-bd9a-42f86385c750", //"it's a small world"
        "924a3b2c-6b4b-49e5-99d3-e9dc3f2e8a48", //the barnstormer
        "b2260923-9315-40fd-9c6b-44dd811dbe64", //space mountain
        "d9d12438-d999-4482-894b-8955fdb20ccf", //astro orbiter
        "2ebfb38c-5cb5-4de1-86c0-f7af14188022", //the hall of presidents
        "15700490-3749-45cf-a737-3cba56e13704", //liberty square riverboat
        "4bef7560-ed81-47c7-b178-6544abe3daaf", //tom sawyer island
        "0d94ad60-72f0-4551-83a6-ebaecdd89737", //the many adventures of winnie the pooh
        "a5241f3b-4ab5-4902-b5ba-435132ef553d", //Splash Mountain
      ],
    },
  },
}

More resort/park examples can be found in the examples directory.

Entity Ids

Why so complex with the entity ids? Why can't I type "The Twilight Zone Tower of Terror™" or "Jungle Cruise" in the rides array?

Because the IDs don't change and don't require tiresome/fiddliy string matching. For example you don't need to worry about the ™ for Tower of Terror, and the Jungle Cruise doesn't disappear on you when they rename it to "Jingle Cruise" for a couple months.

Doing it this way also takes this module out of the way of "direct" interaction with the Theme Park Wiki API. When they add a park or a ride no one has to wait on this project to add something to an internal mapping so I can make some slugs like "TowerOfTerror" instead of "6f6998e8-a629-412c-b964-2cb06af8e26b" to make it slightly more visually appealing to configure once. Ultimately there was no way around spelunking for what exact thing you had to list, so I figured you may as well go straight to the horse's mouth.

MMM-DisneyWaitTimes Differences

Huge Thanks to @gberg927 for his work on the original https://github.com/gberg927/MMM-DisneyWaitTimes project this heavily piggybacked off of.

Usage differences: This project is no longer restricted to just a few of the Disney parks. It also shows the hours for the upcoming 5 days.

Technical differences: This project uses the newer version of the Theme Park Wiki API and should provide more accurate data.

mmm-themeparkwaittimes's People

Contributors

blastitt avatar dependabot[bot] avatar gberg927 avatar greymagic27 avatar roramirez avatar vita10gy avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.