A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.
  • magicmirror [DEBUG] config syntax error

    Solved
    4
    0 Votes
    4 Posts
    570 Views
    S
    @jamesvcc said in magicmirror [DEBUG] config syntax error: What a difference two " makes make yep, computers are SOOOOOO picky!!.. lol glad its working now
  • birthdaylist dont show up

    Solved
    5
    0 Votes
    5 Posts
    662 Views
    S
    @sdetweil i works new Thanks
  • Pi Zero 2 W install issue

    Unsolved
    2
    0 Votes
    2 Posts
    619 Views
    S
    @plattnat reflash the os image, boot , skip updates, and use my install script see https://github.com/sdetweil/MagicMirror_scripts it will upgrade node to the required level.
  • Error trying to run: npm run install-mm

    Solved
    18
    0 Votes
    18 Posts
    7k Views
    L
    @sdetweil I will, thanks again.
  • MMM-MyCalendar stopped working on MagicMirror 2.25

    Solved
    10
    0 Votes
    10 Posts
    699 Views
    S
    @sdetweil It works now For others it doesn’t work too then I copy this code into calendarutils.js cd ~/MagicMirror/modules/MMM-MyCalendar /* MagicMirror² * Node Helper: Calendar - CalendarFetcher * * By Michael Teeuw https://michaelteeuw.nl * MIT Licensed. */ const CalendarUtils = require("./calendarutils"); const Log = require("logger"); const NodeHelper = require("node_helper"); const ical = require("node-ical"); /*const fetch = require("fetch");*/ /*const digest = require("digest-fetch");*/ const https = require("https"); /** * * @param {string} url The url of the calendar to fetch * @param {number} reloadInterval Time in ms the calendar is fetched again * @param {string[]} excludedEvents An array of words / phrases from event titles that will be excluded from being shown. * @param {number} maximumEntries The maximum number of events fetched. * @param {number} maximumNumberOfDays The maximum number of days an event should be in the future. * @param {object} auth The object containing options for authentication against the calendar. * @param {boolean} includePastEvents If true events from the past maximumNumberOfDays will be fetched too * @param {boolean} selfSignedCert If true, the server certificate is not verified against the list of supplied CAs. * @class */ const CalendarFetcher = function (url, reloadInterval, excludedEvents, maximumEntries, maximumNumberOfDays, auth, includePastEvents, selfSignedCert) { let reloadTimer = null; let events = []; let fetchFailedCallback = function () {}; let eventsReceivedCallback = function () {}; /** * Initiates calendar fetch. */ const fetchCalendar = () => { clearTimeout(reloadTimer); reloadTimer = null; const nodeVersion = Number(process.version.match(/^v(\d+\.\d+)/)[1]); /* let fetcher = null;*/ let httpsAgent = null; let headers = { "User-Agent": "Mozilla/5.0 (Node.js " + nodeVersion + ") MagicMirror/" + global.version }; if (selfSignedCert) { httpsAgent = new https.Agent({ rejectUnauthorized: false }); } if (auth) { if (auth.method === "bearer") { headers.Authorization = "Bearer " + auth.pass; /* } else if (auth.method === "digest") { fetcher = new digest(auth.user, auth.pass).fetch(url, { headers: headers, agent: httpsAgent });*/ } else { headers.Authorization = "Basic " + Buffer.from(auth.user + ":" + auth.pass).toString("base64"); } } /* if (fetcher === null) { fetcher = fetch(url, { headers: headers, agent: httpsAgent }); }*/ fetch(url, { headers: headers, agent: httpsAgent }) .then(NodeHelper.checkFetchStatus) .then((response) => response.text()) .then((responseData) => { let data = []; try { data = ical.parseICS(responseData); Log.debug("parsed data=" + JSON.stringify(data)); events = CalendarUtils.filterEvents(data, { excludedEvents, includePastEvents, maximumEntries, maximumNumberOfDays }); } catch (error) { fetchFailedCallback(this, error); scheduleTimer(); return; } this.broadcastEvents(); scheduleTimer(); }) .catch((error) => { fetchFailedCallback(this, error); scheduleTimer(); }); }; /** * Schedule the timer for the next update. */ const scheduleTimer = function () { clearTimeout(reloadTimer); reloadTimer = setTimeout(function () { fetchCalendar(); }, reloadInterval); }; /* public methods */ /** * Initiate fetchCalendar(); */ this.startFetch = function () { fetchCalendar(); }; /** * Broadcast the existing events. */ this.broadcastEvents = function () { Log.info("Calendar-Fetcher: Broadcasting " + events.length + " events."); eventsReceivedCallback(this); }; /** * Sets the on success callback * * @param {Function} callback The on success callback. */ this.onReceive = function (callback) { eventsReceivedCallback = callback; }; /** * Sets the on error callback * * @param {Function} callback The on error callback. */ this.onError = function (callback) { fetchFailedCallback = callback; }; /** * Returns the url of this fetcher. * * @returns {string} The url of this fetcher. */ this.url = function () { return url; }; /** * Returns current available events for this fetcher. * * @returns {object[]} The current available events for this fetcher. */ this.events = function () { return events; }; }; module.exports = CalendarFetcher;
  • Trying to update to version 2.25

    Solved
    13
    0 Votes
    13 Posts
    3k Views
    S
    @vandam3b cool, thanks for the feedback!
  • MMM-Lucy

    Unsolved
    9
    4
    0 Votes
    9 Posts
    1k Views
    S
    @Crimel been years since I tried it.
  • Browser shifts to one side after reboot

    Unsolved
    2
    0 Votes
    2 Posts
    304 Views
    S
    @Socrates what about on the real display, not over vnc…
  • Upgrade errors?

    Solved
    35
    0 Votes
    35 Posts
    12k Views
    J
    @sdetweil - Thanks for the help here and offline. My problem is solved, and for the sake of others following is the resolution. Problem: MagicMirror install script outputs node.js errors on new RaspbianOS install running under VirtualBox. Diagnosis [by sdetweil]: “so, the problem is that the intel raspian is a hybrid, x86_64 kernel with a i386 user runtime. and they stopped making a nodejs for i386 after node 12” Solution: Rebuilt the virtual machine using Ubuntu instead of RaspbianOS. [I’m sure any Debian or other Linux distribution would work just fine…] Thanks again - I can now use this as a dev machine and spare myself the risks associated with fiddling with the production machine!
  • Update to v2.25.0

    Solved
    11
    0 Votes
    11 Posts
    2k Views
    S
    @MZ-BER what do you think of these new messages Checking for modules with removed libraries require for node-fetch in module MMM-NewsAPI not found in package.json bypass installing node-fetch for module MMM-NewsAPI , doing test run updating dependencies for active modules with package.json files processing for module birthdaylist please wait ---------------------------------- skipped processing for birthdaylist, doing test run processing complete for module birthdaylist
  • 2.25 language 'nl' not working

    Solved
    10
    0 Votes
    10 Posts
    2k Views
    htilburgsH
    @sdetweil @karsten13 Message from MMM-OnSpotify. Its now fixed in V3.1.0, both the icon color change (now the helper css classes are loaded on a separated file), and the clock translation error (locale settings were getting overwritten by the module instance of the moment library). Installed the update and problem solved. Thanks for helping!
  • Magic Mirror logo appears at Boot and then the Raspberry desktop

    Solved
    21
    4
    0 Votes
    21 Posts
    8k Views
    S
    @Syosse and your troubles convinced me to look at the pm2 setup problem from the script, and I was able to see the issue and fix it for others… thanks… Sam
  • wlan0 IP address in config file

    Unsolved
    2
    0 Votes
    2 Posts
    287 Views
    S
    @hikano765 a better thing would be to change the address: to address:“0.0.0.0” then it will listen on all the active network adapters . you will also have to fix the ipWhitelist to allow apps from outside systems to connect while you are developing your mm solution it’s easiest to do ipWhitelist:[], to allow apps from any system on your local betwork
  • Probleme après mise a jour vers debian 12

    Unsolved
    10
    0 Votes
    10 Posts
    2k Views
    S
    @1eretoile c’est exact
  • 0 Votes
    3 Posts
    831 Views
    BKeyportB
    @Laz As all of my systems are behind a firewall - I’ve opened the Mirror to “public” access by using the config of var config = { address: "0.0.0.0", port: 8080, ipWhitelist: [], ... then, I simply load the mirror in my main computer’s browser with http://mirror:8080 and use the devtools of my browser to view the errors and such.
  • MMM-Wallpaper gives black screen on one MM. Other one works.

    Unsolved
    11
    0 Votes
    11 Posts
    3k Views
    S
    @Cliff365 sorry typo in command, my phone thought it knew better!!! sudo apt-get remove nodejs -y
  • Delay loading of one instance of a module and not another

    Solved
    7
    1
    0 Votes
    7 Posts
    1k Views
    D
    @sdetweil Seems to be working great! Thank you very much for taking the time to make this a multi-instance module! Also great that you eliminated the need for npm install node-fetch@2. Even though I don’t know very much about java script, I understand it much better than these horoscopes :grinning_squinting_face:
  • MagicMirrorOS reload config without reboot

    Solved
    10
    0 Votes
    10 Posts
    2k Views
    F
    @sdetweil this works thank you.
  • Error starting after upgrade

    Solved
    41
    0 Votes
    41 Posts
    13k Views
    S
    @rmcon great that you got it working on the test run, mostly currently it’s looking for mm files you might have changed for some reason, and conflict w the new release. most of the other issues I handle, upgrade node, npm and pm2 if needed. and in this release on pi0, increase swap space and increase the node heap space.
  • Required Node for MM V2.25.0

    Solved
    5
    0 Votes
    5 Posts
    1k Views
    S
    @itsmemario1 can u send me the upgrade log? did you use the apply.link? did u try upgrade before using the script note the script is a 2 part process for upgrade test w no changes then changes if u already upgraded manually, my scripts will abort as I won’t upgrade it again unless you force it.