A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.
  • Pulse-Eight

    8
    0 Votes
    8 Posts
    4k Views
    D
    @yawns Disply off command does nothing
  • Default Calender using ics file from a path on pi.

    3
    0 Votes
    3 Posts
    2k Views
    Mykle1M
    @arifms This page shows all the config options. “Show Location” is NOT one of them. https://github.com/MichMich/MagicMirror/tree/master/modules/default/calendar
  • MMM-PIR-SENSOR after updating

    2
    0 Votes
    2 Posts
    2k Views
    F
    ok i find the solution … I have delete the folder MagicMirror/modules/MMM-PIR-Sensor git clone npm install and its ok .
  • Blackscreen with no errors.

    Solved
    6
    0 Votes
    6 Posts
    3k Views
    Mykle1M
    @zimmcognito Oh, that’s good news. Enjoy your mirror
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    12 Views
  • Problem working with MMM-iFrame

    5
    0 Votes
    5 Posts
    3k Views
    K
    Hi, thanks for the feedback. I have scanned the forum and tried several potential solutions, but they all failed with MMM-iFrame. Yesterday I have installed an earlier version of the iFrame module, the MMM-iFrameReload (by “The BogueRat”) and this module works for me!! I can iFrame my D-Link camera streaming (and it also works fine for youtube streaming).
  • MMM-Gestures

    3
    0 Votes
    3 Posts
    2k Views
    A
    @Tobi91 Hey Tobi, no I am sry … Aly
  • Mirror won't start...

    6
    0 Votes
    6 Posts
    4k Views
    RamblingGeekUkR
    How did you Install MM?
  • Exchange calendar not showing up

    Solved
    6
    0 Votes
    6 Posts
    3k Views
    P
    So sorry for the very late reply. I didn’t have time to work on my project. But today I picked it up again and also found https://github.com/MichMich/MagicMirror/issues/839. When I updated the ical.js and node-ical.js in this thread, my calendar started showing up. So I’m happy and almost finished my MM. Version 0.1, that is…
  • Error after update..

    5
    0 Votes
    5 Posts
    2k Views
    C
    Ah. I got it after a long time back and forth. Once again deleted and the folder copied again. Many thanks for your help.
  • CORS using node_helper.js for Uber and Lyft APIs

    10
    0 Votes
    10 Posts
    5k Views
    kalK
    I was able to fix this. See below for the module code /* global Module */ /* Magic Mirror * Module: Uber * * Shows the time and surge pricing for UberX * * By Kyle Kelly * based on MagicMirror work by Michael Teeuw http://michaelteeuw.nl * and by derickson https://github.com/derickson/MMderickson/tree/master/uber * MIT Licensed. */ Module.register("MMM-uber",{ // Default module config. defaults: { lat: null, lng: null, ride_type: "uberX", uberServerToken: null, updateInterval: 5 * 60 * 1000, // every 5 minutes animationSpeed: 1000, }, // Define required scripts. getScripts: function() { return ["moment.js", "https://code.jquery.com/jquery-2.2.3.min.js"]; }, // Define required styles. getStyles: function() { return ["MMM-uber.css"]; }, start: function() { Log.info("Starting module: " + this.name); // Set locale. moment.locale(config.language); // variables that will be loaded from service this.uberTime = null; this.uberSurge = null; this.loaded = false; Log.log("Sending CONFIG to node_helper.js in " + this.name); Log.log("Payload: " + this.config) this.sendSocketNotification('CONFIG', this.config); }, // unload the results from uber services processUber: function(FLAG, result) { var self = this; Log.log("ProcessUber"); // go through the time data to find the uberX product if (FLAG === "TIME"){ Log.log("Time:"); Log.log(result); for (var i = 0, count = result.times.length; i < count ; i++) { var rtime = result.times[i]; if(rtime.display_name === this.config.ride_type){ // convert estimated seconds to minutes this.uberTime = rtime.estimate / 60; break; } } } // go through the price data to find the uberX product else if (FLAG === "PRICE"){ Log.log("Price:"); Log.log(result); for( var i=0, count = result.prices.length; i< count; i++) { var rprice = result.prices[i]; if(rprice.display_name === this.config.ride_type){ // grab the surge pricing this.uberSurge = rprice.surge_multiplier; break; } } } }, // Override dom generator. getDom: function() { var wrapper = document.createElement("div"); var uber = document.createElement("div"); uber.className = "uberButton"; var uberIcon = document.createElement("img"); uberIcon.className = "badge"; uberIcon.src = "modules/MMM-uber/UBER_API_Badges_1x_22px.png"; var uberText = document.createElement("span"); if(this.loaded) { var myText = this.config.ride_type + " in "+ this.uberTime +" min "; Log.log("ubersurge: " + this.uberSurge); // only show the surge pricing if it is above 1.0 if(typeof this.uberSurge !== "undefined" && this.uberSurge > 1.0){ myText += " - " + this.uberSurge + "X surge pricing"; } uberText.innerHTML = myText; } else { // Loading message uberText.innerHTML = "Checking Uber status ..."; } uber.appendChild(uberIcon); uber.appendChild(uberText); wrapper.appendChild(uber); return wrapper; }, socketNotificationReceived: function(notification, payload) { Log.log(this.name + " received a socket notification: " + notification + " - Payload: " + payload); if (notification === "TIME") { this.processUber("TIME", JSON.parse(payload)); this.updateDom(this.config.animationSpeed) } else if (notification === "PRICE") { this.processUber("PRICE", JSON.parse(payload)); this.loaded = true; this.updateDom(this.config.animationSpeed); } } }); and the node_helper.js code 'use strict'; /* Magic Mirror * Module: MMM-uber * * By Kyle Kelly * MIT Licensed. */ const NodeHelper = require('node_helper'); var request = require('request'); var moment = require('moment'); module.exports = NodeHelper.create({ start: function() { var self = this; console.log("Starting node helper for: " + this.name); this.config = null; }, getData: function() { var self = this; this.sendSocketNotification("Test", 2); this.sendSocketNotification("LATITUDE", this.config.lat); this.sendSocketNotification("LONGITUDE", this.config.lng); request({ url: "https://api.uber.com/v1/estimates/time?start_latitude=" + this.config.lat + "&start_longitude=" + this.config.lng, method: 'GET', headers: { 'Authorization': 'Token ' + this.config.uberServerToken, 'Accept-Language': 'en_US', 'Content-Type': 'application/json' }, }, function (error, response, body) { if (!error && response.statusCode == 200) { self.sendSocketNotification("TIME", body); } else { self.sendSocketNotification("ERROR", "In TIME request with status code: " + response.statusCode); } }); request({ url: "https://api.uber.com/v1/estimates/price?start_latitude=" + this.config.lat + "&start_longitude=" + this.config.lng + "&end_latitude=" + this.config.lat + "&end_longitude=" + this.config.lng, method: 'GET', headers: { 'Authorization': 'Token ' + this.config.uberServerToken, 'Accept-Language': 'en_US', 'Content-Type': 'application/json' }, }, function (error, response, body) { if (!error && response.statusCode == 200) { self.sendSocketNotification("PRICE", body); } else { self.sendSocketNotification("ERROR", "In PRICE request with status code: " + response.statusCode); } }); setTimeout(function() { self.getData(); }, this.config.updateInterval); }, socketNotificationReceived: function(notification, payload) { //var self = this; this.sendSocketNotification("Test", 0); if (notification === 'CONFIG') { this.sendSocketNotification("Test", 1); this.config = payload; this.getData(); } } });
  • Voicecontrol interaction with compliments

    1
    0 Votes
    1 Posts
    1k Views
    L
    Hi, I am using the voicecontrol by alexya and I am trying to display a message on the mirror after saying a hotword. Because this is a one-time thing, I figured I could use the compliments module to display the message. I have downloaded the .pmdl file from Snowboy, but I still struggle to implement the code in the compliments module. This is how my config file looks like: { module: 'voicecontrol', position: 'bottom_left', config: { models: [ { keyword: "Test", // keyword description: "Say 'Test", file: "Test.pmdl", // trained model file name message: "PLAY_MUSIC" // notification message that's broadcast in the MagicMirror app }, ] } }, Obvously I know PLAY_MUSIC is incorrect, but I still havent found out what the correct command would be to display the message in the compliments module. Also if I understood it correctly the following code is suppsoed to go within the compliments.js file. notificationReceived: function(notification, payload, sender) { if (notification === "Test"){ this.media.play(); } }, What should I replace with PLAY_MUSIC and this.media.play(); to display a message from the compliments module ? And how do I specify what kind of message that get displayed?
  • Slow 'npm install'

    1
    0 Votes
    1 Posts
    1k Views
    R
    The npm install command takes as long as 15-20 minutes and will max the load to about 6-10 with little to no background tasks. Even a fresh reboot does not affect the time. I know its just a wee-raspberry pi 3 but dang that is slow. My Pi shows about a 50C temp with a small heatsink on it with a plastic vented case. Added bonus is sits on top of a server that has a fan blowing moderately ‘cool’ (30-40C) air at high speed. How long should I expect the npm install to take?
  • MagicMirror2

    3
    0 Votes
    3 Posts
    2k Views
    Mykle1M
    @TobbeE49 said in MagicMirror2: Thankful if anyone can help me. { module: 'MMM - RandomPhoto', position: 'fullscreen_below', config: { opacity: 0.3, animationSpeed: 500, updateInterval: 60, url: 'https: //unsplash.it/1920/1080/?random' //where your pictures are } }, This you CAN copy and paste, if you need to. You still have to enter the url to your pictures.
  • Throwing down the gauntlet

    85
    0 Votes
    85 Posts
    107k Views
    KimzerK
    Can someone please tell me how i can change the color of the numbers next to the sun? The 17.3 degrees bit. [image: 5ww76x.png] And here, can someone please tell me how i can change the color of the song title, there are two of them in white so both preferably. [image: izvtky.png]
  • Rss feed

    6
    0 Votes
    6 Posts
    5k Views
    sithasS
    Thanks Mason I was pulling my hair out trying to figure out why it would not work. works like a charm now… thanks Sithas
  • How to halt execution of MM2

    5
    1 Votes
    5 Posts
    3k Views
    Mykle1M
    @docino said in How to halt execution of MM2: Thanks for the speedy response! I will remember that! My pleasure. Enjoy your mirror
  • Problem close MagicMirror2

    3
    0 Votes
    3 Posts
    3k Views
    S
    Yes it’s good ! Thank you ! :)
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    32 Views
  • MMM Facial Recognition - not working

    6
    0 Votes
    6 Posts
    4k Views
    D
    I’m pretty sure you still wrote a wrong path, check this post https://forum.magicmirror.builders/topic/62/face-recognition-file-can-t-be-opened-for-writing/5