MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    1. Home
    2. robertoOk
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.
    R
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 3
    • Groups 0

    robertoOk

    @robertoOk

    0
    Reputation
    461
    Profile views
    3
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    robertoOk Unfollow Follow

    Latest posts made by robertoOk

    • RE: mm-music-player errors

      i don’t know why but code is divided into blocks , copy all the text i have written minus my last comments at the end

      posted in Troubleshooting
      R
      robertoOk
    • RE: mm-music-player errors

      /* Magic Mirror

      • The Core App (Server)
      • By Michael Teeuw http://michaelteeuw.nl
      • MIT Licensed.
        */

      var fs = require(“fs”);
      var Server = require(__dirname + “/server.js”);
      var defaultModules = require(__dirname + “/…/modules/default/defaultmodules.js”);
      var path = require(“path”);

      // Get version number.
      global.version = JSON.parse(fs.readFileSync(“package.json”, “utf8”)).version;
      console.log(“Starting MagicMirror: v” + global.version);

      // global absolute root path
      global.root_path = path.resolve(__dirname + “/…/”);

      // The next part is here to prevent a major exception when there
      // is no internet connection. This could probable be solved better.
      process.on(“uncaughtException”, function (err) {
      console.log(“Whoops! There was an uncaught exception…”);
      console.error(err);
      console.log(“MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?”);
      console.log(“If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues”);
      });

      /* App - The core app.
      */
      var App = function() {
      var nodeHelpers = [];

      /* loadConfig(callback)
       * Loads the config file. combines it with the defaults,
       * and runs the callback with the found config as argument.
       *
       * argument callback function - The callback function.
       */
      
      var loadConfig = function(callback) {
      	console.log("Loading config ...");
      	var defaults = require(__dirname + "/defaults.js");
      	var configFilename = path.resolve(global.root_path + "/config/config.js");
      	try {
      		fs.accessSync(configFilename, fs.F_OK);
      		var c = require(configFilename);
      		var config = Object.assign(defaults, c);
      		callback(config);
      	} catch (e) {
      		if (e.code == "ENOENT") {
      			console.error("WARNING! Could not find config file. Please create one. Starting with default configuration.");
      			callback(defaults);
      		} else if (e instanceof ReferenceError || e instanceof SyntaxError) {
      			console.error("WARNING! Could not validate config file. Please correct syntax errors. Starting with default configuration.");
      			callback(defaults);
      		} else {
      			console.error("WARNING! Could not load config file. Starting with default configuration. Error found: " + e);
      			callback(defaults);
      		}
      	}
      };
      
      /* loadModule(module)
       * Loads a specific module.
       *
       * argument module string - The name of the module (including subpath).
       */
      var loadModule = function(module) {
      
      	var elements = module.split("/");
      	var moduleName = elements[elements.length - 1];
      	var moduleFolder =  __dirname + "/../modules/" + module;
      
      	if (defaultModules.indexOf(moduleName) !== -1) {
      		moduleFolder =  __dirname + "/../modules/default/" + module;
      	}
      
      	var helperPath = moduleFolder + "/node_helper.js";
      
      	var loadModule = true;
      	try {
      		fs.accessSync(helperPath, fs.R_OK);
      	} catch (e) {
      		loadModule = false;
      		console.log("No helper found for module: " + moduleName + ".");
      	}
      
      	if (loadModule) {
      		var Module = require(helperPath);
      		var m = new Module();
      
      		if (m.requiresVersion) {
      			console.log("Check MagicMirror version for node helper '" + moduleName + "' - Minimum version:  " + m.requiresVersion + " - Current version: " + global.version);
      			if (cmpVersions(global.version, m.requiresVersion) >= 0) {
      				console.log("Version is ok!");
      			} else {
      				console.log("Version is incorrect. Skip module: '" + moduleName + "'");
      				return;
      			}
      		}
      
      		m.setName(moduleName);
      		m.setPath(path.resolve(moduleFolder));
      		nodeHelpers.push(m);
      	}
      };
      
      /* loadModules(modules)
       * Loads all modules.
       *
       * argument module string - The name of the module (including subpath).
       */
      var loadModules = function(modules) {
      	console.log("Loading module helpers ...");
      
      	for (var m in modules) {
      		loadModule(modules[m]);
      	}
      
      	console.log("All module helpers loaded.");
      };
      
      /* cmpVersions(a,b)
       * Compare two symantic version numbers and return the difference.
       *
       * argument a string - Version number a.
       * argument a string - Version number b.
       */
      function cmpVersions(a, b) {
      	var i, diff;
      	var regExStrip0 = /(\.0+)+$/;
      	var segmentsA = a.replace(regExStrip0, "").split(".");
      	var segmentsB = b.replace(regExStrip0, "").split(".");
      	var l = Math.min(segmentsA.length, segmentsB.length);
      
      	for (i = 0; i < l; i++) {
      		diff = parseInt(segmentsA[i], 10) - parseInt(segmentsB[i], 10);
      		if (diff) {
      			return diff;
      		}
      	}
      	return segmentsA.length - segmentsB.length;
      }
      
      /* start(callback)
       * This methods starts the core app.
       * It loads the config, then it loads all modules.
       * When it"s done it executs the callback with the config as argument.
       *
       * argument callback function - The callback function.
       */
      this.start = function(callback) {
      
      	loadConfig(function(c) {
      		config = c;
      
      		var modules = [];
      
      		for (var m in config.modules) {
      			var module = config.modules[m];
      			if (modules.indexOf(module.module) === -1 && !module.disabled) {
      				modules.push(module.module);
      			}
      		}
      
      		loadModules(modules);
      
      		var server = new Server(config, function(app, io) {
      			console.log("Server started ...");
      
      			for (var h in nodeHelpers) {
      				var nodeHelper = nodeHelpers[h];
      				nodeHelper.setExpressApp(app);
      				nodeHelper.setSocketIO(io);
      				nodeHelper.start();
      			}
      
      			console.log("Sockets connected & modules started ...");
      
      			if (typeof callback === "function") {
      				callback(config);/* Magic Mirror
      
      • The Core App (Server)
      • By Michael Teeuw http://michaelteeuw.nl
      • MIT Licensed.
        */

      var fs = require(“fs”);
      var Server = require(__dirname + “/server.js”);
      var defaultModules = require(__dirname + “/…/modules/default/defaultmodules.js”);
      var path = require(“path”);

      // Get version number.
      global.version = JSON.parse(fs.readFileSync(“package.json”, “utf8”)).version;
      console.log(“Starting MagicMirror: v” + global.version);

      // global absolute root path
      global.root_path = path.resolve(__dirname + “/…/”);

      // The next part is here to prevent a major exception when there
      // is no internet connection. This could probable be solved better.
      process.on(“uncaughtException”, function (err) {
      console.log(“Whoops! There was an uncaught exception…”);
      console.error(err);
      console.log(“MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?”);
      console.log(“If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues”);
      });

      /* App - The core app.
      */
      var App = function() {
      var nodeHelpers = [];

      /* loadConfig(callback)
       * Loads the config file. combines it with the defaults,
       * and runs the callback with the found config as argument.
       *
       * argument callback function - The callback function.
       */
      
      var loadConfig = function(callback) {
      	console.log("Loading config ...");
      	var defaults = require(__dirname + "/defaults.js");
      	var configFilename = path.resolve(global.root_path + "/config/config.js");
      	try {
      		fs.accessSync(configFilename, fs.F_OK);
      		var c = require(configFilename);
      		var config = Object.assign(defaults, c);
      		callback(config);
      	} catch (e) {
      		if (e.code == "ENOENT") {
      			console.error("WARNING! Could not find config file. Please create one. Starting with default configuration.");
      			callback(defaults);
      		} else if (e instanceof ReferenceError || e instanceof SyntaxError) {
      			console.error("WARNING! Could not validate config file. Please correct syntax errors. Starting with default configuration.");
      			callback(defaults);
      		} else {
      			console.error("WARNING! Could not load config file. Starting with default configuration. Error found: " + e);
      			callback(defaults);
      		}
      	}
      };
      
      /* loadModule(module)
       * Loads a specific module.
       *
       * argument module string - The name of the module (including subpath).
       */
      var loadModule = function(module) {
      
      	var elements = module.split("/");
      	var moduleName = elements[elements.length - 1];
      	var moduleFolder =  __dirname + "/../modules/" + module;
      
      	if (defaultModules.indexOf(moduleName) !== -1) {
      		moduleFolder =  __dirname + "/../modules/default/" + module;
      	}
      
      	var helperPath = moduleFolder + "/node_helper.js";
      
      	var loadModule = true;
      	try {
      		fs.accessSync(helperPath, fs.R_OK);
      	} catch (e) {
      		loadModule = false;
      		console.log("No helper found for module: " + moduleName + ".");
      	}
      
      	if (loadModule) {
      		var Module = require(helperPath);
      		var m = new Module();
      
      		if (m.requiresVersion) {
      			console.log("Check MagicMirror version for node helper '" + moduleName + "' - Minimum version:  " + m.requiresVersion + " - Current version: " + global.version);
      			if (cmpVersions(global.version, m.requiresVersion) >= 0) {
      				console.log("Version is ok!");
      			} else {
      				console.log("Version is incorrect. Skip module: '" + moduleName + "'");
      				return;
      			}
      		}
      
      		m.setName(moduleName);
      		m.setPath(path.resolve(moduleFolder));
      		nodeHelpers.push(m);
      	}
      };
      
      /* loadModules(modules)
       * Loads all modules.
       *
       * argument module string - The name of the module (including subpath).
       */
      var loadModules = function(modules) {
      	console.log("Loading module helpers ...");
      
      	for (var m in modules) {
      		loadModule(modules[m]);
      	}
      
      	console.log("All module helpers loaded.");
      };
      
      /* cmpVersions(a,b)
       * Compare two symantic version numbers and return the difference.
       *
       * argument a string - Version number a.
       * argument a string - Version number b.
       */
      function cmpVersions(a, b) {
      	var i, diff;
      	var regExStrip0 = /(\.0+)+$/;
      	var segmentsA = a.replace(regExStrip0, "").split(".");
      	var segmentsB = b.replace(regExStrip0, "").split(".");
      	var l = Math.min(segmentsA.length, segmentsB.length);
      
      	for (i = 0; i < l; i++) {
      		diff = parseInt(segmentsA[i], 10) - parseInt(segmentsB[i], 10);
      		if (diff) {
      			return diff;
      		}
      	}
      	return segmentsA.length - segmentsB.length;
      }
      
      /* start(callback)
       * This methods starts the core app.
       * It loads the config, then it loads all modules.
       * When it"s done it executs the callback with the config as argument.
       *
       * argument callback function - The callback function.
       */
      this.start = function(callback) {
      
      	loadConfig(function(c) {
      		config = c;
      
      		var modules = [];
      
      		for (var m in config.modules) {
      			var module = config.modules[m];
      			if (modules.indexOf(module.module) === -1 && !module.disabled) {
      				modules.push(module.module);
      			}
      			}
      
      		});
      	});
      };
      

      };

      module.exports = new App();

      i sobstitute this file that is in the js directory, the file is app.js, this is from the older version of magic mirror that casually i have saved but with this it works…
      i don’t know why but with the newer version of this file modules arent recognised…

      posted in Troubleshooting
      R
      robertoOk
    • mm-music-player errors

      after i update magic mirror i had this topic:
      pi@raspberrypi:~/MagicMirror2 $ npm start

      magicmirror@2.1.1 start /home/pi/MagicMirror
      sh run-start.sh

      Starting MagicMirror: v2.1.1
      Loading config …
      Loading module helpers …
      No helper found for module: alert.
      No helper found for module: clock.
      Initializing new module helper …
      Module helper loaded: calendar
      No helper found for module: compliments.
      No helper found for module: currentweather.
      No helper found for module: weatherforecast.
      Initializing mm-music-player module helper …
      WARNING! Could not load config file. Starting with default configuration. Error found: TypeError: m.loaded is not a function
      Loading module helpers …
      No helper found for module: alert.
      No helper found for module: clock.
      Initializing new module helper …
      Module helper loaded: calendar
      No helper found for module: compliments.
      No helper found for module: currentweather.
      No helper found for module: weatherforecast.
      Initializing mm-music-player module helper …
      App threw an error during load
      TypeError: m.loaded is not a function
      at loadModule (/home/pi/MagicMirror2/js/app.js:144:6)
      at loadNextModule (/home/pi/MagicMirror2/js/app.js:161:5)
      at /home/pi/MagicMirror2/js/app.js:163:6
      at loadModule (/home/pi/MagicMirror2/js/app.js:146:4)
      at loadNextModule (/home/pi/MagicMirror2/js/app.js:161:5)
      at /home/pi/MagicMirror2/js/app.js:163:6
      at loadModule (/home/pi/MagicMirror2/js/app.js:146:4)
      at loadNextModule (/home/pi/MagicMirror2/js/app.js:161:5)
      at /home/pi/MagicMirror2/js/app.js:163:6
      at loadModule (/home/pi/MagicMirror2/js/app.js:146:4)
      Whoops! There was an uncaught exception…
      TypeError: m.loaded is not a function
      at loadModule (/home/pi/MagicMirror2/js/app.js:144:6)
      at loadNextModule (/home/pi/MagicMirror2/js/app.js:161:5)
      at /home/pi/MagicMirror2/js/app.js:163:6
      at loadModule (/home/pi/MagicMirror2/js/app.js:146:4)
      at loadNextModule (/home/pi/MagicMirror2/js/app.js:161:5)
      at /home/pi/MagicMirror2/js/app.js:163:6
      at loadModule (/home/pi/MagicMirror2/js/app.js:146:4)
      at loadNextModule (/home/pi/MagicMirror2/js/app.js:161:5)
      at /home/pi/MagicMirror2/js/app.js:163:6
      at loadModule (/home/pi/MagicMirror2/js/app.js:146:4)
      MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
      If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues
      Launching application.

      i tried to understand what could be the problem and it is the mm player
      by commenting the code of the module, the mirror starts withouth errors…
      so … what i can do to resolve this problem??

      posted in Troubleshooting
      R
      robertoOk