/MMM-crypto-portfolio

An extended version of MMM-cryptocurrency

Primary LanguageJavaScriptMIT LicenseMIT

MMM-crypto-portfolio

A MagicMirror module used to get real-time values of crypto currencies.

This module is orginally made By Matteo Danelli, many thanks for his great work. I have adapted it to show the portfolio and assets.

Installation

  1. Navigate into your MagicMirror's modules folder and execute git clone https://github.com/spoturdeal/MMM-crypto-portfolio.git.
  2. Add the module inside config.js placing it where you prefer ;)

Version

25th April 2018 Added Feathercoin and Nexus Logos

Config

Option Description
currency One or more currencies you want to display.
Type: multidimensional array
Options: bitcoin, ethereum, ripple, dash, bitcoin-gold, litecoin, iota, ethereum-classic, nem, stratis, bitcoin-cash, cardano, neo
Default: [{name:'bitcoin', portf: 1.2345678},{name:'ripple', portf: 1.688014},{name:'litecoin', portf: 0.382885},{name:'ethereum', portf: 3.771212}]
conversion The currency used to convert crypto currency value.
Type: string
Options: AUD, BRL, CAD, CHF, CNY, EUR, GBP, HKD, IDR, INR, JPY, KRW, MXN, RUB
Default: EUR
showUSD When using other currencies than USD. Value can also be shown in USD.
Type: boolean
Default: false
displayLongNames Option that show full name of the currency or the shortest version. (eg. Bitcoin/BTC ).
Type boolean
Default false
displayType Sets the display of the module.
Type: string
Options: detail, logo, logoWithChanges
Default: detail
showAssets Shows the value of your portfolio.
Type: boolean
Options: true, false
Default: true
showPortfolio Show the amount of the coin in your wallet.
Type: boolean
Options: true, false
Default: false
showAgainstBTC Show the BTC value of the coin.
Type: boolean
Options: true,false
Default: true
showTotalMarketCap Show the total market cap only in US$.
Type: boolean
Options: true,false
Default: false
logoHeaderText Defines the headline text if displayType: logo is set.
Type: string
Default: My Crypto portfolio
headers Possibility to show currency change in the last hour, day or week.
Type One of the following: change1h, change24h, change7d
Default None. All optionals.
significantDigits Total digits to use for rounding the price (including before and after decimal point).
Type number
Default 2
showGraphs Possibility to show currency graph over the last week in displayType: logo.
Type: boolean
Default false
coloredLogos Toggles white or colored logos displayType: logo.
Type: boolean
Default false
fontSize Dimension of price text. You can specify pixel values, em values or keywords.
Type: string
Options: xx-small, x-small, small, medium, large, x-large, xx-large
Default small
limit Number of currencies to download, according to CoinMarketCap ranking. Increase this value only if you cannot display a currency.
Type: string
Default 200
showLabels Show text labels.
Type: boolean
Options: true, false
Default true
logoPosition Set the position for the logo.
Type: string
Options: front, middle, back
Default front
graphPosition Set the position for the graphic.
Type: string
Options: front, back
Default back

Here is an example of an entry in config.js

{
	module: "MMM-crypto-portfolio",
	position: "top_right",   // see mirror setting for options
	config: {          // this is changed from Mateo`s Version
		           // enter currency as pairs (name is the coin and portf how much you own)
		currency: [{name: 'bitcoin',  portf:  1.2345678},
		           {name: 'ripple',   portf: 1.688014},
                           {name: 'litecoin', portf: 0.382885},
                           {name: 'ethereum', portf: 3.771212}],
		conversion: 'EUR',
		showPortfolio: true,    
                showAssets: true,       
		showAgainstBTC: true,      // only used in detail view
		showTotalMarketCap: false, // only used in detail view
		showUSD: false,
		fontSize: 'small',
		headers: ['change24h', 'change1h', 'change7d'],
		displayType: 'detail',   // or 'logoWithChanges',
		showGraphs: true,
		limit:100               // increase if your coin doesn't appear ther are more then 1000 
	}
}

Screenshots

Display type: details

Screenshot of detail mode

Display type: details

Screenshot of detail mode

Display type: logoWithChanges + showGraphs

Screenshot with logo changes and graphs

Cryptocurrency Logo

Logo provided only for the following currencies:

  • Bitcoin, Bitcoin cash, Bitcoin gold
  • Ethereum, Ethereum classic
  • Ripple
  • Stratis
  • Nem
  • Litecoin
  • Dash
  • Cardano
  • Eos
  • Iota
  • Monero
  • Neo
  • Stellar
  • Tron

Feel free to ask for support of your favorite currency. Else, just implement it (eg: to add Litecoin logo):

  • Add 'litecoin' to the currency module config
  • Create the logo (png, 50x50px)
  • Name the file litecoin.png
  • Put it in the /public/ black-white/ and colored directory of the module
  • Restart MagicMirror

Notes

Data provided by coinmarketcap.com.

  • Endpoints update every 5 minutes.

Contributors

Klizzy for translations and multiple currencies.

olexs for currencies graphs and significant digits.

Mateo For the fantastic base of this module. Check his module for extra config information.

Fontawesome Providing great graphical fonts.

Caziopei For Swedish translation.

The MIT License (MIT)

Copyright © 2018 SpoturDeal - Carl

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.