Read the statement by Michael Teeuw here.
Remote Control doesn't work for me, Please help!
-
Hi everyone/anyone.
Hoping if anyone can provide some guidance for me. I have the latest version of MM2 installed with Buster. I have managed to get everything I wanted up and running except MMM-Remote control. I get the common error that you normally get when something isnt right and it wont display. I have copied from the https://github.com/Jopyth/MMM-Remote-Control using the following:
{ module: 'MMM-Remote-Control' // uncomment the following line to show the URL of the remote control on the mirror // , position: 'bottom_left' // you can hide this module afterwards from the remote control itself config: { customCommand: {}, // Optional, See "Using Custom Commands" below customMenu: "custom_menu.json", // Optional, See "Custom Menu Items" below showModuleApiMenu: true, // Optional, Enable the Module Controls menu apiKey: "", // Optional, See API/README.md for details } },
I also need to mention this is my 2nd day learning this, so I know I have much to learn. I have no clue why I can’t get the remote to work. I also tried to follow https://www.youtube.com/watch?v=539zmAJREe4 on youtube. I really don’t what I am doing wrong. If anyone can assist that would be awesome!
Thank you for reading this and your time & wisdom.
Best Regards,
F
-
@justlearning I think it’s just missing a comma in the first line. Try
modules: ‘MMM Remote Control’, -
Please use the </> when posting code
{ module: 'MMM-Remote-Control' // uncomment the following line to show the URL of the remote control on the mirror // , position: 'bottom_left' // you can hide this module afterwards from the remote control itself config: { customCommand: {}, // Optional, See "Using Custom Commands" below customMenu: "custom_menu.json", // Optional, See "Custom Menu Items" below showModuleApiMenu: true, // Optional, Enable the Module Controls menu apiKey: "", // Optional, See API/README.md for details } },
My guess is that your problem is within point 3.
(3) For security reasons, the MagicMirror (and therefore the Remote Control) is not reachable externally. To change this, configure address, and ipWhitelist in your config.js (see these lines in the sample config). For
example change address to 0.0.0.0 and add two allowed devices with IP-Adresses 192.168.0.42 and 192.168.0.50:address : ‘0.0.0.0’,
port: 8080,
ipWhitelist: [“127.0.0.1”, “::ffff:127.0.0.1”, “::1”, “::ffff:192.168.0.42”, “::ffff:192.168.0.50”],"You can also add multiple devices in an IP range (e.g. all devices with 192.168.0.X):
ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.0.1/120", "192.168.0.1/24"],
-
@Alloc Thanks for the advice, I have now gotten to the point , its showing that the : HTTP://ip-of-your-mirror:8080/remote.html this is what I see. Here is all my code now:
Thanks to anyone that can solve my stupidity!/* 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: "localhost", // Address to listen on, can be: address: "0.0.0.0", // - "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: 8080, //ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], ipWhitelist: [], // 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: 12, 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: "bottom_bar" }, { module: "clock", position: "top_left" }, { module: "calendar", header: "Canadian Holidays", position: "top_left", config: { calendars: [ { symbol: "calendar-check", url: "webcal://www.calendarlabs.com/ical-calendar/ics/39/canada_Holidays.ics" } ] } }, { disabled: false, module: 'MMM-Lunartic', position: 'top_right', // Best in left, center, or right regions config: { mode: "rotating", // rotating or static image: "animation", // animation, current, DayNight or static distance: "km", // miles or km sounds: "no", // howling wolf, only on a full moon useHeader: false, // true if you want a header header: "The Lunartic is in my head", // Any text you want maxWidth: "300px", animationSpeed: 0, rotateInterval: 15000, } }, { module: "MMM-GooglePhotos", position: "center", config: { albumId: ["XXXXXXXXXXXXXXXXXXX"], // your album id(s) from result of `auth_and_test.js` refreshInterval: 1000*60, scanInterval: 1000*60*10, // too many scans might cause API quota limit also. //note(2018-07-29). It is some weird. API documents said temporal image url would live for 1 hour, but it might be broken shorter. So, per 10 min scanning could prevent dead url. sort: "time", //'time', 'reverse', 'random' showWidth: "800px", // how large the photo will be shown as. (e.g;'100%' for fullscreen) showHeight: "600px", originalWidthPx: 800, // original size of loaded image. (related with image quality) originalHeightPx: 600, // Bigger size gives you better quality, but can give you network burden. opacity: 1, // target "opacity" property (https://www.w3schools.com/cssref/css3_pr_opacity.asp) mode: "hybrid", // "cover" or "contain" (https://www.w3schools.com/cssref/css3_pr_background-size.asp) //ADDED. "hybrid" : if you set as "hybrid" it will change "cover" and "contain" automatically by aspect ratio. } }, /* { module: "compliments", position: "lower_third" }, * */ { module: "currentweather", position: "bottom_right", config: { location: "Vancouver", locationID: "6173331", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city appid: "XXXXXXXXXXXXXX" } }, { module: "weatherforecast", position: "bottom_right", header: "Weather Forecast", config: { location: "Vancouver", locationID: "6173331", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city appid: "XXXXXXXXXXXXX" } /* { module: 'MMM-Remote-Control' // uncomment the following line to show the URL of the remote control on the mirror , position: 'bottom_left' // you can hide this module afterwards from the remote control itself config: { apiKey: '' } * **/ }, { module: 'MMM-Remote-Control', //uncomment the following line to show the URL of the remote control on the mirror position: 'bottom_left', // you can hide this module afterwards from the remote control itself }, { module: "MMM-NowPlayingOnSpotify", position: "bottom_left", config: { clientID: "XXXXXXXXXXXXXXXXXXXXX", clientSecret: "XXXXXXXXXXXXXXX", accessToken: "XXXXXXXXXXXXXXXXX", refreshToken: "XXXXXXXXXXXXX" } }, { module: "newsfeed", position: "bottom_bar", config: { feeds: [ { title: "Canada News", url: "https://www.ctvnews.ca/rss/ctvnews-ca-canada-public-rss-1.822284" } ], showSourceTitle: true, showPublishDate: true, broadcastNewsFeeds: true, broadcastNewsUpdates: true } }, ] }; /*************** DO NOT EDIT THE LINE BELOW ***************/ if (typeof module !== "undefined") {module.exports = config;}
-
@justlearning I would edit that out, because it shows all your API secrets.
Fx. Spotify
-
@Alloc @justlearning I have removed some sensitive information
-
@justlearning said in Remote Control doesn't work for me, Please help!:
its showing that the : HTTP://ip-of-your-mirror:8080/remote.html this is what I see.Here is all my code now:
Thanks to anyone that can solve my stupidity!
What is the remaining problem? What happens if you visit the site in your browser?