A MagicMirror² module to display standings and rankings for your favorite leagues and divisions from many major sports, including Olympics.
The module will rotate through different sports. If you only want to show one sport or one division, the module will just display one without rotating.
This is a fork of the original MMM-MyStandings from user vincep5. It has been updated with bug fixes, security patches, and many feature additions.
Intended to match the design aesthetic of, and pair nicely with, MMM-MyScoreboard.
cd ~/MagicMirror/modules
git clone https://github.com/dathbe/MMM-MyStandingsDependencies:
- None!
cd ~/MagicMirror/modules/MMM-MyStandings
git pullAdd MMM-MyStandings module to the modules array in the config/config.js file. The following example config shows a minimal configuration option. More options are described below.
{
module: "MMM-MyStandings",
position: "top_right",
config: {
rotateInterval: 2 * 60 * 1000, // every 2 minutes
sports: [
// See below in the README for different league and group options
{ league: "WNBA", groups: ["Women's National Basketball Assoc."] },
{ league: "MLB", groups: ["NL Wild Card"] },
{ league: "NCAAF", groups: ["Big Ten Conference", "Conference USA"] },
{ league: "NCAAF Rankings", groups: ["AFCA Coaches Poll"] },
{ league: "English Premier League" },
{ league: "FIFA World Cup", groups: ["Group C", "Group E"] }
]
}
},| Option | Description |
|---|---|
| sports | The leagues and groups (i.e., divisions, conferences, or other combinations) you would like to display. See below for the various options. Type: array of dicts Default value: A random combination that gives a flavor of what the module can do. |
| updateInterval | Time in milliseconds to update data from ESPN Type: int Default value: 2 * 60 * 60 * 1000 (every 2 hours) |
| rotateInterval | Time in milliseconds to rotate through the leagues or divisions Type: int Default value: 1 * 60 * 1000 (every 1 minute) |
| nameStyle | Display abbreviation (e.g., "TOR"), full name (e.g., "Toronto Blue Jays"), or short name (e.g., "Blue Jays") for the team Type: string Options: abbreviation, full, or shortDefault value: short |
| showLogos | Display logos (true) or not (false) Type: boolean Default value: true |
| useLocalLogos | Display logos from folder if they are available (true) or displays all logos from the ESPN url (false)Type: boolean Default value: true |
| colored | Chooses whether to display the module in full color (true) or grayscale (false)Type: boolean Default value: true |
| coloredLogo | Chooses whether to display logos in full color (true) or grayscale (false). If colored property is true, this has no effect Type: boolean Default value: true |
| coloredHeader | Chooses whether to display headers in full color (true) or grayscale (false). If colored property is true, this has no effectType: boolean Default value: true |
| coloredRank | Chooses whether to display the ranks in full color (true) or grayscale (false). If colored property is true, this has no effectType: boolean Default value: true |
| showByDivision | Rotate through each division/group separately (true) or show all divisions/groups at once stacked on top of one another (false). Note that false only combines divisions of the same type. For example, in MLB, divisions will be grouped together, NL/AL leagues will be grouped together, playoffs will be grouped together, and wild cards will be grouped together.Type: boolean Default value: true |
| fadeSpeed | Time in milliseconds to fade in the module Type: int Default value: 2000 (2 seconds) |
| rankingLength | The number of teams to display when using NCAAF Rankings, NCAAM Rankings, NCAAW Rankings, or OlympicsType: int Default value: 25 |
| addLeagueToTitle | Adds the league name to the displayed table title Type: boolean Default value: true |
| highlightTeams | Allows table rows for specific teams to be highlighted. See below for options and formatting Type: array of dicts Default value: None |
For any league, select the groups you want to rotate through or no groups to rotate through all divisions (smallest level groups) in the league:
{ league: "MLB" }will rotate through all MLB divisions{ league: "English Premier League" }will display English Premier League overall standings (because there are no divisions/groups){ league: "NFL", groups: ["AFC East", "AFC North"] }will rotate between AFC East and AFC North{ league: "NBA", groups: ["Atlantic"] }will display only the Atlantic Division
Available NBA Groups (click to expand)
AtlanticCentralSoutheastNorthwestPacificSouthwest
Western ConferenceEastern Conference
National Basketball Association
Available WNBA Groups (click to expand)
Eastern ConferenceWestern Conference
Women's National Basketball Assoc.
Available NBA G League ("NBAG") Groups (click to expand)
Eastern ConferenceWestern Conference
NBA Development League
Available MLB Groups (click to expand)
American League EastAmerican League CentralAmerican League WestNational League EastNational League CentralNational League West
American LeagueNational League
Major League Baseball
AL Playoffs- will remove teams from standings when eliminated from the regular season playoff raceNL Playoffs- will remove teams from standings when eliminated from the regular season playoff raceAL Wild Card- will remove teams from standings when eliminated from the regular season wild card raceNL Wild Card- will remove teams from standings when eliminated from the regular season wild card race
Available NFL Groups (click to expand)
AFC EastAFC NorthAFC SouthAFC WestNFC EastNFC NorthNFC SouthNFC West
American Football ConferenceNational Football Conference
National Football League
AFC Playoffs- will remove teams from standings when eliminated from the regular season playoff raceNFC Playoffs- will remove teams from standings when eliminated from the regular season playoff race
Available CFL (Canadian Football League) Groups (click to expand)
West DivisionEast Division
Available NHL Groups (click to expand)
Atlantic DivisionMetropolitan DivisionCentral DivisionPacific Division
Western ConferenceEastern Conference
National Hockey League
West Playoffs- will remove teams from standings when eliminated from the regular season playoff raceEast Playoffs- will remove teams from standings when eliminated from the regular season playoff raceWest Wild Card- will remove teams from standings when eliminated from the regular season wild card raceEast Wild Card- will remove teams from standings when eliminated from the regular season wild card race
Available NCAA Football ("NCAAF" or "NCAAF Rankings") Groups (click to expand)
Use the league NCAAF
American Athletic ConferenceAtlantic Coast ConferenceBig 12 ConferenceBig Ten ConferenceConference USAFBS IndependentsMid-American ConferenceMountain West ConferencePac-12 ConferenceSoutheastern ConferenceSun Belt - EastSun Belt - West
Use the league NCAAF Rankings
AP Top 25AFCA Coaches PollFCS Coaches PollAFCA Division II Coaches PollAFCA Division III Coaches Poll
Available NCAA Men's Basketball ("NCAAM" or "NCAAM Rankings") Groups (click to expand)
Use the league NCAAM
America East ConferenceAmerican Athletic ConferenceAtlantic 10 ConferenceAtlantic Coast ConferenceASUN ConferenceBig 12 ConferenceBig East ConferenceBig Sky ConferenceBig South ConferenceBig Ten ConferenceBig West ConferenceColonial Athletic AssociationConference USAHorizon LeagueIvy LeagueMetro Atlantic Athletic ConferenceMid-American ConferenceMid-Eastern Athletic ConferenceMissouri Valley ConferenceMountain West ConferenceNortheast ConferenceOhio Valley ConferencePatriot LeagueSoutheastern ConferenceSouthern ConferenceSouthland ConferenceSouthwestern Athletic ConferenceSummit LeagueSun Belt ConferenceWest Coast ConferenceWestern Athletic Conference
Use the league NCAAM Rankings
AP Top 25Coaches Poll
Available NCAA Women's Basketball ("NCAAW" or "NCAAW Rankings") Groups (click to expand)
Use the league NCAAW
ASUN ConferenceAmerica East ConferenceAmerican Athletic ConferenceAtlantic 10 ConferenceAtlantic Coast ConferenceBig 12 ConferenceBig East ConferenceBig Sky ConferenceBig South ConferenceBig Ten ConferenceBig West ConferenceColonial Athletic AssociationConference USAHorizon LeagueIvy LeagueMetro Atlantic Athletic ConferenceMid-American ConferenceMid-Eastern Athletic ConferenceMissouri Valley ConferenceMountain West ConferenceNortheast ConferenceOhio Valley ConferencePatriot LeagueSoutheastern ConferenceSouthern ConferenceSouthland ConferenceSouthwestern Athletic ConferenceSummit LeagueSun Belt ConferenceWest Coast ConferenceWestern Athletic Conference
Use the league NCAAW Rankings
AP Top 25Coaches Poll
Available Olympics groups (click to expand)
Total- overall medal countGoldSilverBronze
Available Soccer Leagues (click to expand)
These are LEAGUES, not GROUPS
For any soccer league that does not have any groups, you should list only the league (e.g., { league: "English Premier League" }). If the soccer league does have groups, listing just the league will rotate through all groups (e.g., { league: "FIFA World Cup" }). Or you can list the groups you would like to display.
AFC Champions League TwoAFC Asian Cup QualifiersASEAN ChampionshipAfrica Cup of NationsAfrica Cup of Nations QualifyingAfrican Nations ChampionshipCopa AméricaFIFA Club World CupFIFA Confederations CupMen's Olympic Soccer TournamentWomen's Olympic Soccer TournamentFIFA Women's World CupFIFA World CupFIFA World Cup Qualifying - AFCFIFA World Cup Qualifying - CAFFIFA World Cup Qualifying - ConcacafFIFA World Cup Qualifying - CONMEBOLFIFA World Cup Qualifying - OFCFIFA World Cup Qualifying - UEFAFIFA Under-17 World CupFIFA Under-20 World CupUEFA Champions LeagueUEFA Conference LeagueUEFA Europa LeagueUEFA European ChampionshipUEFA European Championship QualifyingUEFA European Under-19 ChampionshipUEFA European Under-21 ChampionshipUEFA Nations LeagueSAFF ChampionshipUEFA Women's European Championship
English League ChampionshipEnglish EFL TrophyEnglish League OneEnglish League TwoEnglish National LeagueEnglish Premier LeagueIrish Premier DivisionNorthern Irish PremiershipScottish League CupScottish ChampionshipScottish League OneScottish League TwoScottish PremiershipWelsh Premier LeagueEnglish Women's Super League
Austrian BundesligaBelgian Pro LeagueDanish SuperligaSpanish LALIGASpanish LALIGA 2French Ligue 1French Ligue 2German 2. BundesligaGerman BundesligaGreek Super LeagueIsraeli Premier LeagueItalian Serie AItalian Serie BMaltese Premier LeagueDutch Keuken Kampioen DivisieDutch EredivisieNorwegian EliteserienPortuguese Primeira LigaRomanian Liga 1Russian Premier LeagueSwiss Super LeagueSwedish AllsvenskanTurkish Super Lig
Copa ArgentinaArgentine Nacional BArgentine Primera BArgentine Primera CArgentine Primera DArgentine Liga Profesional de FútbolBolivian Liga ProfesionalBrazilian Campeonato CariocaBrazilian Campeonato GauchoBrazilian Campeonato MineiroBrazilian Campeonato PaulistaBrazilian Serie ABrazilian Serie BBrazilian Serie CChilean Primera DivisiónColombian Primera AColombian Primera BCONMEBOL LibertadoresCONMEBOL SudamericanaLigaPro EcuadorParaguayan Primera DivisiónPeruvian Liga 1Liga UAF UruguayaVenezuelan Primera División
Concacaf Gold CupConcacaf Nations LeagueConcacaf Nations League QualifyingConcacaf W ChampionshipCosta Rican Primera DivisionGuatemalan Liga NacionalHonduran Liga NacionalJamaican Premier LeagueMexican Liga de Expansión MXMexican Copa MXMexican Liga BBVA MXSalvadoran Primera DivisionNCAA Men's SoccerNCAA Women's SoccerMLSNorth American Soccer LeagueNWSLU.S. Open CupUSL Championship
AFC Champions League EliteAustralian A-League MenAustralian A-League WomenChinese Super LeagueIndonesian Liga 1Indian I-LeagueIndian Super LeagueJapanese J.LeagueMalaysian Super LeagueSingaporean Premier LeagueThai League 1
CAF Champions LeagueCAF Confederation CupGhanaian Premier LeagueKenyan Premier LeagueNigerian Professional LeagueSouth African First DivisionSouth African Premier DivisionUgandan Premier LeagueZambian Super LeagueZimbabwean Premier Soccer League
Available Aussie Football, Lacrosse, & Rugby Leagues (click to expand)
These are LEAGUES, not GROUPS
AFL- Australian Football League
PLL- Premier Lacrosse LeagueNLL- National Lacrosse League
Premiership RugbyRugby World CupSix Nations RugbyThe Rugby ChampionshipEuropean Rugby Champions CupUnited Rugby ChampionshipSuper Rugby PacificOlympic Men's 7s RugbyOlympic Women's Rugby SevensInternational Test Match RugbyURBA Top 12 RugbyMitre 10 Cup Rugby
You can add your own custom personal logos into the logos_custom folder, and they will not be disturbed when you update the module. Specific guidance can be found here. (But if you have a logo that you think should be added for all users, please share it by opening an issue.)
The highlightTeams property allows you to highlight specific team/league combinations.
highlightTeams is a list of dicts. The required keys are as follows:
league: The league of the team you want to highlight. Matches the league value from thesportsproperty.teamAbbreviation: The team that you want to highlight. Matches theabbreviationvalue for the team.
The row for each specified team will have a new class applied in the format highlight-league-teamAbbreviation (example: highlight-nhl-nyi for NHL's New York Islanders)
In order to apply highlighting, you can add an entry to custom.css for the class. Alternatively, you can specify the background and foreground (font) colors using additional dict keys:
bgColor: The color to use for highlighting the row. Use hex codes (#000000)fgColor: The color to use for the text in the row. Use hex codes (#FFFFFF)
Example:
config: {
highlightTeams: [
{ league: "NHL", teamAbbreviation: "PIT", bgColor: "#FCB514", fgColor: "#000000" }, //apply the bg and fg color directly
{ league: "NFL", teamAbbreviation: "NYG"}, //must include an entry in custom.css for the class highlight-nfl-nyg
]
}
There are several ways to display standings for a given league only at certain times of year (e.g., hiding it when the league is not in season). You could use a separate module such as MMM-ModuleScheduler, which can display or hide an entire module instance based on your schedule.
Another way to do it is to dynamically create a module with the desired leagues based on the date by adding some javascript to your config.js file, as offered by user mikeyounge in this discussion thread.
If you find any problems, bugs or have questions, please open a GitHub issue in this repository.
Pull requests are of course also very welcome 🙂
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
You will need to first install the dev dependencies:
cd ~/MagicMirror/modules/MMM-MyStandings
git switch development
npm installPlease create all PRs against the development branch for testing and eventual merging into master.
node --run lint- Run linting checks.node --run lint:fix- Fix automatically fixable linting errors.
This project is licensed under the MIT License - see the LICENSE file for details.
Special thank you to vincep5, who created the original version of this module and did most of the work.
