jalibu / mmm-jast Goto Github PK
View Code? Open in Web Editor NEWA minimalistic stock ticker based on Yahoo's finance API for the MagicMirror² platform.
License: MIT License
A minimalistic stock ticker based on Yahoo's finance API for the MagicMirror² platform.
License: MIT License
Platform (Hardware/OS): raspberry Pi 4
Node version: 14.17.0
MagicMirror version: 2.15.0
Module version: 2.1.0
Description of the issue: Doesn't scroll from screen end to end. Starts from the middle of the screen. I've selected the horizontal option and would like the ticker to start from the right end of the screen and scroll all the alway till the left end.
I have set the position as bottom bar.
My config code is
{
module: "MMM-Jast",
position: "bottom_bar",
config: {
maxWidth: "100%",
updateIntervalInSeconds: 300,
fadeSpeedInSeconds: 20, // Higher value: vertical -> faster // horizontal -> slower
scroll: "horizontal", // One of ["none", "vertical", "horizontal"]
useGrouping: false,
currencyStyle: "symbol", // One of ["code", "symbol", "name"]
showColors: true,
showCurrency: true,
showChangePercent: true,
showChangeValue: false,
showChangeValueCurrency: false,
showDepot: false,
showDepotGrowthPercent: false,
showDepotGrowth: false,
numberDecimalsValues: 2,
numberDecimalsPercentages: 1,
stocks: [
{ name: "BASF", symbol: "BAS.DE", quantity: 10 },
{ name: "SAP", symbol: "SAP.DE", quantity: 15 },
{ name: "Henkel", symbol: "HEN3.DE" },
{ name: "Alibaba", symbol: "BABA"}
]
}
},
Observations after some more R&D:
When screen orientation is set to vertical. The scroll happens from screen end to end . That's what I want .
But when the screen/monitor orientation is horizontal then the scrolling happens from centre of screen to left .
Hey everyone! I need some help on this one. It’s been a while since I’ve had any issues with my magic mirror until very recently when I noticed that my stocks (MMM-Jast) module was stuck on “loading.” I’ve tried uninstalling and reinstalling the module as well as reboot the pi as well. No dice. After further investigation I looked at the logs and noticed a few things. Before going any further please note the picture below that shows the module actually functioning. Out of the 10 stocks shown, the first 7 are cryptocurrencies. Now, when you look at the logs you’ll see ERROR: there was an error requesting the API. Failed yahoo schema validation. They all appear to be from “coinmarketcaplink” which would point to crypto as well. Troubleshooting along this line of thinking I removed all seven of the crypto currencies from the confect that JS file and just left apple, Tesla and AMC. Still stuck on loading so now I’m thinking it’s not crypto based?! How does one change the yahoo API if it changed or what else do you guys and girls think it could be!?
Raspberry PI OS
v14.18.1
latest
v2.17.1
I can't get to display EURRON=X for some reason, but I can get EURUSD=X.
Is this some sort of bug?
No response
No response
No response
everything loads properly, except the EURRON=X call
No response
{
module: "MMM-Jast",
position: "bottom_left",
config: {
maxWidth: "100%",
updateIntervalInSeconds: 300,
fadeSpeedInSeconds: 3.5,
scroll: "none", // One of ["none", "vertical", "horizontal"]
useGrouping: false,
currencyStyle: "symbol", // One of ["code", "symbol", "name"]
lastUpdateFormat: "HH:mm",
showColors: true,
showCurrency: true,
showChangePercent: true,
showChangeValue: false,
showChangeValueCurrency: false,
showLastUpdate: true,
showPortfolioValue: false,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: false,
numberDecimalsValues: 2,
numberDecimalsPercentages: 1,
virtualHorizontalMultiplier: 2,
stocks: [
{ name: "GME", symbol: "GME"},
{ name: "BTC", symbol: "BTC-USD"},
{ name: "EUR", symbol: "EURRON=X"},
{ name: "ETN", symbol: "ETN-USD"}
]
}
No response
No response
v10.16.0
v2.8.0
v2.8.0
Seeing this error message in log.
0|MagicMirror | App threw an error during load
0|MagicMirror | TypeError: i.log is not a function
0|MagicMirror | at Class.start (/home/pi/MagicMirror/modules/MMM-Jast/node_helper.js:29:462)
0|MagicMirror | at /home/pi/MagicMirror/js/app.js:225:18
0|MagicMirror | at new Server (/home/pi/MagicMirror/js/server.js:74:3)
0|MagicMirror | at /home/pi/MagicMirror/js/app.js:218:18
0|MagicMirror | at loadNextModule (/home/pi/MagicMirror/js/app.js:167:5)
0|MagicMirror | at /home/pi/MagicMirror/js/app.js:162:6
0|MagicMirror | at Class.loaded (/home/pi/MagicMirror/modules/node_modules/node_helper/index.js:19:3)
0|MagicMirror | at loadModule (/home/pi/MagicMirror/js/app.js:143:6)
0|MagicMirror | at loadNextModule (/home/pi/MagicMirror/js/app.js:160:5)
0|MagicMirror | at /home/pi/MagicMirror/js/app.js:162:6
No response
No response
No response
No response
usign the basic config file which is mentioned in the readme file
No response
Raspberry Pi OS Bullseye 64-bit
16.13.1
2.18.0
When the module is enabled, the CPU consumption almost double, MagicMirror is running within a Docker container with OpenGL acceleration.
No response
No response
Does the fadeSpeedInSeconds
option could be the culprit?
No response
{
module: "MMM-Jast",
disable: true,
position: "bottom_bar",
config: {
maxWidth: "100%",
updateIntervalInSeconds: 300,
fadeSpeedInSeconds: 25,
scroll: "horizontal", // One of ["none", "vertical", "horizontal"]
useGrouping: false,
currencyStyle: "code", // One of ["code", "symbol", "name"]
lastUpdateFormat: "HH:mm",
showColors: true,
showCurrency: true,
showChangePercent: true,
showChangeValue: false,
showChangeValueCurrency: false,
showLastUpdate: false,
showPortfolioValue: false,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: false,
numberDecimalsValues: 2,
numberDecimalsPercentages: 1,
virtualHorizontalMultiplier: 2,
stocks: [
{ name: "SYM0", symbol: "SYM0", quantity: 50 },
{ name: "SYM2", symbol: "SYM1", quantity: 200 },
{ name: "SYM2", symbol: "SYM2", quantity: 266 }
]
}
},
No response
Hello,
the module is great! Unfortunately i can't get it to scroll across the full screen. It just stops at around a third of the screen. Sometimes it's aligned right, sometimes it's aligned left. Max width doesn't change that.
Fix would be appreciated, because it's the only stock module that supports EUR stocks as well.
Kind regards
Raspbian GNU/Linux 11 (bullseye)
v14.21.1
2.21.0
v2.8.0 - 1cc458d
I'm trying to use the module in horizontal mode. At the default fadeSpeedInSeconds of 3.5 the text just zips across the screen in an unreadable blur. I was finally able to get it to a readable speed at a value of 10000 but by that point it spends so much time "between scrolls" that it might as well not be in the config at all. Additionally its presence makes the news ticker on the bottom bar really jitterry on scrolling.
// { // Commented because the scrolling is causing issues with the bottom scroller
// module: "MMM-Jast", //https://github.com/jalibu/MMM-Jast
// position: "top_bar",
// config: {
// currencyStyle: "symbol", // One of ["code", "symbol", "name"]
// fadeSpeedInSeconds: 10000,
// lastUpdateFormat: "HH:mm",
// maxChangeAge: 1 * 24 * 60 * 60 * 1000,
// maxWidth: "100%",
// numberDecimalsPercentages: 1,
// numberDecimalsValues: 2,
// scroll: "none", // One of ["none", "vertical", "horizontal"]
// showColors: true,
// showCurrency: true,
// showChangePercent: true,
// showChangeValue: true,
// showChangeValueCurrency: false,
// showHiddenStocks: false,
// showLastUpdate: false,
// showPortfolioValue: true,
// showPortfolioGrowthPercent: false,
// showPortfolioGrowth: true,
// updateIntervalInSeconds: 300,
// useGrouping: true,
// virtualHorizontalMultiplier: 2,
// stocks: [
// { name: "Clearwater Analytics", symbol: "CWAN", quantity: xxxx },
// { name: "Costco", symbol: "COST", quantity: 0 },
// { name: "Oracle", symbol: "ORCL", quantity: 0 },
// { name: "Google", symbol: "GOOG", quantity: 0}
// ]
// }
// },
The scrolling should be at a reasonable rate so as to be visible the majority of the time while also being readable when on screen.
Additionally it shouldn't be causing other modules to have issues. I understand the Pi's processor is somewhat limited, but this doesn't feel right.
At default speed the text is unreadable as it flashes across the screen.
At a speed of 10000 the top bar is usually empty but the text is actually readable when it does appear.
The bottom news ticker (MMM-Reddit-News-Ticker) is jittery when scrolling.
I think a workable solution would be a static scroll mode similar to 'none' but in a horizontal orientation.
I'd branch it myself but I just plain don't know js or node.
MagicMirror/config/config.js
file (uncommented, of course).pm2 start mm
or pm2 restart mm
.Hardware: Raspberry Pi 3B
Modules running: (in this order)
- clock - top_left
- calendar - top_left (2 calendars running, minimal events showing (1 currently))
- MMM-XKCD - top_left
- MMM-CyberSecurity-News - bottom_left (2 articles) (feed changed to another rss feed though)
- weather - top_right - type: current
- MMM-AQI - top_right
- weather - bottom_right - type: forecast
- MMM-Jast - top_bar
- MMM-Reddit-News-Ticker - bottom_bar
With mm running with all the above modules, pm2 reports 0% CPU usage and 2.8mb memory usage.
22:45:07 up 19 days, 3:47, 4 users, load average: 1.86, 2.00, 2.07
/* MagicMirror² Config Sample
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*
* For more information on how you can configure this file
* see https://docs.magicmirror.builders/configuration/introduction.html
* and https://docs.magicmirror.builders/modules/configuration.html
*/
let config = {
address: "0.0.0.0", // Address to listen on, can be:
// - "localhost", "127.0.0.1", "::1" to listen on loopback interface
// - another specific IPv4/6 to listen on a specific interface
// - "0.0.0.0", "::" to listen on any interface
// Default, when address config is left out or empty, is "localhost"
port: 8080,
basePath: "/", // The URL path where MagicMirror² is hosted. If you are using a Reverse proxy
// you must set the sub path here. basePath must end with a /
ipWhitelist: ["127.0.0.1", "192.168.10.0/24", "::ffff:127.0.0.1", "::1"], // Set [] to allow all IP addresses
// or add a specific IPv4 of 192.168.1.5 :
// ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"],
// or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
// ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"],
useHttps: false, // Support HTTPS or not, default "false" will use HTTP
httpsPrivateKey: "", // HTTPS private key path, only require when useHttps is true
httpsCertificate: "", // HTTPS Certificate path, only require when useHttps is true
language: "en",
locale: "en-US",
logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging
timeFormat: 24,
units: "imperial",
// serverOnly: true/false/"local" ,
// local for armv6l processors, default
// starts serveronly and then starts chrome browser
// false, default for all NON-armv6l devices
// true, force serveronly mode, because you want to.. no UI on this device
modules: [
{
module: "alert",
},
// {
// module: "updatenotification",
// position: "top_bar"
// },
{
module: "clock",
position: "top_left",
clockBold: "true",
showSunTimes: "true"
},
{
module: "calendar",
header: "Brian's Calendar",
position: "top_left",
config: {
fade: "false",
fadePoint: "1",
maximumNumberOfDays: "7",
calendars: [
{
symbol: "calendar-check",
color: "FF0000",
url: "webcal://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics"
},
{
symbol: "cat",
url: "<REDACTED>"
}
]
}
},
{
module: "MMM-XKCD", //https://github.com/jupadin/MMM-XKCD
position: "top_left",
config: {
header: "xkcd",
updateInterval: 10 * 60 * 60 * 1000,
grayScale: false,
invertColors: false,
limitComicWidth: 400,
limitComicHeight: 0,
randomComic: true,
alwaysRandom: false,
showTitle: true,
}
},
{
module: "MMM-CyberSecurityNews",
position: "bottom_left",
header: "https://www.darkreading.com",
config: {
numberOfArticles: 2
}
},
{
module: "weather",
position: "top_right",
config: {
weatherProvider: "openweathermap",
type: "current",
units: "imperial",
timeFormat: "24",
locationID: "<REDACTED>",
apiKey: "<REDACTED>"
}
},
{
module: "MMM-AQI",
position: "top_right",
header: 'Air Quality Index (AQI)',
config: {
token: "<REDACTED>",
city: "<REDACTED>",
iaqi: true,
updateInterval: 30 * 60 * 1000, // 30 minutes
initialLoadDelay: 0,
animationSpeed: 1000,
debug: false
}
},
{
module: "weather",
position: "bottom_right",
config: {
weatherProvider: "openweathermap",
type: "forecast",
colored: "true",
weatherEndpoint: "/forecast",
locationID: "<REDACTED>",
apiKey: "<REDACTED>",
fade: "false",
fadePoint: "1"
}
},
{ // Commented because the scrolling is causing issues with the bottom scroller
module: "MMM-Jast", //https://github.com/jalibu/MMM-Jast
position: "top_bar",
config: {
currencyStyle: "symbol", // One of ["code", "symbol", "name"]
fadeSpeedInSeconds: 10000,
lastUpdateFormat: "HH:mm",
maxChangeAge: 1 * 24 * 60 * 60 * 1000,
maxWidth: "100%",
numberDecimalsPercentages: 1,
numberDecimalsValues: 2,
scroll: "vertical", // One of ["none", "vertical", "horizontal"]
showColors: true,
showCurrency: true,
showChangePercent: true,
showChangeValue: true,
showChangeValueCurrency: false,
showHiddenStocks: false,
showLastUpdate: false,
showPortfolioValue: true,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: true,
updateIntervalInSeconds: 300,
useGrouping: true,
virtualHorizontalMultiplier: 2,
stocks: [
{ name: "Clearwater Analytics", symbol: "CWAN", quantity: xxxx },
{ name: "Costco", symbol: "COST", quantity: 0 },
{ name: "Oracle", symbol: "ORCL", quantity: 0 },
{ name: "Google", symbol: "GOOG", quantity: 0}
]
}
},
{
module: "MMM-Reddit-News-Ticker",
position: "bottom_bar",
config: {
client_id: "<REDACTED>",
secret: "<REDACTED>"
}
}
]
};
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") {module.exports = config;}
No response
Raspberry Pi OS
16.13.2
2.18.0
v.2.6.0
Prices from London come from Yahoo in pence, but are displayed in pounds. For example; Lloyds.L is 52.14p but shows as £52.14.
Lloyds (LLOY.L) price should be £0.5214 (4dp configured)
Lloyds prices show as £52.14
No response
configure a stock entry as:
{ name: "Lloyds", symbol: "LLOY.L"}
No response
/* Magic Mirror Config Sample
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*
* For more information on how you can configure this file
* see https://docs.magicmirror.builders/getting-started/configuration.html#general
* and https://docs.magicmirror.builders/modules/configuration.html
*/
let config = {
address: "localhost", // Address to listen on, can be:
// - "localhost", "127.0.0.1", "::1" to listen on loopback interface
// - another specific IPv4/6 to listen on a specific interface
// - "0.0.0.0", "::" to listen on any interface
// Default, when address config is left out or empty, is "localhost"
port: 8080,
basePath: "/", // The URL path where MagicMirror is hosted. If you are using a Reverse proxy
// you must set the sub path here. basePath must end with a /
ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], // Set [] to allow all IP addresses
// or add a specific IPv4 of 192.168.1.5 :
// ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"],
// or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
// ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"],
useHttps: false, // Support HTTPS or not, default "false" will use HTTP
httpsPrivateKey: "", // HTTPS private key path, only require when useHttps is true
httpsCertificate: "", // HTTPS Certificate path, only require when useHttps is true
language: "en",
locale: "en-GB",
logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging
timeFormat: 24,
units: "metric",
// serverOnly: true/false/"local" ,
// local for armv6l processors, default
// starts serveronly and then starts chrome browser
// false, default for all NON-armv6l devices
// true, force serveronly mode, because you want to.. no UI on this device
modules: [
{
module: "alert",
},
{
module: "updatenotification",
position: "top_bar"
},
{
module: "clock",
position: "top_left"
},
{
module: "MMM-Jast",
position: "bottom",
config: {
maxWidth: "100%",
updateIntervalInSeconds: 300,
fadeSpeedInSeconds: 40,
scroll: "horizontal", // One of ["none", "vertical", "horizontal"]
useGrouping: false,
currencyStyle: "symbol", // One of ["code", "symbol", "name"]
lastUpdateFormat: "HH:mm",
showColors: true,
showCurrency: true,
showChangePercent: true,
showChangeValue: true,
showChangeValueCurrency: false,
showLastUpdate: false,
showPortfolioValue: true,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: false,
numberDecimalsValues: 2,
numberDecimalsPercentages: 1,
virtualHorizontalMultiplier: 2,
stocks: [
{ name: "Lloyds", symbol: "LLOY.L" },
]
}
},
{
module: "calendar",
header: "US Holidays",
position: "top_left",
config: {
calendars: [
{
symbol: "calendar-check",
url: "webcal://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics"
}
]
}
},
]
};
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") {module.exports = config;}
No response
Raspberry Pi OS
16.13.1
2.18.0
2.6.0
Having issues with the default module of ‘currentweather’. This MMM-Jast module makes my currentweather module disappear. It loads, then as soon as MMM-Jast loads, currentweather disappears. As soon as I remove MMM-Jast from the config, then currentweather works again.
However there have been instances where the 2 do work in unisen, maybe 1 out of 10 goes. So not sure what the problem is here.
currentweather module & MMM-Jast should work at the same time
currentweather module & MMM-Jast do not work at the same time all the time
Sorry. no idea
pm2 start mm.sh
No response
/* Magic Mirror Config Sample
*
* By Michael Teeuw http://michaelteeuw.nl
* MIT Licensed.
*
* For more information how you can configurate this file
* See https://github.com/MichMich/MagicMirror#configuration
*
*/
var config = {
address: "0.0.0.0", // Address to listen on, can be:
// - "localhost", "127.0.0.1", "::1" to listen on loopback interface
// - another specific IPv4/6 to listen on a specific interface
// - "", "0.0.0.0", "::" to listen on any interface
// Default, when address config is left out, is "localhost"
port: 8090,
ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], // Set [] to allow all IP addresses
// or add a specific IPv4 of 192.168.1.5 :
// ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"],
// or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
// ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"],
language: "en",
timeFormat: 24,
units: "metric",
modules: [
{
module: "alert",
},
{
module: "clock",
position: "top_left"
},
{
module: "calendar",
header: "Calendar",
position: "top_left",
config: {
calendars: [
{
symbol: "calendar-check",
url: ""
},
{
symbol: "calendar-check",
url: ""
}
]
}
},
{
module: "currentweather",
position: "top_left",
config: {
location:
locationID: //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
appid: ""
}
},
{
module: "weatherforecast",
position: "top_left",
header: "Weather Forecast",
config: {
location:
locationID: //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
appid:
}
},
{
module: "MMM-Jast",
position: "top_left",
config: {
maxWidth: "100%",
updateIntervalInSeconds: 10,
fadeSpeedInSeconds: 3.5,
scroll: "vertical", // One of ["none", "vertical", "horizontal"]
useGrouping: false,
currencyStyle: "code", // One of ["code", "symbol", "name"]
lastUpdateFormat: "HH:mm",
showColors: true,
showCurrency: true,
showChangePercent: true,
showChangeValue: true,
showChangeValueCurrency: false,
showLastUpdate: true,
showPortfolioValue: true,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: false,
numberDecimalsValues: 3,
numberDecimalsPercentages: 1,
virtualHorizontalMultiplier: 2,
stocks: [
{ name: "EFE", symbol: "EFE.AX", quantity: 100000 },
{ name: "IBX", symbol: "IBX.AX", quantity: 250000 },
{ name: "LOT", symbol: "LOT.AX", quantity: 3499 },
{ name: "MNS", symbol: "MNS.AX", quantity: 3326 },
{ name: "NDQ", symbol: "NDQ.AX", quantity: 242 }
]
}
},
{
disabled: false,
module: "MMM-OneTracker",
position: "top_left",
config: {
username: // Sign up for free using the OneTracker App
password:
useHeader: true, // false if you don't want a header
header: 'My Packages', // Change in config file. useHeader must be true
maxWidth: '300px',
animationSpeed: 3000, // fade speed
initialLoadDelay: 3250,
retryDelay: 2500,
updateInterval: 10 * 60 * 1000, // 10 minutes
apiLanguage: 'en',
maxParcels: 5,
}
},
{
module: "MMM-NowPlayingOnSpotify",
position: "top_left",
config: {
clientID:
clientSecret:
accessToken: -
refreshToken:
}
},
]
};
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") {module.exports = config;}
No response
Raspberry Pi OS
v16.13.1
2.17.1
v.2.6.0
First, Thank you for write this module, its really make us much easier to enjoy magic mirror. However, I need you help now, I am not good at JS, so I cannot fix it by myself.
The problem is when I setup the module as the readme write. And I got the error message like
API request for AMZN failed: invalid json response body at
https://query2.finance.yahoo.com/v10/finance/quoteSummary/AMZN?formatted=false&modules=price
reason: Unexpected token < in JSON at position 0
I guess, it's something wrong with the decoding of the response into json, so I check the resposne. Its seems ok
{
"quoteSummary":{
"result":[
{
"price":{
"maxAge":1,
"preMarketSource":"FREE_REALTIME",
"postMarketChangePercent":-9.25174E-4,
"postMarketChange":-0.109901,
"postMarketTime":1640998794,
"postMarketPrice":118.68,
"postMarketSource":"FREE_REALTIME",
"regularMarketChangePercent":-0.034149095,
"regularMarketChange":-4.199997,
"regularMarketTime":1640984442,
"priceHint":2,
"regularMarketPrice":118.79,
"regularMarketDayHigh":122.91,
"regularMarketDayLow":118.59,
"regularMarketVolume":24024133,
"regularMarketPreviousClose":122.99,
"regularMarketSource":"DELAYED",
"regularMarketOpen":121.23,
"exchange":"NYQ",
"exchangeName":"NYSE",
"exchangeDataDelayedBy":0,
"marketState":"CLOSED",
"quoteType":"EQUITY",
"symbol":"BABA",
"underlyingSymbol":null,
"shortName":"Alibaba Group Holding Limited",
"longName":"Alibaba Group Holding Limited",
"currency":"USD",
"quoteSourceName":"Nasdaq Real Time Price",
"currencySymbol":"$",
"fromCurrency":null,
"toCurrency":null,
"lastMarket":null,
"marketCap":331230478336
}
}
],
"error":null
}
}
So, I guess its only need to check the decode part. Hope you can fix this ASAP. Thanks a lot.
PS. Happy new year !
Hope the module can show the info
just keep loading and show me some warning which I think it should be a error. Like I report above.
the decoding part of handling the response from the third part financial API.
[WARN] API request for BABA failed: invalid json response body at https://query2.finance.yahoo.com/v10/finance/quoteSummary/BABA?formatted=false&modules=price reason: Unexpected token < in JSON at position 0
{
module: "MMM-Jast",
position: "top_left",
config: {
maxWidth: "100%",
updateIntervalInSeconds: 300,
fadeSpeedInSeconds: 3.5,
scroll: "vertical", // One of ["none", "vertical", "horizontal"]
useGrouping: false,
currencyStyle: "code", // One of ["code", "symbol", "name"]
lastUpdateFormat: "HH:mm",
showColors: true,
showCurrency: true,
showChangePercent: true,
showChangeValue: false,
showChangeValueCurrency: false,
showLastUpdate: false,
showPortfolioValue: false,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: false,
numberDecimalsValues: 2,
numberDecimalsPercentages: 1,
virtualHorizontalMultiplier: 2,
stocks: [
{ name: "apple", symbol: "AAPL", quantity: 10 },
{ name: "AMZN", symbol: "AMZN", quantity: 15 },
{ name: "TSLA", symbol: "TSLA" },
{ name: "Alibaba", symbol: "BABA"}
]
}
}
No response
I'm using the static config. it will be great to have header included to match the default module theme! I would like to add a header something like "Stocks". and a horizontal line and then the stock prices.
I'm not an expert in Java, so finding it little difficult to follow! I was hoping to add it in the MMM-Jast.js file, something like https://github.com/TeraTech/MMM-WiFiPassword/blob/master/MMM-WiFiPassword.js#L53.
But MMM-Jast.js format looks little different! Will appreciate some help here..
Libre Le Potato
16.20.0
2.23.0
(#3078)
attempting to launch my magic mirror (npm run start) The error message i get is:
[17.05.2023 20:35.24.752] [LOG] Launching application.
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to open kms_swrast: /usr/lib/dri/kms_swrast_dri.so: cannot open shared object file: Permission denied (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)
failed to load driver: kms_swrast
MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: cannot open shared object file: Permission denied (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)
failed to load swrast driver
How do i fix this problem?
Thanks, looking forward to using this module...
I guess kms_swrast should open
program errord out. Nothing below in the config file loaded
Either, kms_swrast is in the wrong place or absent ?
Just guessing, I am a novice at this.
Start MM
Error occurs on startup
other modules below this one in the config file do not load
complete log is:
potatoe@raspberrypi:~/MagicMirror $ npm run start
> [email protected] start
> DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js
[17.05.2023 20:35.23.358] [LOG] Starting MagicMirror: v2.23.0
[17.05.2023 20:35.23.374] [LOG] Loading config ...
[17.05.2023 20:35.23.382] [DEBUG] config template file not exists, no envsubst
[17.05.2023 20:35.23.396] [LOG] Loading module helpers ...
[17.05.2023 20:35.23.400] [LOG] No helper found for module: alert.
[17.05.2023 20:35.23.440] [LOG] Initializing new module helper ...
[17.05.2023 20:35.23.443] [LOG] Module helper loaded: updatenotification
[17.05.2023 20:35.23.447] [LOG] No helper found for module: clock.
[17.05.2023 20:35.24.113] [LOG] Initializing new module helper ...
[17.05.2023 20:35.24.117] [LOG] Module helper loaded: calendar
[17.05.2023 20:35.24.122] [LOG] No helper found for module: compliments.
[17.05.2023 20:35.24.125] [LOG] No helper found for module: weather.
[17.05.2023 20:35.24.196] [LOG] Initializing new module helper ...
[17.05.2023 20:35.24.197] [LOG] Module helper loaded: newsfeed
[17.05.2023 20:35.24.199] [LOG] All module helpers loaded.
[17.05.2023 20:35.24.232] [LOG] Starting server on port 8080 ...
[17.05.2023 20:35.24.681] [LOG] Server started ...
[17.05.2023 20:35.24.683] [LOG] Connecting socket for: updatenotification
[17.05.2023 20:35.24.685] [LOG] Starting module helper: updatenotification
[17.05.2023 20:35.24.687] [LOG] Connecting socket for: calendar
[17.05.2023 20:35.24.688] [LOG] Starting node helper for: calendar
[17.05.2023 20:35.24.690] [LOG] Connecting socket for: newsfeed
[17.05.2023 20:35.24.692] [LOG] Starting node helper for: newsfeed
[17.05.2023 20:35.24.693] [LOG] Sockets connected & modules started ...
[17.05.2023 20:35.24.752] [LOG] Launching application.
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to open kms_swrast: /usr/lib/dri/kms_swrast_dri.so: cannot open shared object file: Permission denied (search paths /usr/lib/aarch64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri)
failed to load driver: kms_swrast
MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: cannot open shared object file: Permission denied (search paths /usr/lib/aarch64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri)
failed to load swrast driver
[17.05.2023 20:35.29.627] [LOG] Create new calendarfetcher for url: http://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics - Interval: 300000
[17.05.2023 20:35.29.697] [LOG] Create new newsfetcher for url: https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml - Interval: 300000
[17.05.2023 20:35.29.759] [INFO] Checking git for module: MagicMirror
[17.05.2023 20:35.30.795] [INFO] Calendar-Fetcher: Broadcasting 9 events.
[17.05.2023 20:35.30.809] [INFO] Newsfeed-Fetcher: Broadcasting 26 items.
[17.05.2023 20:40.31.494] [INFO] Newsfeed-Fetcher: Broadcasting 26 items.
[17.05.2023 20:40.31.648] [INFO] Calendar-Fetcher: Broadcasting 9 events.
[17.05.2023 20:45.31.997] [INFO] Newsfeed-Fetcher: Broadcasting 26 items.
[17.05.2023 20:45.32.527] [INFO] Calendar-Fetcher: Broadcasting 9 events.
[17.05.2023 20:50.32.630] [INFO] Newsfeed-Fetcher: Broadcasting 28 items.
[17.05.2023 20:50.33.446] [INFO] Calendar-Fetcher: Broadcasting 9 events.
[17.05.2023 20:55.33.120] [INFO] Newsfeed-Fetcher: Broadcasting 28 items.
[17.05.2023 20:55.34.039] [INFO] Calendar-Fetcher: Broadcasting 9 events.
[17.05.2023 21:00.33.448] [INFO] Newsfeed-Fetcher: Broadcasting 28 items.
[17.05.2023 21:00.34.657] [INFO] Calendar-Fetcher: Broadcasting 9 events.
[17.05.2023 21:03.59.466] [LOG] Shutting down server...
[17.05.2023 21:03.59.468] [LOG] Stopping module helper: updatenotification
[17.05.2023 21:03.59.469] [LOG] Stopping module helper: calendar
[17.05.2023 21:03.59.470] [LOG] Stopping module helper: newsfeed
[17.05.2023 21:03.59.471] [LOG] Node_helpers stopped ...
/* MagicMirror² Config Sampl
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*
* For more information on how you can configure this file
* see https://docs.magicmirror.builders/configuration/introduction.html
*
*
* and https://docs.magicmirror.builders/modules/configuration.html
*
* You can use environment variables using a `config.js.template` file instead of `config.js`
* which will be converted to `config.js` while starting. For more information
* see https://docs.magicmirror.builders/configuration/introduction.html#enviromnent-variables
*/
let config = {
address: "localhost", // Address to listen on, can be:
// - "localhost", "127.0.0.1", "::1" to listen on loopback interface
// - another specific IPv4/6 to listen on a specific interface
// - "0.0.0.0", "::" to listen on any interface
// Default, when address config is left out or empty, is "localhost"
port: 8080,
basePath: "/", // The URL path where MagicMirror² is hosted. If you are using a Reverse proxy
// you must set the sub path here. basePath must end with a /
ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"],
// Set [] to allow all IP addresses // or add a specific IPv4 of 192.168.1.5 :
// ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"],
// or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
// ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"],
useHttps: false, // Support HTTPS or not, default "false" will use HTTP
httpsPrivateKey: "", // HTTPS private key path, only require when useHttps is true
httpsCertificate: "", // HTTPS Certificate path, only require when useHttps is true
language: "en",
locale: "en-US",
logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging
timeFormat: 12,
units: "imperial",
modules: [
{
module: "alert",
},
{
module: "updatenotification",
position: "top_bar"
},
{
module: "clock",
position: "top_left"
},
{
module: "calendar",
header: "US Holidays",
position: "top_left",
config: {
calendars: [
{
symbol: "calendar-check",
url: "webcal://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics"
}
]
}
},
{
module: "compliments",
position: "lower_third"
},
{
module: "weather",
position: "top_right",
config: {
weatherProvider: "openweathermap",
type: "current",
location: "Sparks",
locationID: "5512862", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
apiKey: "dabd18516f0c62f04966574fe2edd819"
}
},
{
module: "weather",
position: "top_right",
header: "Weather Forecast",
config: {
weatherProvider: "openweathermap",
type: "forecast",
location: "Sparks",
locationID: "5512862", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
apiKey: "dabd18516f0c62f04966574fe2edd819"
}
},
/* {
* module: "MMM-Jast",
* position: "bottom-right",
* config: {
* currencyStyle: "code", // One of ["code", "symbol", "name"]
* fadeSpeedInSeconds: 3.5,
* lastUpdateFormat: "HH:mm",
* maxChangeAge: 1 * 24 * 60 * 60 * 1000,
* maxWidth: "100%",
* numberDecimalsPercentages: 1,
* numberDecimalsValues: 2,
* scroll: "vertical", // One of ["none", "vertical", "horizontal"]
* showColors: true,
* showCurrency: true,
* showChangePercent: true,
* showChangeValue: false,
* showChangeValueCurrency: false,
* showHiddenStocks: false,
* showLastUpdate: false,
* showPortfolioValue: false,
* showPortfolioGrowthPercent: false,
* showPortfolioGrowth: false,
* updateIntervalInSeconds: 300,
* useGrouping: false,
* virtualHorizontalMultiplier: 2,
* stocks: [
* { name: "Dow Jones", symbol: "DJI'"},
* { name: "San Juan RT", symbol: "SJT"},
* { name: "Barrick", symbol: "GOLD"},
* { name: "Devon Energy", symbol: "DVN"},
* { name: "Alt Harvest", symbol: "MJ"}
* ]
* }
*/
{
module: "newsfeed",
position: "bottom_bar",
config: {
feeds: [
{
title: "New York Times",
url: "https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml"
}
],
showSourceTitle: true,
showPublishDate: true,
broadcastNewsFeeds: true,
broadcastNewsUpdates: true
}
},
]
};
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") {module.exports = config;}
No response
Raspbian GNU/Linux 11 (bullseye)
v16.16.0
2.20.0
v2.8.0
Module is working fine for some days - after that the data is not updated any more. Reboot of the Mirror brings back the function. Tried to find entries in the PM2 LOG but it only tells me when the Module was loaded first.
Data is constantly updated - Entry in mm-out.log "MMM-JAST-Fetcher: Values Updated"
Working for some days after that no updates of stock data - values stay constant without update
No response
Run for some days without reboot - data is not updated any more
pi@MagicMirror:~ $ pm2 log
[TAILING] Tailing last 15 lines for [all] processes (change the value with --lines option)
/home/pi/.pm2/pm2.log last 15 lines:
PM2 | 2022-09-06T20:42:12: PM2 log: PM2 version : 5.2.0
PM2 | 2022-09-06T20:42:12: PM2 log: Node.js version : 16.16.0
PM2 | 2022-09-06T20:42:12: PM2 log: Current arch : arm
PM2 | 2022-09-06T20:42:12: PM2 log: PM2 home : /home/pi/.pm2
PM2 | 2022-09-06T20:42:12: PM2 log: PM2 PID file : /home/pi/.pm2/pm2.pid
PM2 | 2022-09-06T20:42:12: PM2 log: RPC socket file : /home/pi/.pm2/rpc.sock
PM2 | 2022-09-06T20:42:12: PM2 log: BUS socket file : /home/pi/.pm2/pub.sock
PM2 | 2022-09-06T20:42:12: PM2 log: Application log path : /home/pi/.pm2/logs
PM2 | 2022-09-06T20:42:12: PM2 log: Worker Interval : 30000
PM2 | 2022-09-06T20:42:12: PM2 log: Process dump file : /home/pi/.pm2/dump.pm2
PM2 | 2022-09-06T20:42:12: PM2 log: Concurrent actions : 2
PM2 | 2022-09-06T20:42:12: PM2 log: SIGTERM timeout : 1600
PM2 | 2022-09-06T20:42:12: PM2 log: ===============================================================================
PM2 | 2022-09-06T20:42:12: PM2 log: App [mm:0] starting in -fork mode-
PM2 | 2022-09-06T20:42:12: PM2 log: App [mm:0] online
/home/pi/.pm2/logs/mm-error.log last 15 lines:
0|mm | [1320:0906/204253.338629:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
0|mm | [1373:0906/204253.844766:ERROR:gpu_memory_buffer_support_x11.cc(44)] dri3 extension not supported.
0|mm | [1347:0906/204253.936896:ERROR:command_buffer_proxy_impl.cc(126)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
/home/pi/.pm2/logs/mm-out.log:
> [email protected] start
> DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js
[06.09.2022 20:42.26.458] [LOG] Starting MagicMirror: v2.20.0
[06.09.2022 20:42.26.476] [LOG] Loading config ...
[06.09.2022 20:42.26.507] [LOG] Loading module helpers ...
[06.09.2022 20:42.26.519] [LOG] No helper found for module: alert.
[06.09.2022 20:42.26.524] [LOG] No helper found for module: clock.
[06.09.2022 20:42.27.312] [LOG] Initializing new module helper ...
[06.09.2022 20:42.27.317] [LOG] Module helper loaded: calendar
[06.09.2022 20:42.27.325] [LOG] No helper found for module: weather.
[06.09.2022 20:42.27.448] [LOG] Initializing new module helper ...
[06.09.2022 20:42.27.451] [LOG] Module helper loaded: newsfeed
[06.09.2022 20:42.27.470] [LOG] Initializing new module helper ...
[06.09.2022 20:42.27.496] [LOG] Module helper loaded: MMM-MoonPhase
[06.09.2022 20:42.29.512] [LOG] Initializing new module helper ...
[06.09.2022 20:42.29.514] [LOG] Module helper loaded: MMM-Jast
[06.09.2022 20:42.31.334] [LOG] Initializing new module helper ...
[06.09.2022 20:42.31.336] [LOG] Check MagicMirror² version for node helper 'MMM-Loxone' - Minimum version: 2.1.1 - Current version: 2.20.0
[06.09.2022 20:42.31.340] [LOG] Version is ok!
[06.09.2022 20:42.31.341] [LOG] Module helper loaded: MMM-Loxone
[06.09.2022 20:42.31.344] [LOG] All module helpers loaded.
[06.09.2022 20:42.43.777] [LOG] Starting server on port 8080 ...
[06.09.2022 20:42.43.834] [LOG] Server started ...
[06.09.2022 20:42.43.838] [LOG] Connecting socket for: calendar
[06.09.2022 20:42.43.840] [LOG] Starting node helper for: calendar
[06.09.2022 20:42.43.842] [LOG] Connecting socket for: newsfeed
[06.09.2022 20:42.43.845] [LOG] Starting node helper for: newsfeed
[06.09.2022 20:42.43.847] [LOG] Connecting socket for: MMM-MoonPhase
[06.09.2022 20:42.43.849] [LOG] Starting module helper: MMM-MoonPhase
[06.09.2022 20:42.43.853] [LOG] Connecting socket for: MMM-Jast
[06.09.2022 20:42.43.855] [LOG] MMM-Jast helper method started...
[06.09.2022 20:42.43.877] [LOG] Connecting socket for: MMM-Loxone
[06.09.2022 20:42.43.883] [LOG] Sockets connected & modules started ...
[06.09.2022 20:42.45.450] [LOG] Launching application.
[06.09.2022 20:42.59.378] [LOG] Create new calendarfetcher for url: http://localhost:8080/modules/calendars/.ics - Interval: 300000
[06.09.2022 20:42.59.421] [LOG] Create new newsfetcher for url: http://derStandard.at/?page=rss&ressort=Seite1 - Interval: 300000
[06.09.2022 20:42.59.434] [LOG] Create new newsfetcher for url: https://rss.orf.at/news.xml - Interval: 300000
[06.09.2022 20:43.00.168] [INFO] Newsfeed-Fetcher: Broadcasting 50 items.
[06.09.2022 20:43.00.784] [INFO] Calendar-Fetcher: Broadcasting 9 events.
[06.09.2022 20:43.03.755] [INFO] MMM-Loxone Opening Socket to your Miniserver
[06.09.2022 20:43.05.243] [LOG] MMM-Loxone Download LoxApp3.json
[06.09.2022 20:43.05.515] [INFO] Newsfeed-Fetcher: Broadcasting 175 items.
[06.09.2022 20:43.05.710] [INFO] MMM-Loxone Search room with uuid: 0ea3ebd1-00eb-04ef-ffff390cde3b9b45
[06.09.2022 20:43.05.716] [INFO] MMM-Loxone Found room: OG Bad
[06.09.2022 20:43.05.719] [INFO] MMM-Loxone Search IRC for room temperature
[06.09.2022 20:43.05.724] [INFO] MMM-Loxone Found IRC (Intelligente Raumregelung) in room OG Bad
[06.09.2022 20:43.05.726] [INFO] MMM-Loxone Check if presenceUuid is defined
[06.09.2022 20:43.05.730] [INFO] MMM-Loxone Search LightControls and LightV2Controls in room
[06.09.2022 20:43.05.734] [INFO] MMM-Loxone Found LightControl (Badezimmerlicht) in room OG Bad
[06.09.2022 20:43.05.737] [LOG] MMM-Loxone observing Uuid (0f1f697f-002c-93d3-ffff390cde3b9b45) is not supported, only VirtualStates or States are supported!
[06.09.2022 20:43.05.739] [INFO] MMM-Loxone NotificationUuid: 0ea3ebd1-008d-029d-ffff390cde3b9b45
[06.09.2022 20:43.05.741] [INFO] MMM-Loxone Enabling statusupdates
[06.09.2022 20:43.05.789] [LOG] MMM-Loxone Successfully executed 'dev/sps/enablebinstatusupdate' with code 200 and value 1
[06.09.2022 20:43.07.001] [INFO] MMM-Loxone Got room temperature: 23
[06.09.2022 20:43.07.278] [INFO] MMM-Loxone Got lightMood change to: All off(778)
{
module: "MMM-Jast",
position: "bottom_right",
config: {
currencyStyle: "symbol", // One of ["code", "symbol", "name"]
fadeSpeedInSeconds: 3.5,
lastUpdateFormat: "HH:mm",
maxChangeAge: 1 * 24 * 60 * 60 * 1000,
maxWidth: "100%",
numberDecimalsPercentages: 1,
numberDecimalsValues: 2,
scroll: "none", // One of ["none", "vertical", "horizontal"]
showColors: true,
showCurrency: true,
showChangePercent: true,
showChangeValue: false,
showChangeValueCurrency: false,
showLastUpdate: false,
showPortfolioValue: false,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: false,
updateIntervalInSeconds: 300,
useGrouping: false,
virtualHorizontalMultiplier: 2,
stocks: [ //https://finance.yahoo.com/
{ name: "Bitcoin", symbol: "BTC-USD" },
{ name: "EURO USD", symbol: "EURS-USD" },
{ name: "ölpreis", symbol: "BZ=F" },
//{ name: "S&P500", symbol: "IHPCF" },
{ name: "PayPal", symbol: "PYPL" },
{ name: "Linde", symbol: "LIN.DE" },
{ name: "Amazon.com", symbol: "AMZN" },
{ name: "Microsoft", symbol: "MSFT" },
{ name: "NEL", symbol: "D7G.F" },
{ name: "Walt Disney", symbol: "DIS" },
{ name: "AMD", symbol: "AMD" },
{ name: "VERBUND", symbol: "VER.VI" },
{ name: "Tesla", symbol: "TSLA"}
]
}
},
No response
When copying and pasting the example config settings you will get an error when you start the server as a comma is missing between showDepotGrowth: false and the stock symbols array.
Hi,
I have this plugin and all worked fine for long time.
Nothing has been changed on my end and now it's still just "Loading..."
Any advise?
Thank you
Pavol
Raspberry PI OS
18.19.0
2.20.0
v2.9.3
In the previous version, the currency used to be right aligned but now it's jagged since it's left aligned with the stock name.
I tried messing with the CSS to fix this, but nothing worked to help move the currency to the right.
No response
No response
No response
No response
{
module: "MMM-Jast",
position: "top_right",
header: "Stonks",
config: {
currencyStyle: "symbol", // One of ["code", "symbol", "name"]
fadeSpeedInSeconds: 3.5,
lastUpdateFormat: "HH:mm",
maxChangeAge: 1 * 24 * 60 * 60 * 1000,
maxWidth: "100%",
numberDecimalsPercentages: 1,
numberDecimalsValues: 2,
displayMode: "none", // One of ["none", "vertical", "horizontal", "table"]
showColors: false,
showCurrency: true,
showChangePercent: true,
showChangeValue: false,
showChangeValueCurrency: false,
showHiddenStocks: false,
showLastUpdate: false,
showPortfolioValue: false,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: false,
showPortfolioPerformanceValue: false,
showPortfolioPerformancePercent: false,
showStockPerformanceValue: false,
showStockPerformanceValueSum: false,
showStockPerformancePercent: false,
stocksPerPage: 2, // Only relevant for display mode "table"
updateIntervalInSeconds: 300,
useGrouping: false,
virtualHorizontalMultiplier: 2,
stocks: [
{ name: 'SPDR S&P 500', symbol: 'SPY'},
{ name: 'Vanguard', symbol: 'VOO'},
{ name: 'Tesla', symbol: 'TSLA'},
{ name: 'Apple', symbol: 'AAPL'}
]
}
},
No response
Hello everyone! I'm trying to make the vertical tickers scrolled on the MagicMirror. However, nothing is appearing. If anyone could help, that'd be very appreciated.
Config.js: pastebin.com/MPbD9kpW
I would like to have the ETF prices displayed. Is there a possibility?
Raspberry Pi OS
v16.20.1
2.23.0
v2.8.2
Hi, the module was runnin fine for quite some time but some days ago it sopped working. PM2 Log shows me
[18.07.2023 21:46.56.007] [WARN] API request for BTC-USD failed: Invalid Cookie
Was there any chage in the API?
No response
No response
No response
Restart Magic Mirror, wait till error message appears. Module is not loading any more. only "Loading" appears.
No response
{
module: "MMM-Jast",
position: "bottom_right",
config: {
currencyStyle: "symbol", // One of ["code", "symbol", "name"]
fadeSpeedInSeconds: 3.5,
lastUpdateFormat: "HH:mm",
maxChangeAge: 1 * 24 * 60 * 60 * 1000,
maxWidth: "100%",
numberDecimalsPercentages: 1,
numberDecimalsValues: 2,
scroll: "none", // One of ["none", "vertical", "horizontal"]
showColors: true,
showCurrency: true,
showChangePercent: true,
showChangeValue: false,
showChangeValueCurrency: false,
showLastUpdate: false,
showPortfolioValue: false,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: false,
updateIntervalInSeconds: 300,
useGrouping: false,
virtualHorizontalMultiplier: 2,
stocks: [ //https://finance.yahoo.com/
{ name: "Bitcoin", symbol: "BTC-USD" }
]
}
},
No response
The last few updates have broken my formatting using custom CSS. The current default alignment in vertical mode aligns all text to the left. I am looking for something more "accounting style" where the numbers on the right are all aligned vertically with the colons on the left also aligned.
A simple way to allow folks to customize their alignment would be to assign and publish unique class names to each of the spans (many currently are not assigned classes).
I've tried a number of ways to format with the current update, but because of how the spans are nested and classed (or not classed), I am unable to get there.
As I inspect the html, I see something like the following:
<li class="jast-stock">
<span>NVIDIA:</span>
<span class="high">
<span>490.97</span>
"("
<span class="jast-change-value">+2.3%</span>
")"
</span>
</span>
<span class> </span>
</li>
So the span with the stock name and stock price have no class. And you can see a weird span at the bottom that appears to be an error, with a partial class label. Perhaps something like "jast-stock-name" and "jast-stock-price". Thanks!
Is there a way in CSS or in the module to shade alternating rows?
Ubuntu Desktop 20.04
16.14.0
2.19.0
v2.6.2
Module gives the following warning when pulling down the latest stock info.
[13.05.2022 14:09.36.426] [WARN] [yahoo-finance2] Please upgrade to yahoo-finance2@latest, i.e. 2.x. The only breaking change is a fix in quoteSummary to correctly return Date objects instead of numerical timestamps in these submodules: defaultKeyStatistics, earningsHistory, insiderHolders. For more info see: https://github.com/gadicc/node-yahoo-finance2/commit/4cf1f624d55d92f80db4b36b3afe9414f5eb5a3c
Warning should not be issued.
No response
Upgrade module API to latest according to warning.
[13.05.2022 14:09.36.426] [WARN] [yahoo-finance2] Please upgrade to yahoo-finance2@latest, i.e. 2.x. The only breaking change is a fix in quoteSummary to correctly return Date objects instead of numerical timestamps in these submodules: defaultKeyStatistics, earningsHistory, insiderHolders. For more info see: https://github.com/gadicc/node-yahoo-finance2/commit/4cf1f624d55d92f80db4b36b3afe9414f5eb5a3c
not necessary
No response
Platform (Hardware/OS): Raspberry Pi OS
Node version:
MagicMirror version: V2.15.0
Module version:
Description of the issue: MMM-Jast fails to display Australian (ASX) ETF prices.
Using latest MMM-Jast
Can successfully pull single Australian stocks (e.g AfterPay "APT.AX" displays correctly) can also pull AUD/USD ("AUDUSD=X") and the ASX200 ("^AXJO") however fails to display data for Australian ETFS (specifically ETHI & VDHG "ETHI.AX" "VDHG.AX")
Successfully pulls American ETF prices (trialled two different ones)
I see an Error in terminal (however doesn't seem to have any effect on module function?)
[21.06.2021 11:19.48.414] [ERROR] Failed to fetch git data for MMM-Jast: Error: block timeout reached
Config is as follows:
{
module: "MMM-Jast",
position: "top_left",
config: {
maxWidth: "100%",
updateIntervalInSeconds: 300,
fadeSpeedInSeconds: 3.5, // Higher value: vertical -> faster // horizontal -> slower
scroll: "none", // One of ["none", "vertical", "horizontal"]
useGrouping: false,
currencyStyle: "code", // One of ["code", "symbol", "name"]
showColors: true,
showCurrency: true,
showChangePercent: true,
showChangeValue: false,
showChangeValueCurrency: false,
showDepot: false,
showDepotGrowthPercent: false,
showDepotGrowth: false,
numberDecimalsValues: 2,
numberDecimalsPercentages: 1,
virtualHorizontalMultiplier: 2,
stocks: [
{ name: "AUD/USD", symbol: "AUDUSD=X", },
{ name: "ASX200", symbol: "^AXJO", },
{ name: "ETHI-ETF", symbol: "ETHI.AX" },
{ name: "VDHG-ETF", symbol: "VDHG.AX" },
{ name: "AfterPay", symbol: "APT.AX" },
{ name: "VUG-ETF", symbol: "VUG" }
}
},
(Fails to display ETHI-ETF & VDHG-ETF however displays VUG-ETF)
doesn't seem to produce an error as it does when symbols are wrong. I think its probably returning something, however its something that MMM-Jast is not prepared for?
This is about my extent of trouble shooting & programming skills.
Interested to see if you can suggest a fix.
Ubuntu Desktop 20.04
16.14.0
2.19.0
v2.6.3
Displaying stock prices in vertical format, not scrolling, using custom css When pulling down information, CSS allows formatting for changes (increase or decrease in value) using span.high and span.low respectively, but does not provide a span for values that are unchanged. Therefore these values do not come in well.
There should be a span.static or something like it that allows custom CSS to be written for those values as well. Or maybe I just couldn't find it, in which case help, please! :)
No response
No response
Run MMM-Jast in vertical mode with custom span.high and span.low values.
Here is the block of custom CSS I use for MMM-Jast on my mirror:
.jast-wrapper {
display: inline;
text-align: left;
}
.jast-wrapper {
/*horizontal-align: left;*/
overflow: hidden;
--size: 20px;
font-size: var(--size);
line-height: calc(var(--size) * 1.22);
}
.jast-wrapper .jast-stock {
width: 400px;
border-style: none;
border-width: 1px;
padding-left: 0px;
clear: left;
}
.jast-wrapper .jast-stock span.high {
text-align: right;
float: right;
}
.jast-wrapper .jast-stock span.low {
text-align: right;
float: right;
}
.jast-wrapper span.jast-change {
display: inline-block;
text-align: right;
float: right;
width: 60px;
margin-right: 10px;
padding-left: 10px;
}
No response
Just showing the MMM-Jast config:
{
module: "MMM-Jast",
position: "top_right",
config: {
maxWidth: "100%",
updateIntervalInSeconds: 300,
fadeSpeedInSeconds: 3.5,
scroll: "none", // One of ["none", "vertical", "horizontal"]
useGrouping: false,
currencyStyle: "code", // One of ["code", "symbol", "name"]
lastUpdateFormat: "HH:mm",
showColors: true,
showCurrency: true,
showChangePercent: true,
showChangeValue: false,
showChangeValueCurrency: false,
showLastUpdate: true,
showPortfolioValue: true,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: true,
numberDecimalsValues: 2,
numberDecimalsPercentages: 1,
virtualHorizontalMultiplier: 2,
stocks: [
{ name: "Apple", symbol: "AAPL", quantity: 1 },
{ name: "Aerojet Rocketdyne", symbol: "AJRD", quantity: 1 },
{ name: "Amazon", symbol: "AMZN", quantity: 1 },
{ name: "B&N Education", symbol: "BNED", quantity: 1 },
{ name: "Disney", symbol: "DIS", quantity: 1 },
{ name: "Facebook", symbol: "FB", quantity: 1 },
{ name: "GoPro", symbol: "GPRO", quantity: 1 },
{ name: "Innovio", symbol: "INO", quantity: 1 },
{ name: "Intel Corp", symbol: "INTC", quantity: 1 },
{ name: "Lyft", symbol: "LYFT", quantity: 1 },
{ name: "Moderna", symbol: "MRNA", quantity: 1 },
{ name: "Nikola", symbol: "NKLA", quantity: 1 },
{ name: "Microsoft", symbol: "MSFT", quantity: 1 },
{ name: "Nintendo", symbol: "NTDOY", quantity: 1 },
{ name: "Party City", symbol: "PRTY", quantity: 1 },
{ name: "Peloton", symbol: "PTON", quantity: 1 },
{ name: "Tesla", symbol: "TSLA", quantity: 1 },
{ name: "United Airlines", symbol: "UAL", quantity: 1 },
]
}
},// end MMM-Jast stock ticker
### Additional info
I would love to create pull requests for you and add features but I'm not sure how you're generating your code since it is mini-fied. If you are open to that, I'd be interested in discussing further.
otherwise they do it in the wrong place
Raspberry Pi OS Bullseye 64
16.20.0
2.23
v2.80
The module is ignoring the config values for numberDecimalsPercentages and numberDecimalsValues
Regardless of the settings, the stock values and change percentages are showing 3 decimal places.
I would expect AMZN to show as 124..86 (-0.93) and UA as 6.83 (-0.10)
AMZN shows as 124..855 (-0.925) and UA as 6.825 (-0.0985)
I believe the module is ignoring the config values and defaults for those attributes.
The issue is constant and repeatable.
No errors, just incorrect formatting
{
module: "MMM-Jast",
position: "bottom_bar",
config: {
currencyStyle: "code", // One of ["code", "symbol", "name"]
fadeSpeedInSeconds: 100,
lastUpdateFormat: "HH:mm",
maxChangeAge: 1 * 24 * 60 * 60 * 1000,
maxWidth: "100%",
numberDecimalsPercentages: 1,
numberDecimalsValues: 2,
scroll: "horizontal", // One of ["none", "vertical", "horizontal"]
showColors: true,
showCurrency: false,
showChangePercent: false,
showChangeValue: true,
showChangeValueCurrency: false,
showHiddenStocks: false,
showLastUpdate: false,
showPortfolioValue: false,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: false,
updateIntervalInSeconds: 300,
useGrouping: false,
virtualHorizontalMultiplier: 2,
stocks: [
{ name: "DJI", symbol: "^DJI"},
{ name: "NASD", symbol: "^IXIC"},
{ name: "AAPL", symbol: "AAPL" },
{ name: "GOOG", symbol: "GOOG"},
{ name: "AMZN", symbol: "AMZN"},
{ name: "META", symbol: "META"},
{ name: "TSLA", symbol: "TSLA"},
{ name: "UA", symbol: "UA"}
]
}
}
No response
Is there a way to get the depot growth in USD?
Docker
v18.16.1
2.24.0
v2.8.0
Since the last few days, I'm getting the following error, and the module is stuck at 'Loading':
[WARN] API request for ETH-INR failed: Invalid Cookie
config.js has the following:
{
module: "MMM-Jast",
position: "top_right",
config: {
currencyStyle: "code", // One of ["code", "symbol", "name"]
fadeSpeedInSeconds: 350,
lastUpdateFormat: "HH:mm",
maxChangeAge: 1 * 24 * 60 * 60 * 1000,
maxWidth: "100%",
numberDecimalsPercentages: 0,
numberDecimalsValues: 0,
scroll: "none", // One of ["none", "vertical", "horizontal"]
showColors: true,
showCurrency: false,
showChangePercent: true,
showChangeValue: false,
showChangeValueCurrency: false,
showHiddenStocks: false,
showLastUpdate: false,
showPortfolioValue: false,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: false,
updateIntervalInSeconds: 300,
useGrouping: true,
virtualHorizontalMultiplier: 2,
stocks: [
{ name: "ETH", symbol: "ETH-INR", quantity: 1 },
{name: "NIFTY 50", symbol:"^NSEI"},
{ name: "NIFTY BeES", symbol: "NIFTYBEES.NS" },
{ name: "USD", symbol: "INR=X" },
{ name: "VOO - US", symbol: "VOO"},
]
}
},
No response
No response
No response
No response
{
module: "MMM-Jast",
position: "top_right",
config: {
currencyStyle: "code", // One of ["code", "symbol", "name"]
fadeSpeedInSeconds: 350,
lastUpdateFormat: "HH:mm",
maxChangeAge: 1 * 24 * 60 * 60 * 1000,
maxWidth: "100%",
numberDecimalsPercentages: 0,
numberDecimalsValues: 0,
scroll: "none", // One of ["none", "vertical", "horizontal"]
showColors: true,
showCurrency: false,
showChangePercent: true,
showChangeValue: false,
showChangeValueCurrency: false,
showHiddenStocks: false,
showLastUpdate: false,
showPortfolioValue: false,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: false,
updateIntervalInSeconds: 300,
useGrouping: true,
virtualHorizontalMultiplier: 2,
stocks: [
{ name: "ETH", symbol: "ETH-INR", quantity: 1 },
{name: "NIFTY 50", symbol:"^NSEI"},
{ name: "NIFTY BeES", symbol: "NIFTYBEES.NS" },
{ name: "USD", symbol: "INR=X" },
{ name: "VOO - US", symbol: "VOO"},
]
}
},
No response
Great codebase, very organized!
The module is very useful as well.
Is this possible to configure? I'd like to see:
TICKER $XX.XX (+$XX.XX)
instead of :
TICKER XX.XX USD (+XX.XX USD)
I love the module, just wondering if it would be possible to add a feature where the percentage change in stock value is only visible during weekdays and not on weekends.
Raspberry Pi OS
16.20.1
2.24.0
v2.8.2 0295f2c
Module just shows "Loading"
Logs show the following:
0|mm | [17.07.2023 07:23.57.908] [WARN] API request for ^NYA failed: Invalid Cookie
0|mm | [17.07.2023 07:23.57.911] [WARN] API request for ^DJI failed: Invalid Cookie
0|mm | [17.07.2023 07:23.57.913] [WARN] API request for LMT failed: Invalid Cookie
0|mm | [17.07.2023 07:23.57.914] [WARN] API request for GOOG failed: Invalid Cookie
0|mm | [17.07.2023 07:23.57.915] [WARN] API request for AAPL failed: Invalid Cookie
The ticker should show the latest stock prices.
Module just shows "Loading"
Fix cookie issue?
0|mm | [17.07.2023 07:23.57.908] [WARN] API request for ^NYA failed: Invalid Cookie
0|mm | [17.07.2023 07:23.57.911] [WARN] API request for ^DJI failed: Invalid Cookie
0|mm | [17.07.2023 07:23.57.913] [WARN] API request for LMT failed: Invalid Cookie
0|mm | [17.07.2023 07:23.57.914] [WARN] API request for GOOG failed: Invalid Cookie
0|mm | [17.07.2023 07:23.57.915] [WARN] API request for AAPL failed: Invalid Cookie
pi@raspberrypi:~/install/mm2/backup $ cat config.js
/* MagicMirror² Config Sample
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*
* For more information on how you can configure this file
* see https://docs.magicmirror.builders/configuration/introduction.html
* and https://docs.magicmirror.builders/modules/configuration.html
*
* You can use environment variables using a `config.js.template` file instead of `config.js`
* which will be converted to `config.js` while starting. For more information
* see https://docs.magicmirror.builders/configuration/introduction.html#enviromnent-variables
*/
let config = {
address: "localhost", // Address to listen on, can be:
// - "localhost", "127.0.0.1", "::1" to listen on loopback interface
// - another specific IPv4/6 to listen on a specific interface
// - "0.0.0.0", "::" to listen on any interface
// Default, when address config is left out or empty, is "localhost"
port: 8080,
basePath: "/", // The URL path where MagicMirror² is hosted. If you are using a Reverse proxy
// you must set the sub path here. basePath must end with a /
ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], // Set [] to allow all IP addresses
// or add a specific IPv4 of 192.168.1.5 :
// ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"],
// or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
// ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"],
useHttps: false, // Support HTTPS or not, default "false" will use HTTP
httpsPrivateKey: "", // HTTPS private key path, only require when useHttps is true
httpsCertificate: "", // HTTPS Certificate path, only require when useHttps is true
language: "en",
locale: "en-US",
logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging
timeFormat: 24,
units: "imperial",
modules: [
{
module: "alert",
},
{
module: "updatenotification",
position: "top_bar"
},
{
module: "clock",
position: "top_left"
},
{
module: 'calendar_monthly',
position: 'top_left',
config: {
// The config property is optional
// Without a config, a default month view is shown
// Please see the 'Configuration Options' section for more information
}
},
{
module: "weather",
position: "top_right",
config: {
weatherProvider: "openweathermap",
type: "current",
location: "New York",
locationID: "4828862", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
apiKey: "xxx"
}
},
{
module: 'MMM-AirQuality',
position: 'top_center', // you may choose any location
header: 'AQI', //choose a header if you like
config: {
location: 'usa/newjersey/camden-spruce-st' // the location to check the index for
}
},
{
module: "weather",
position: "top_center",
header: "Weather Forecast",
config: {
fade: false,
weatherProvider: "openweathermap",
weatherEndpoint: "/onecall",
//type: "forecast",
type: "hourly", // location and locationID are ignored, uses lat/lon instead.
location: "New York",
locationID: "4828862", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
apiKey: "xxx",
lat: xxx
lon: xxx,
maxEntries: 7
}
},
{
module: 'MMM-SystemStats',
position: 'top_right', // This can be any of the regions.
// classes: 'small dimmed', // Add your own styling. OPTIONAL.
// header: 'System Stats', // Set the header text OPTIONAL
config: {
updateInterval: 10000, // every 10 seconds
align: 'right', // align labels
//header: 'System Stats', // This is optional
units: 'metric', // default, metric, imperial
view: 'textAndIcon',
},
},
{
module: "newsfeed",
position: "bottom_bar",
config: {
feeds: [
{
title: "Associated Press - Technology",
url: "https://rsshub.app/apnews/topics/technology"
},
{
title: "Associated Press - Politics",
url: "https://rsshub.app/apnews/topics/politics"
},
{
title: "CNN - Top Stories",
url: "http://rss.cnn.com/rss/cnn_topstories.rss"
},
{
title: "CNN - World",
url: "http://rss.cnn.com/rss/cnn_world.rss"
},
{
title: "CNN - U.S.",
url: "http://rss.cnn.com/rss/cnn_us.rss"
},
{
title: "CNN - Business",
url: "http://rss.cnn.com/rss/money_latest.rss"
},
{
title: "CNN - Politics",
url: "http://rss.cnn.com/rss/cnn_allpolitics.rss"
},
{
title: "CNN - Technology",
url: "http://rss.cnn.com/rss/cnn_tech.rss"
},
{
title: "New York Times",
url: "https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml"
},
{
title: "Wall Street Journal - World News",
url: "https://feeds.a.dj.com/rss/RSSWorldNews.xml"
},
{
title: "Wall Street Journal - Business",
url: "https://feeds.a.dj.com/rss/WSJcomUSBusiness.xml"
},
{
title: "Wall Street Journal - Market News",
url: "https://feeds.a.dj.com/rss/RSSMarketsMain.xml"
},
{
title: "Wall Street Journal - Technology",
url: "https://feeds.a.dj.com/rss/RSSWSJD.xml"
},
{
title: "MacRumors",
url: "http://feeds.macrumors.com/MacRumors-All",
}
],
showSourceTitle: true,
showPublishDate: true,
broadcastNewsFeeds: true,
broadcastNewsUpdates: true
}
},
{
module: "MMM-Jast",
position: "bottom_bar",
config: {
currencyStyle: "symbol", // One of ["code", "symbol", "name"]
fadeSpeedInSeconds: 60,
lastUpdateFormat: "HH:mm",
maxChangeAge: 1 * 24 * 60 * 60 * 1000,
maxWidth: "100%",
numberDecimalsPercentages: 1,
numberDecimalsValues: 2,
scroll: "horizontal", // One of ["none", "vertical", "horizontal"]
showColors: true,
showCurrency: true,
showChangePercent: true,
showChangeValue: false,
showChangeValueCurrency: false,
showHiddenStocks: false,
showLastUpdate: true,
showPortfolioValue: false,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: false,
updateIntervalInSeconds: 10,
useGrouping: false,
virtualHorizontalMultiplier: 2,
stocks: [
{ name: "NYSE", symbol: "^NYA" },
{ name: "DJ", symbol: "^DJI" },
{ name: "LM", symbol: "LMT" },
{ name: "Google", symbol: "GOOG" },
{ name: "Apple", symbol: "AAPL"}
]
}
},
]
};
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") {module.exports = config;}
I recently did a git pull on MMM-Jast because a notification stated a new version was available. However, the "Loading" issue was happening before the update. I was hoping the update would fix it, but it did not.
MAC OS 11.5.2
14.15.4
2.14.0
Module fails leaving message "UNDEFINED" on mirror. This is occurring on my Mac running MAC OS 11.5.2. This is typically where I test my code changes before uploading them to the Raspberry Pi that runs the actual mirror.
No response
No response
No response
This occurs when the module starts.
template render error: (templates/MMM-Jast.njk) [Line 16, Column 42]
TypeError: Cannot read property 'toLocaleString' of undefined
at Object.n.t (http://localhost:8080/vendor/node_modules/nunjucks/browser/nunjucks.min.js:2:2466)
at http://localhost:8080/vendor/node_modules/nunjucks/browser/nunjucks.min.js:2:37398
at eval (eval at i.B (http://localhost:8080/vendor/node_modules/nunjucks/browser/nunjucks.min.js:2:38002), <anonymous>:22:11)
at http://localhost:8080/vendor/node_modules/nunjucks/browser/nunjucks.min.js:2:37756
at n.root [as rootRenderFunc] (eval at i.B (http://localhost:8080/vendor/node_modules/nunjucks/browser/nunjucks.min.js:2:38002), <anonymous>:264:3)
at n.i.getExported (http://localhost:8080/vendor/node_modules/nunjucks/browser/nunjucks.min.js:2:37712)
at eval (eval at i.B (http://localhost:8080/vendor/node_modules/nunjucks/browser/nunjucks.min.js:2:38002), <anonymous>:21:5)
at http://localhost:8080/vendor/node_modules/nunjucks/browser/nunjucks.min.js:2:35101
at o (http://localhost:8080/vendor/node_modules/nunjucks/browser/nunjucks.min.js:2:34826)
at http://localhost:8080/vendor/node_modules/nunjucks/browser/nunjucks.min.js:2:63436
(anonymous) @ module.js:96
(anonymous) @ environment.js:20
h.call @ browser-asap.js:48
u @ browser-raw.js:52
characterData (async)
r @ browser-raw.js:147
i @ browser-raw.js:16
u @ browser-asap.js:35
E @ environment.js:19
(anonymous) @ environment.js:495
(anonymous) @ VM190:22
(anonymous) @ environment.js:540
root @ VM194:264
i.getExported @ environment.js:538
(anonymous) @ VM190:21
(anonymous) @ environment.js:261
o @ environment.js:273
(anonymous) @ web-loaders.js:50
i.onreadystatechange @ web-loaders.js:74
XMLHttpRequest.send (async)
e.fetch @ web-loaders.js:88
e.getSource @ web-loaders.js:33
(anonymous) @ environment.js:283
e @ lib.js:310
n.asyncIter @ lib.js:316
i.getTemplate @ environment.js:267
(anonymous) @ VM190:19
(anonymous) @ environment.js:542
root @ VM193:32
i.getExported @ environment.js:538
(anonymous) @ VM190:16
(anonymous) @ environment.js:261
o @ environment.js:273
(anonymous) @ web-loaders.js:50
i.onreadystatechange @ web-loaders.js:74
XMLHttpRequest.send (async)
e.fetch @ web-loaders.js:88
e.getSource @ web-loaders.js:33
(anonymous) @ environment.js:283
e @ lib.js:310
n.asyncIter @ lib.js:316
i.getTemplate @ environment.js:267
(anonymous) @ VM190:14
(anonymous) @ environment.js:542
(anonymous) @ VM191:285
(anonymous) @ environment.js:542
root @ VM192:84
i.getExported @ environment.js:538
(anonymous) @ VM191:11
(anonymous) @ environment.js:261
o @ environment.js:273
(anonymous) @ web-loaders.js:50
i.onreadystatechange @ web-loaders.js:74
XMLHttpRequest.send (async)
e.fetch @ web-loaders.js:88
e.getSource @ web-loaders.js:33
(anonymous) @ environment.js:283
e @ lib.js:310
n.asyncIter @ lib.js:316
i.getTemplate @ environment.js:267
root @ VM191:9
i.getExported @ environment.js:538
(anonymous) @ VM190:11
(anonymous) @ environment.js:261
o @ environment.js:273
(anonymous) @ web-loaders.js:50
i.onreadystatechange @ web-loaders.js:74
XMLHttpRequest.send (async)
e.fetch @ web-loaders.js:88
e.getSource @ web-loaders.js:33
(anonymous) @ environment.js:283
e @ lib.js:310
n.asyncIter @ lib.js:316
i.getTemplate @ environment.js:267
root @ VM190:9
i.render @ environment.js:478
(anonymous) @ environment.js:314
(anonymous) @ environment.js:261
o @ environment.js:273
(anonymous) @ web-loaders.js:50
i.onreadystatechange @ web-loaders.js:74
XMLHttpRequest.send (async)
e.fetch @ web-loaders.js:88
e.getSource @ web-loaders.js:33
(anonymous) @ environment.js:283
e @ lib.js:310
n.asyncIter @ lib.js:316
i.getTemplate @ environment.js:267
i.render @ environment.js:308
(anonymous) @ module.js:94
getDom @ module.js:86
(anonymous) @ main.js:114
updateDom @ main.js:113
updateDom @ main.js:551
updateDom @ module.js:364
socketNotificationReceived @ MMM-Jast.js:14
(anonymous) @ module.js:250
(anonymous) @ socketclient.js:39
./node_modules/component-emitter/index.js.Emitter.emit @ index.js:145
emitEvent @ socket.js:253
onevent @ socket.js:240
MMSocket.self.socket.onevent @ socketclient.js:33
onpacket @ socket.js:204
(anonymous) @ index.js:21
./node_modules/component-emitter/index.js.Emitter.emit @ index.js:145
ondecoded @ manager.js:207
(anonymous) @ index.js:21
./node_modules/component-emitter/index.js.Emitter.emit @ index.js:145
add @ index.js:117
ondata @ manager.js:199
(anonymous) @ index.js:21
./node_modules/component-emitter/index.js.Emitter.emit @ index.js:145
onPacket @ socket.js:387
(anonymous) @ socket.js:196
./node_modules/component-emitter/index.js.Emitter.emit @ index.js:145
onPacket @ transport.js:103
onData @ transport.js:96
ws.onmessage @ websocket.js:108
Show 36 more frames
{
module: "MMM-Jast",
position: "bottom_bar",
config: {
maxWidth: "100%",
updateIntervalInSeconds: 300,
fadeSpeedInSeconds: 3.5, // Higher value: vertical -> faster // horizontal -> slower
scroll: "horizontal", // One of ["none", "vertical", "horizontal"]
useGrouping: false,
currencyStyle: "code", // One of ["code", "symbol", "name"]
showColors: true,
showCurrency: true,
showChangePercent: true,
showChangeValue: false,
showChangeValueCurrency: false,
showPortfolioValue: false,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: false,
numberDecimalsValues: 2,
numberDecimalsPercentages: 1,
virtualHorizontalMultiplier: 2,
stocks: [
{ name: "TESLA", symbol: "TSLA", quantity: 10 },
{ name: "APPLE", symbol: "APPL", quantity: 15 },
{ name: "CHEVRON", symbol: "CVX" }
]
}
},
No response
Raspberry PI OS Bullseye 64bit
17.6.0
2.19.0
When only one stock is configured the module is not centered, with four stocks configured, every things is centered.
No response
No response
No response
No response
{
module: 'MMM-Jast',
disabled: false,
position: 'bottom_bar',
header: '',
config: {
fadeSpeedInSeconds: 3.5,
updateIntervalInSeconds: 600,
scroll: 'horizontal',
stocks: [
{
name: 'Alibaba',
symbol: 'BABA'
}
]
}
}
Raspberry Pi OS
16.13.2
2.17.1
most recent (v2.6.2.)
Horizontal scrolling is choppy / stuttering / lagging. No consistent pattern observable and no relief after running longer. No relief when removing other modules either. MagicMirror does not run in a docker.
Should run smoothly
Runs choppy / stutters / lags
A RAM problem? Maybe 2 GB RAM is too low?
Simply start the application.
No errors
{
module: "MMM-Jast",
position: "bottom_bar",
config: {
maxWidth: "100%",
updateIntervalInSeconds: 300,
fadeSpeedInSeconds: 40,
scroll: "horizontal", // One of ["none", "vertical", "horizontal"]
useGrouping: false,
currencyStyle: "symbol", // One of ["code", "symbol", "name"]
lastUpdateFormat: "HH:mm",
showColors: true,
showCurrency: true,
showChangePercent: true,
showChangeValue: false,
showChangeValueCurrency: false,
showLastUpdate: false,
showPortfolioValue: false,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: false,
numberDecimalsValues: 2,
numberDecimalsPercentages: 1,
virtualHorizontalMultiplier: 1,
stocks: [
{ name: "iShares Global Clean Energy", symbol: "IQQH.DE"},
{ name: "iShares Core MSCI World", symbol: "EUNL.DE" },
{ name: "iShares Core MSCI EM IMI", symbol: "IS3N.DE"},
{ name: "iShares MSCI World Small Cap", symbol: "IUSN.DE"},
]
}
},
No response
Platform (Hardware/OS):Raspberry Pi OS
Node version:
MagicMirror version: 2.15
Module version:
Description of the issue: Undefined Error
Copied and pasted your code, only displays "undefined". Any ideas?
Raspberry Pi OS
12.22.0
2.16.0
Accidentally opened issue under feature request.
Module never loads and once MagicMirror starts all I typically see is "loading"
I’ve tried uninstalling and reinstalling the module as well as reboot the pi as well. No dice. After further investigation I looked at the logs and noticed a few things. Before going any further please note the picture below that shows the module actually functioning. Out of the 10 stocks shown, the first 7 are cryptocurrencies. Now, when you look at the logs you’ll see ERROR: there was an error requesting the API. Failed yahoo schema validation. They all appear to be from “coinmarketcaplink” which would point to crypto as well. Troubleshooting along this line of thinking I removed all seven of the crypto currencies from the confect that JS file and just left apple, Tesla and AMC. Still stuck on loading so now I’m thinking it’s not crypto based?! How does one change the yahoo API? Just thinking out load. It's probably something silly that needs updating but I have almost 12 + other modules and this is the only non working one?
The stocks should load accordingly!
"LOADING"
No response
Please see above
16.07.2022 16:59.29.931] [LOG]
This may happen intermittently and you should catch errors appropriately.
However: 1) if this recently started happening on every request for a symbol
that used to work, Yahoo may have changed their API. 2) If this happens on
every request for a symbol you've never used before, but not for other
symbols, you've found an edge-case. Please see if anyone has reported
this previously:
[object Object]/issues?q=is%3Aissue+Failed%20validation%3A%20%23%2Fdefinitions%2FQuoteSummaryResult
or open a new issue (and mention the symbol):
[object Object]/issues/new?title=Failed%20validation%3A%20%23%2Fdefinitions%2FQuoteSummaryResult
For information on how to turn off the above logging or skip these errors,
see https://github.com/gadicc/node-yahoo-finance2/tree/devel/docs/validation.md.
[16.07.2022 16:59.29.933] [ERROR] There was an error requesting the API. Failed Yahoo Schema validation
[16.07.2022 16:59.30.262] [LOG] The following result did not validate with schema: #/definitions/QuoteSummaryResult
[
{
keyword: 'additionalProperties',
dataPath: '/summaryDetail',
schemaPath: '#/definitions/SummaryDetail/additionalProperties',
params: { additionalProperty: 'coinMarketCapLink' },
message: 'should NOT have additional properties',
{
module: "MMM-Jast",
position: "bottom_left",
config: {
maxWidth: "100%",
updateIntervalInSeconds: 300,
fadeSpeedInSeconds: 3.5, // Higher value: vertical -> faster // horizontal -> slower
scroll: "none", // One of ["none", "vertical", "horizontal"]
useGrouping: false,
currencyStyle: "code", // One of ["code", "symbol", "name"]
showColors: true,
showCurrency: true,
showChangePercent: true,
showChangeValue: false,
showChangeValueCurrency: false,
showPortfolioValue: false,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: false,
numberDecimalsValues: 6,
numberDecimalsPercentages: 1,
virtualHorizontalMultiplier: 2,
stocks: [
{ name: "BITCOIN", symbol: "BTC" },
{ name: "ETHEREUM", symbol: "ETH" },
{ name: "CARDANO", symbol: "ADA-USD" },
{ name: "DOGE", symbol: "DOGE-USD" },
{ name: "SHIBA INU", symbol: "SHIB-USD" },
{ name: "VECHAIN", symbol: "VET-USD" },
{ name: "STELLAR", symbol: "XLM-USD" },
{ name: "AMC", symbol: "AMC" },
{ name: "TESLA", symbol: "TSLA" },
{ name: "APPLE", symbol: "AAPL" },
]
}
}
]
};
PLEASE HELP!!!
Hi~
The internet connection from China to Yahoo Server is not stable.
How can I change the timeout, or auto retry after timeout?
thanks
[24.04.2021 03:36.52.980] [ERROR] There was an error requesting the API. request to https://query2.finance.yahoo.com/v10/finance/quoteSummary/SAP.DE?formatted=f alse&modules=price%2CsummaryDetail failed, reason: read ETIMEDOUT
Platform (Hardware/OS): Raspberry Pi / Raspian Buster
Node version: 10.24.1
MagicMirror version: 2.14
Module version: latest
Description of the issue: I recently updated the MMM-Jast stocks list I had running with a completely new list. When I restarted MagicMirror, both lists now display. My MagicMirror is actually set up as a Magic monitor with MMM-Pages rotating the various modules, with MMM-Jast being 1 of them. During the rotation, when it gets to the MMM-Jast page, MMM-Jast module cycles through 2 "pages" showing the old, then the new, stocks. I've done a git pull to make sure I have the latest version (no update occurred), along with npm install. I've also tried deleting all the stocks in the list except 1, but it still shows the old list (and the new single stock on a separate page). Is there a cache I need to clear?
UPDATE: I changed the zoom level to a smaller one and now it only shows the old list.
UPDATE2: I rearranged MMM-Jast to different positions under MMM-Pages and it actually displays differently. In one position, it displays a combination of the old and new list like I mentioned above, in another position it shows only the old list, while another position shows only the new list, but after awhile switches to the old list. The position that seems to show it longest is the 2nd one.
Hey, I wanted to know if it’s possible to make a static always there Portfolio Value… that changes as the stocks listed change in price, but is always shown, and have the stocks ticker above / below the portfolio value, and not scroll to the portfolio value as it would be permanently shown… e.g
Scrolling stocks ticker
Portfolio Value: xxxx
Possibly also add a static always shown portfolio change value / change percentage that isn’t included in the scroll.
I would opt for the Static option for all as you can in the config but it takes up too much room on the mirror and I was wondering if what i’ve stated is configurable? Thanks
Numbers of stocks and quality can change fairly frequently. Would be nice to load from a sheet. Great module BTW.
Great module and I think this is a simple request. I would like for the ticker to only change to red or green if the stock moves by more than 5%. In VerticalStockList.njk, I changed the code as follows (and added a "same" color in the CSS, but it did not do anything. Super bonus points if I can make a movement of more than 7% show an image.
Raspberry Pi OS
18.18.0
2.26.0
When upgrading to the latest version and running npm install:
pi@MagicMirror:~/MagicMirror/modules/MMM-Jast $ npm i
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: [email protected]
npm ERR! Found: @rollup/[email protected]
npm ERR! node_modules/@rollup/plugin-commonjs
npm ERR! dev @rollup/plugin-commonjs@"^25.0.7" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! dev @rollup/plugin-commonjs@"^25.0.7" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: [email protected]
npm ERR! node_modules/rollup
npm ERR! peerOptional rollup@"^2.68.0||^3.0.0||^4.0.0" from @rollup/[email protected]
npm ERR! node_modules/@rollup/plugin-commonjs
npm ERR! dev @rollup/plugin-commonjs@"^25.0.7" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR!
npm ERR! For a full report see:
npm ERR! /home/pi/.npm/_logs/2024-01-04T09_50_01_342Z-eresolve-report.txt
npm ERR! A complete log of this run can be found in: /home/pi/.npm/_logs/2024-01-04T09_50_01_342Z-debug-0.log
No response
No response
No response
0 verbose cli /usr/local/bin/node /usr/local/bin/npm
1 info using [email protected]
2 info using [email protected]
3 timing npm:load:whichnode Completed in 4ms
4 timing config:load:defaults Completed in 8ms
5 timing config:load:file:/usr/local/lib/node_modules/npm/npmrc Completed in 4ms
6 timing config:load:builtin Completed in 5ms
7 timing config:load:cli Completed in 9ms
8 timing config:load:env Completed in 2ms
9 timing config:load:file:/home/pi/MagicMirror/modules/MMM-Jast/.npmrc Completed in 0ms
10 timing config:load:project Completed in 10ms
11 timing config:load:file:/home/pi/.npmrc Completed in 0ms
12 timing config:load:user Completed in 1ms
13 timing config:load:file:/usr/local/etc/npmrc Completed in 0ms
14 timing config:load:global Completed in 2ms
15 timing config:load:setEnvs Completed in 4ms
16 timing config:load Completed in 43ms
17 timing npm:load:configload Completed in 44ms
18 timing config:load:flatten Completed in 15ms
19 timing npm:load:mkdirpcache Completed in 2ms
20 timing npm:load:mkdirplogs Completed in 1ms
21 verbose title npm i
22 verbose argv "i"
23 timing npm:load:setTitle Completed in 4ms
24 timing npm:load:display Completed in 2ms
25 verbose logfile logs-max:10 dir:/home/pi/.npm/_logs/2024-01-04T09_50_01_342Z-
26 verbose logfile /home/pi/.npm/_logs/2024-01-04T09_50_01_342Z-debug-0.log
27 timing npm:load:logFile Completed in 39ms
28 timing npm:load:timers Completed in 0ms
29 timing npm:load:configScope Completed in 0ms
30 timing npm:load Completed in 187ms
31 timing arborist:ctor Completed in 3ms
32 silly logfile start cleaning logs, removing 1 files
33 silly logfile done cleaning log files
34 timing idealTree:init Completed in 702ms
35 timing idealTree:userRequests Completed in 1ms
36 silly idealTree buildDeps
37 silly fetch manifest yahoo-finance2@^2.9.0
38 timing arborist:ctor Completed in 0ms
39 http fetch GET 200 https://registry.npmjs.org/yahoo-finance2 410ms (cache hit)
40 silly fetch manifest @rollup/plugin-commonjs@^25.0.7
41 http fetch GET 200 https://registry.npmjs.org/@rollup%2fplugin-commonjs 16ms (cache hit)
42 silly fetch manifest rollup@^4.8.0
43 http fetch GET 200 https://registry.npmjs.org/rollup 42ms (cache hit)
44 silly fetch manifest @rollup/plugin-node-resolve@^15.2.3
45 http fetch GET 200 https://registry.npmjs.org/@rollup%2fplugin-node-resolve 13ms (cache hit)
46 silly fetch manifest @rollup/plugin-terser@^0.4.4
47 http fetch GET 200 https://registry.npmjs.org/@rollup%2fplugin-terser 9ms (cache hit)
48 silly fetch manifest @rollup/plugin-typescript@^11.1.5
49 http fetch GET 200 https://registry.npmjs.org/@rollup%2fplugin-typescript 10ms (cache hit)
50 silly fetch manifest tslib@*
51 http fetch GET 200 https://registry.npmjs.org/tslib 11ms (cache hit)
52 silly fetch manifest typescript@^5.3.3
53 http fetch GET 200 https://registry.npmjs.org/typescript 130ms (cache hit)
54 silly fetch manifest @types/magicmirror-module@^2.16.5
55 http fetch GET 200 https://registry.npmjs.org/@types%2fmagicmirror-module 19ms (cache hit)
56 silly fetch manifest @typescript-eslint/eslint-plugin@^6.14.0
57 http fetch GET 200 https://registry.npmjs.org/@typescript-eslint%2feslint-plugin 109ms (cache hit)
58 silly fetch manifest @typescript-eslint/parser@^6.14.0
59 http fetch GET 200 https://registry.npmjs.org/@typescript-eslint%2fparser 131ms (cache hit)
60 silly fetch manifest eslint@^8.55.0
61 http fetch GET 200 https://registry.npmjs.org/eslint 28ms (cache hit)
62 silly fetch manifest eslint-config-prettier@^9.1.0
63 http fetch GET 200 https://registry.npmjs.org/eslint-config-prettier 10ms (cache hit)
64 silly fetch manifest prettier@^3.1.1
65 http fetch GET 200 https://registry.npmjs.org/prettier 10ms (cache hit)
66 timing idealTree Completed in 2546ms
67 timing command:i Completed in 2590ms
68 verbose stack Error: could not resolve
68 verbose stack at PlaceDep.failPeerConflict (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/place-dep.js:503:25)
68 verbose stack at new PlaceDep (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/place-dep.js:157:21)
68 verbose stack at #buildDepStep (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:933:18)
68 verbose stack at async Arborist.buildIdealTree (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:196:7)
68 verbose stack at async Promise.all (index 1)
68 verbose stack at async Arborist.reify (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:159:5)
68 verbose stack at async Install.exec (/usr/local/lib/node_modules/npm/lib/commands/install.js:149:5)
68 verbose stack at async module.exports (/usr/local/lib/node_modules/npm/lib/cli-entry.js:61:5)
69 verbose cwd /home/pi/MagicMirror/modules/MMM-Jast
70 verbose Linux 5.10.103-v7l+
71 verbose node v18.18.0
72 verbose npm v9.8.1
73 error code ERESOLVE
74 error ERESOLVE could not resolve
75 error
76 error While resolving: [email protected]
76 error Found: @rollup/[email protected]
76 error node_modules/@rollup/plugin-commonjs
76 error dev @rollup/plugin-commonjs@"^25.0.7" from the root project
76 error
76 error Could not resolve dependency:
76 error dev @rollup/plugin-commonjs@"^25.0.7" from the root project
76 error
76 error Conflicting peer dependency: [email protected]
76 error node_modules/rollup
76 error peerOptional rollup@"^2.68.0||^3.0.0||^4.0.0" from @rollup/[email protected]
76 error node_modules/@rollup/plugin-commonjs
76 error dev @rollup/plugin-commonjs@"^25.0.7" from the root project
76 error
76 error Fix the upstream dependency conflict, or retry
76 error this command with --force or --legacy-peer-deps
76 error to accept an incorrect (and potentially broken) dependency resolution.
77 error
77 error
77 error For a full report see:
77 error /home/pi/.npm/_logs/2024-01-04T09_50_01_342Z-eresolve-report.txt
78 verbose exit 1
79 timing npm Completed in 3722ms
80 verbose unfinished npm timer reify 1704361802460
81 verbose unfinished npm timer reify:loadTrees 1704361802484
82 verbose unfinished npm timer idealTree:buildDeps 1704361803192
83 verbose unfinished npm timer idealTree:#root 1704361803194
84 verbose code 1
85 error A complete log of this run can be found in: /home/pi/.npm/_logs/2024-01-04T09_50_01_342Z-debug-0.log
doesn't matter
No response
Platform (Hardware/OS):
Magicmirror
MagicMirror version:
magicmirror:v2.15.0
Module version:
v2.4.3
Description of the issue: Under stock object, for the 'quantity' field, it takes an integer as an input, however with more and more stock apps including features such as 'fractional shares' is there any possible way to change it to a decimal so I can input my fractional shares? ex. owning .5 of an amazon share
Also wanted to say loving the module so far! only issue I have other than this is the vertical scrolling bug mentioned in another bug
Ubuntu 20.04
v16.14.0
2.24.0
V2.6.2
Jast won't load. Simply says, "loading..." Error log reflects the following error message for all stocks in list to load (ASTR in this case is an example stock).
[WARN] API request for ASTR failed: Invalid Cookie
Stocks should load & display
Stocks aren't loading.
Haven't had a chance to troubleshoot, I suspect it is an API issue.
see above.
{
module: "MMM-Jast",
position: "top_right",
config: {
maxWidth: "100%",
updateIntervalInSeconds: 300,
fadeSpeedInSeconds: 3.5,
scroll: "none", // One of ["none", "vertical", "horizontal"]
useGrouping: false,
currencyStyle: "code", // One of ["code", "symbol", "name"]
lastUpdateFormat: "HH:mm",
showColors: true,
showCurrency: false,
showChangePercent: true,
showChangeValue: false,
showChangeValueCurrency: false,
showLastUpdate: true,
showPortfolioValue: true,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: true,
numberDecimalsValues: 2,
numberDecimalsPercentages: 1,
virtualHorizontalMultiplier: 2,
stocks: [
{ name: "Astra Space", symbol: "ASTR", quantity: 1},
]
}
},// end MMM-Jast stock ticker
No additional info
is this module work with raspberry pi zero w Magic Mirror??
Platform (Hardware/OS):
Magicmirror Docker Container
Node version:
npm: '6.14.13'
MagicMirror version:
karsten13/magicmirror:v2.15.0
Module version:
v2.4.3
Description of the issue:
Just found this module and I love it. Just a little problem with the vertical scrolling. there seems to be some sort of offset.
any ideas?
Raspbian GNU/Linux 11 (bullseye)
v18.18.0
2.25.0
v2.8.2
Module does not allow the whole MagicMirror to load due to an error.
I have tried the test/debugLogging branch but didn't see more details, and I am using the stock config from the Readme. npm install --only=production
was completed at several points, such as when changing branches.
No response
No response
No response
using a fresh config.js file, add the stock config, save, and restart MagicMirror. It results in an error.
0|MagicMir | [32084:1005/115806.659799:ERROR:object_proxy.cc(590)] Failed to call method: org.freedesktop.portal.Settings.Read: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.portal.Desktop was not provided by any .service files
0|MagicMir | ../../buildtools/third_party/libc++/trunk/include/vector:1473: assertion __n < size() failed: vector[] index out of bounds[32084:1005/115937.268347:ERROR:gpu_process_host.cc(957)] GPU process exited unexpectedly: exit_code=134
0|MagicMir | [05.10.2023 12:00.58.920] [ERROR] (node:32332) UnhandledPromiseRejectionWarning: SyntaxError: /home/magic/MagicMirror/modules/MMM-Jast/node_modules/tr46/lib/mappingTable.json: Expected ',' or ']' after array element in JSON at position 102912
0|MagicMir | at parse (<anonymous>)
0|MagicMir | at Object..json (node:internal/modules/cjs/loader:1340:39)
0|MagicMir | at Module.load (node:internal/modules/cjs/loader:1126:32)
0|MagicMir | at node:internal/modules/cjs/loader:967:12
0|MagicMir | at Function._load (node:electron/js2c/asar_bundle:2:13327)
0|MagicMir | at Module.require (node:internal/modules/cjs/loader:1150:19)
0|MagicMir | at require (node:internal/modules/cjs/helpers:110:18)
0|MagicMir | at Object.<anonymous> (/home/magic/MagicMirror/modules/MMM-Jast/node_modules/tr46/index.js:4:20)
0|MagicMir | at Module._compile (node:internal/modules/cjs/loader:1271:14)
0|MagicMir | at Object..js (node:internal/modules/cjs/loader:1326:10)
0|MagicMir | at Module.load (node:internal/modules/cjs/loader:1126:32)
0|MagicMir | at node:internal/modules/cjs/loader:967:12
0|MagicMir | at Function._load (node:electron/js2c/asar_bundle:2:13327)
0|MagicMir | at Module.require (node:internal/modules/cjs/loader:1150:19)
0|MagicMir | at require (node:internal/modules/cjs/helpers:110:18)
0|MagicMir | at Object.<anonymous> (/home/magic/MagicMirror/modules/MMM-Jast/node_modules/whatwg-url/lib/url-state-machine.js:3:14)
0|MagicMir | (Use `electron --trace-warnings ...` to show where the warning was created)
0|MagicMir | [05.10.2023 12:00.58.923] [ERROR] (node:32332) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
0|MagicMir | [32332:1005/120100.981088:ERROR:object_proxy.cc(590)] Failed to call method: org.freedesktop.portal.Settings.Read: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.portal.Desktop was not provided by any .service files
/* MagicMirror² Config Sample
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*
* For more information on how you can configure this file
* see https://docs.magicmirror.builders/configuration/introduction.html
* and https://docs.magicmirror.builders/modules/configuration.html
*
* You can use environment variables using a `config.js.template` file instead of `config.js`
* which will be converted to `config.js` while starting. For more information
* see https://docs.magicmirror.builders/configuration/introduction.html#enviromnent-variables
*/
let config = {
address: "0.0.0.0", // Address to listen on, can be:
// - "localhost", "127.0.0.1", "::1" to listen on loopback interface
// - another specific IPv4/6 to listen on a specific interface
// - "0.0.0.0", "::" to listen on any interface
// Default, when address config is left out or empty, is "localhost"
port: 8080,
basePath: "/", // The URL path where MagicMirror² is hosted. If you are using a Reverse proxy
// you must set the sub path here. basePath must end with a /
ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1","::ffff:192.168.1.0/24"], // Set [] to allow all IP addresses
// or add a specific IPv4 of 192.168.1.5 :
// ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"],
// or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
// ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"],
useHttps: false, // Support HTTPS or not, default "false" will use HTTP
httpsPrivateKey: "", // HTTPS private key path, only require when useHttps is true
httpsCertificate: "", // HTTPS Certificate path, only require when useHttps is true
language: "en",
locale: "en-US",
logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging
timeFormat: 24,
units: "metric",
modules: [
{
module: "alert",
},
{
module: "updatenotification",
position: "top_bar"
},
{
module: "clock",
position: "top_left"
},
{
module: "calendar",
header: "US Holidays",
position: "top_left",
config: {
calendars: [
{
fetchInterval: 7 * 24 * 60 * 60 * 1000,
symbol: "calendar-check",
url: "https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics"
}
]
}
},
{
module: "compliments",
position: "lower_third"
},
{
module: "weather",
position: "top_right",
config: {
weatherProvider: "openweathermap",
type: "current",
location: "New York",
locationID: "5128581", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
apiKey: "YOUR_OPENWEATHER_API_KEY"
}
},
{
module: "weather",
position: "top_right",
header: "Weather Forecast",
config: {
weatherProvider: "openweathermap",
type: "forecast",
location: "New York",
locationID: "5128581", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
apiKey: "YOUR_OPENWEATHER_API_KEY"
}
},
{
module: "newsfeed",
position: "bottom_bar",
config: {
feeds: [
{
title: "New York Times",
url: "https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml"
}
],
showSourceTitle: true,
showPublishDate: true,
broadcastNewsFeeds: true,
broadcastNewsUpdates: true
}
},
{
module: "MMM-Jast",
position: "top_left",
config: {
currencyStyle: "code", // One of ["code", "symbol", "name"]
fadeSpeedInSeconds: 3.5,
lastUpdateFormat: "HH:mm",
maxChangeAge: 1 * 24 * 60 * 60 * 1000,
maxWidth: "100%",
numberDecimalsPercentages: 1,
numberDecimalsValues: 2,
scroll: "vertical", // One of ["none", "vertical", "horizontal"]
showColors: true,
showCurrency: true,
showChangePercent: true,
showChangeValue: false,
showChangeValueCurrency: false,
showHiddenStocks: false,
showLastUpdate: false,
showPortfolioValue: false,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: false,
updateIntervalInSeconds: 300,
useGrouping: false,
virtualHorizontalMultiplier: 2,
stocks: [
{ name: "BASF", symbol: "BAS.DE", quantity: 10 },
{ name: "SAP", symbol: "SAP.DE", quantity: 15 },
{ name: "Henkel", symbol: "HEN3.DE", hidden: true },
{ name: "Alibaba", symbol: "BABA"}
]
}
}
]
};
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") {module.exports = config;}
No response
Pi 4
v18.18.0
2.26
lastest version
I have been running the module for a few month w/out issues. Since I updated MM to 2.26 recently the ticker does not run smoothly anymore. It starts stopping ever second or so and then jumps a bit ahead. It is very choppy and nice to look at. Before it has never done that.
No response
No response
No response
same after every restart or Pi reboot
No response
module: "MMM-Jast",
position: "bottom_bar",
config: {
currencyStyle: "code", // One of ["code", "symbol", "name"]
fadeSpeedInSeconds: 120,
lastUpdateFormat: "HH:mm",
maxChangeAge: 1 * 24 * 60 * 60 * 1000,
maxWidth: "100%",
numberDecimalsPercentages: 1,
numberDecimalsValues: 2,
scroll: "horizontal", // One of ["none", "vertical", "horizontal"]
showColors: true,
showCurrency: true,
showChangePercent: true,
showChangeValue: false,
showChangeValueCurrency: false,
showHiddenStocks: false,
showLastUpdate: false,
showPortfolioValue: false,
showPortfolioGrowthPercent: false,
showPortfolioGrowth: false,
updateIntervalInSeconds: 300,
useGrouping: false,
virtualHorizontalMultiplier: 2,
stocks: [
{ name: "Tesla", symbol: "TSLA"},
{ name: "Amazon", symbol: "AMZN"},
{ name: "Apple", symbol: "AAPL"},
]
}
No response
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.