Read the statement by Michael Teeuw here.
v2.18.0 update gave black screen, then nothing.
-
config.js, minus private data.
/* Magic Mirror Config Sample * * By Michael Teeuw http://michaelteeuw.nl * MIT Licensed. */ var config = { port: 8080, address:"0.0.0.0", ipWhitelist: [], //ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.1/120",], language: 'en', timeFormat: 24, units: 'metric', modules: [ { module: 'alert', }, { module: "updatenotification", position: "top_bar" }, { module: 'clock', position: 'top_left' }, { module: 'calendar', header: 'Calendar', position: 'top_left', config: { maximumEntries: 6, // Total Maximum Entries maximumNumberOfDays: 365, displaySymbol: true, defaultSymbol: "calendar", // Fontawesome Symbol see http://fontawesome.io/cheatsheet/ displayRepeatingCountTitle: false, defaultRepeatingCountTitle: "", maxTitleLength: 30, fetchInterval: 5 * 60 * 1000, // Update every 5 minutes. animationSpeed: 2000, fade: true, showEnd: false, urgency: 0, timeFormat: "absolute", dateFormat: "ddd Do MMMM", getRelative: 0, fadePoint: 0.50, // Start on 1/4th of the list. hidePrivate: false, calendars: [ { symbol: 'calendar-check-o ', url: 'https:/nnnnnnnnnnnnnnnnnnnnn/basic.ics' } ], } }, { module: 'calendar', header: 'Binday', position: 'bottom_left', config: { maximumEntries: 4, // Total Maximum Entries maximumNumberOfDays: 365, displaySymbol: true, defaultSymbol: "calendar", // Fontawesome Symbol see http://fontawesome.io/cheatsheet/ displayRepeatingCountTitle: false, defaultRepeatingCountTitle: "", maxTitleLength: 30, fetchInterval: 5 * 60 * 1000, // Update every 5 minutes. animationSpeed: 2000, fade: true, showEnd: false, urgency: 0, timeFormat: "absolute", dateFormat: "ddd Do MMMM", getRelative: 0, fadePoint: 0.50, // Start on 1/4th of the list. hidePrivate: false, calendars: [ { symbol: 'trash-o ', url: 'https:/nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn/basic.ics' } ], titleReplace: { // "'s birthday": "", // "Recycling": "Bins", "Red Bin": "Red & Black Bins", "Green Bin": "Green & Black Bins" }, // Override start method. start: function () { Log.log("Starting module: " + this.name); /* This code changed times to 24hr clock until April 17 system update. ** Set locale. ** if (config.language === 'en' && config.timeFormat == 24) { ** config.language = 'en-gb'; ** } ** moment.locale(config.language); */ for (var c in this.config.calendars) { var calendar = this.config.calendars[c]; calendar.url = calendar.url.replace("webcal://", "http://"); this.addCalendar(calendar.url, calendar.user, calendar.pass); } this.calendarData = {}; this.loaded = false; }, } }, { module: 'compliments', position: 'lower_third', config: { anytime: [ "A1", "A2", "A3" ], morning: [ "M1", "M2", "M3" ], afternoon: [ "N1", "N2", "N3" ], evening: [ "E1", "E2", "E3" ] }, updateInterval: 30000, remoteFile: null, fadeSpeed: 4000 /*config: { remoteFile: 'compliments.json' }*/ }, { module: 'MMM-doomsDay', position: 'top_center', // This can be any of the regions, best results in center regions config: { doomsDay: "2022-01-06 24:00:00", // YYYY-MM-DD HH:MM:SS, Do not alter the time, just the date /* doomsDay: "2020-12-21 24:00:00", // YYYY-MM-DD HH:MM:SS, Do not alter the time, just the date */ toWhat: "today", // See 'Configuration options' for more information. } }, { module: 'currentweather', header: 'Current weather for: ', position: 'top_right', config: { location: 'nnnnnnnnnnnnnnnn,GB', locationID: 'nnnn', //ID from http://www.openweathermap.org appid: 'nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn' } }, { module: 'weatherforecast', position: 'top_right', header: 'Weather Forecast', config: { location: 'nnnnnn,GB', locationID: 'nnnnnnn', //ID from http://www.openweathermap.org appid: 'aaannnnnnnnnn' } }, { module: 'MMM-MysqlQuery', position: 'bottom_right', header: 'Greenhouse Status', config: { connection: { host: "192.168.1.23", port: 3306, user: "nnnnnnnnnnnnnnnn", password: "nnnnnnnnnnnnnnnn", database: "garage" }, /* query: `select Temp-2 from readings order by ID desc limit 1`, */ query: "select Added, \ Temp, \ Pressure, \ Humidity \ from gh_readings \ order by ID \ desc limit 3", intervalSeconds: 1 * 60, emptyMessage: "No data!", columns: [ { name: "Added", title: "At", cssClass: "left", dateFormat: "time", dateLocale: "en-GB" }, { name: "Temp", title: "Temp", cssClass: "left", suffix: "°C", nullValue: "???" }, { name: "Pressure", title: "Pressure", cssClass: "left", suffix: " hPa", nullValue: "???" }, { name: "Humidity", title: "Humidity", cssClass: "left", suffix: " %" }, ] } }, */ { module: 'newsfeed', position: 'bottom_bar', config: { feeds: [ { title: "BBC World", url: "http://feeds.bbci.co.uk/news/world/rss.xml" }, { title: "Al Jazeera", url: "https://www.aljazeera.com/xml/rss/all.xml" }, { title: "Sky news", url: "http://feeds.skynews.com/feeds/rss/world.xml" } ], showSourceTitle: true, showPublishDate: true, reloadInterval: 2 * 60 * 1000, // every 5 minutes updateInterval: 2 * 5000 } } ] }; /*************** DO NOT EDIT THE LINE BELOW ***************/ if (typeof module !== 'undefined') {module.exports = config;}
-
@richard238 said in v2.18.0 update gave black screen, then nothing.:
> // Override start method. > start: function () { > Log.log("Starting module: " + this.name); > > /* This code changed times to 24hr clock until April 17 system update. > ** Set locale. > ** if (config.language === 'en' && config.timeFormat == 24) { > ** config.language = 'en-gb'; > ** } > ** moment.locale(config.language); > */ > > > for (var c in this.config.calendars) { > var calendar = this.config.calendars[c]; > calendar.url = calendar.url.replace("webcal://", "http://"); > this.addCalendar(calendar.url, calendar.user, calendar.pass); > } > > this.calendarData = {}; > this.loaded = false; > },
what is that? I’m not aware of any code in config for calendar
for grins, can you add // in front of the Log.log statement
-
what is that? I’m not aware of any code in config for calendar
No idea, thought it had always been there. I’m not much of a coder, as I’m sure you can tell.// added
pi@magicmirror:~/MagicMirror $ pm2 start MagicMirror [PM2] Applying action restartProcessId on app [MagicMirror](ids: [ 0 ]) [PM2] [MagicMirror](0) ✓ [PM2] Process successfully started ┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐ │ id │ name │ mode │ ↺ │ status │ cpu │ memory │ ├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤ │ 0 │ MagicMirror │ fork │ 0 │ online │ 0% │ 2.4mb │ └────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘ pi@magicmirror:~/MagicMirror $ pm2 logs --lines=50 [TAILING] Tailing last 50 lines for [all] processes (change the value with --lines option) /home/pi/.pm2/pm2.log last 50 lines: PM2 | 2022-01-06T14:24:56: PM2 log: App [MagicMirror:0] starting in -fork mode- PM2 | 2022-01-06T14:24:56: PM2 log: App [MagicMirror:0] online PM2 | 2022-01-06T14:50:49: PM2 log: Stopping app:MagicMirror id:0 PM2 | 2022-01-06T14:50:49: PM2 log: App [MagicMirror:0] exited with code [0] via signal [SIGINT] PM2 | 2022-01-06T14:50:49: PM2 log: pid=12707 msg=process killed PM2 | 2022-01-06T14:50:59: PM2 log: App [MagicMirror:0] starting in -fork mode- PM2 | 2022-01-06T14:50:59: PM2 log: App [MagicMirror:0] online PM2 | 2022-01-06T15:51:52: PM2 log: Stopping app:MagicMirror id:0 PM2 | 2022-01-06T15:51:53: PM2 log: App [MagicMirror:0] exited with code [0] via signal [SIGINT] PM2 | 2022-01-06T15:51:53: PM2 log: pid=18675 msg=process killed PM2 | 2022-01-06T15:52:00: PM2 log: App [MagicMirror:0] starting in -fork mode- PM2 | 2022-01-06T15:52:00: PM2 log: App [MagicMirror:0] online /home/pi/.pm2/logs/MagicMirror-out.log last 50 lines: 0|MagicMir | 0|MagicMir | > magicmirror@2.18.0 start 0|MagicMir | > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js 0|MagicMir | 0|MagicMir | 0|MagicMir | > magicmirror@2.18.0 start 0|MagicMir | > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js 0|MagicMir | 0|MagicMir | 0|MagicMir | > magicmirror@2.18.0 start 0|MagicMir | > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js 0|MagicMir | /home/pi/.pm2/logs/MagicMirror-error.log last 50 lines: 0|MagicMir | at require (node:internal/modules/cjs/helpers:94:18) 0|MagicMir | at Object.<anonymous> (/home/pi/MagicMirror/js/electron.js:4:14) 0|MagicMir | at Module._compile (node:internal/modules/cjs/loader:1116:14) 0|MagicMir | (node:18699) [DEP0025] DeprecationWarning: sys is deprecated. Use util instead. 0|MagicMir | (Use `electron --trace-deprecation ...` to show where the warning was created) 0|MagicMir | A JavaScript error occurred in the main process 0|MagicMir | Uncaught Exception: 0|MagicMir | TypeError: Log.log is not a function 0|MagicMir | at Object.<anonymous> (/home/pi/MagicMirror/js/app.js:20:5) 0|MagicMir | at Module._compile (node:internal/modules/cjs/loader:1116:14) 0|MagicMir | at Object.Module._extensions..js (node:internal/modules/cjs/loader:1169:10) 0|MagicMir | at Module.load (node:internal/modules/cjs/loader:988:32) 0|MagicMir | at Module._load (node:internal/modules/cjs/loader:829:12) 0|MagicMir | at Function.c._load (node:electron/js2c/asar_bundle:5:13331) 0|MagicMir | at Module.require (node:internal/modules/cjs/loader:1012:19) 0|MagicMir | at require (node:internal/modules/cjs/helpers:94:18) 0|MagicMir | at Object.<anonymous> (/home/pi/MagicMirror/js/electron.js:4:14) 0|MagicMir | at Module._compile (node:internal/modules/cjs/loader:1116:14) 0|MagicMir | [18754:0106/145107.193182:ERROR:viz_main_impl.cc(161)] Exiting GPU process due to errors during initialization 0|MagicMir | [18773:0106/145107.559447:ERROR:sandbox_linux.cc(376)] InitializeSandbox() called with multiple threads in process gpu-process. 0|MagicMir | /home/pi/MagicMirror/node_modules/electron/dist/electron exited with signal SIGINT 0|MagicMir | App threw an error during load 0|MagicMir | TypeError: Log.log is not a function 0|MagicMir | at Object.<anonymous> (/home/pi/MagicMirror/js/app.js:20:5) 0|MagicMir | at Module._compile (node:internal/modules/cjs/loader:1116:14) 0|MagicMir | at Object.Module._extensions..js (node:internal/modules/cjs/loader:1169:10) 0|MagicMir | at Module.load (node:internal/modules/cjs/loader:988:32) 0|MagicMir | at Module._load (node:internal/modules/cjs/loader:829:12) 0|MagicMir | at Function.c._load (node:electron/js2c/asar_bundle:5:13331) 0|MagicMir | at Module.require (node:internal/modules/cjs/loader:1012:19) 0|MagicMir | at require (node:internal/modules/cjs/helpers:94:18) 0|MagicMir | at Object.<anonymous> (/home/pi/MagicMirror/js/electron.js:4:14) 0|MagicMir | at Module._compile (node:internal/modules/cjs/loader:1116:14) 0|MagicMir | (node:32542) [DEP0025] DeprecationWarning: sys is deprecated. Use util instead. 0|MagicMir | (Use `electron --trace-deprecation ...` to show where the warning was created) 0|MagicMir | A JavaScript error occurred in the main process 0|MagicMir | Uncaught Exception: 0|MagicMir | TypeError: Log.log is not a function 0|MagicMir | at Object.<anonymous> (/home/pi/MagicMirror/js/app.js:20:5) 0|MagicMir | at Module._compile (node:internal/modules/cjs/loader:1116:14) 0|MagicMir | at Object.Module._extensions..js (node:internal/modules/cjs/loader:1169:10) 0|MagicMir | at Module.load (node:internal/modules/cjs/loader:988:32) 0|MagicMir | at Module._load (node:internal/modules/cjs/loader:829:12) 0|MagicMir | at Function.c._load (node:electron/js2c/asar_bundle:5:13331) 0|MagicMir | at Module.require (node:internal/modules/cjs/loader:1012:19) 0|MagicMir | at require (node:internal/modules/cjs/helpers:94:18) 0|MagicMir | at Object.<anonymous> (/home/pi/MagicMirror/js/electron.js:4:14) 0|MagicMir | at Module._compile (node:internal/modules/cjs/loader:1116:14) 0|MagicMir | [32574:0106/155207.031878:ERROR:viz_main_impl.cc(161)] Exiting GPU process due to errors during initialization 0|MagicMir | [32615:0106/155207.383004:ERROR:sandbox_linux.cc(376)] InitializeSandbox() called with multiple threads in process gpu-process.
-
@richard238 added it to me config.js and it doesn’t matter…
-
@richard238 ok, lets start back somewhere
save your config.js
copy the sample back to config.js
and start
this should work …
-
@richard238 i copied your config above to my system
and it starts ok…my node/npm are
node -v
v16.1.0
npm -v
7.24.2so, lets try that , we will use the node version of node version manager (nvm) called n
# install n globally npm i n -g # install node version 16.1.0 n i 16.1.0 # use the setup path from node version install PATH="$PATH" # verify node and npm versions node -v npm -v
-
run those from
pi@magicmirror:~/MagicMirror $or
pi@magicmirror:~ $
Or, does it not matter?
-
@richard238 does not matter
not MM specific
-
@richard238 did u try the initial config.js
-
No, took me a while to restore one back from archive, but it’s there now, ready to go.
/* Magic Mirror Config Sample * * By Michael Teeuw http://michaelteeuw.nl * MIT Licensed. */ var config = { port: 8080, ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], language: 'en', 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: [ { symbol: 'calendar-check-o ', url: 'webcal://www.calendarlabs.com/templates/ical/US-Holidays.ics' } ] } }, { module: 'compliments', position: 'lower_third' }, { module: 'currentweather', position: 'top_right', config: { location: 'New York', locationID: '', //ID from http://www.openweathermap.org appid: 'YOUR_OPENWEATHER_API_KEY' } }, { module: 'weatherforecast', position: 'top_right', header: 'Weather Forecast', config: { location: 'New York', locationID: '5128581', //ID from http://www.openweathermap.org appid: 'YOUR_OPENWEATHER_API_KEY' } }, { module: 'newsfeed', position: 'bottom_bar', config: { feeds: [ { title: "New York Times", url: "http://www.nytimes.com/services/xml/rss/nyt/HomePage.xml" } ], showSourceTitle: true, showPublishDate: true } }, ] }; /*************** DO NOT EDIT THE LINE BELOW ***************/ if (typeof module !== 'undefined') {module.exports = config;}
My versions:
pi@magicmirror:~ $ node -v v16.1.0 pi@magicmirror:~ $ npm -v 7.11.2
NPM is different to yours, but OK to try?