A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.
  • Google photos not showing

    Moved
    3
    0 Votes
    3 Posts
    685 Views
    P
    My SD card crashed so I restored my backup and now it doesnt show any images I got everything else back up just not google photos, I am currently thinking of deleteing the module all together and reinstalling that but if theres another way I’m interested to know how. Cheers. Pete.
  • Black screen with cursor

    12
    0 Votes
    12 Posts
    4k Views
    S
    @Clubjack well. 2.13 is current. lots of fixes since then. but if it’s working for you…
  • Can I start a script from MMM-Remote-Control or something else?

    1
    0 Votes
    1 Posts
    271 Views
    F
    I have finally gotten most of it working. I’m almost ready for halloween :-) I’m going to create a scene that will make the light flicker, and then I want to start a movie playback via a MQTT command. I’ve made a script that will random select a clip and play it back, and it shows up as it should, on top of the MM. But how can I get that done? I tried using the ‘MMM-Remote-Control’ and add a command with customcommand, but it seems that I can not just add a random command, I can only redefine the already set up commands??? The MQTTBridge sends out perfect NOTI’s, so anything that can react to this would work? Any ideas?
  • NPM start, starts but with blank screen

    21
    0 Votes
    21 Posts
    7k Views
    S
    @natebrown u don’t install my scripts. u use the scripts to do the different tasks each command is a cut and paste to execute.
  • All modules are not on MichMich/MagicMirror/wiki/3rd-party-modules

    3
    0 Votes
    3 Posts
    2k Views
    BKeyportB
    @RIKKO14 There’s a couple reasons for this: The module author didn’t add their module to the page. (it’s editable by anyone) The module has been removed from the list by author or other person for reasons. Basically, the list isn’t inclusive, and nobody really maintains the list against anything else. I personally use 2 different modules that aren’t even released. :) Really, this forum is the best place to find out about modules.
  • MMM-Lunartic

    5
    1
    0 Votes
    5 Posts
    825 Views
    R
    @bjoern thank you I adapted the custom.css like this and it suits me : .MMM-Lunartic img.photo { /* display: none; uncomment if you don't want an image */ max-width: 100%; margin-left: 250px; /* Precisely align moon picture with these */ margin-right: 0px; margin-top: 0px; /* -41px for current. -21px for animation or static. */ margin-bottom: -95px; /* -51px for current. -21px for animation or static. */ } now this is the line of text that I would like on one line. I do not see in the MMM-Lunartic.css which part this concerns, can you help me ? (see the photo below) the weatherforecast is MMM-WeatherOrNot and the Map is MMM-TomTomTraffic. [image: 1602936279637-2020-10-17-135442_1080x1920_scrot.png]
  • My mirror, help wanted!

    4
    0 Votes
    4 Posts
    596 Views
    S
    @lindberg video live feed is also available… see the 3rd party list https://github.com/MichMich/MagicMirror/wiki/3rd-party-modules
  • [Electron] : black screen

    28
    0 Votes
    28 Posts
    6k Views
    R
    @sdetweil it’s work, T.H.A.N.K Y.O.U !!!
  • MMM-MarineWeather : low and high tide

    1
    0 Votes
    1 Posts
    283 Views
    R
    I have just installed the MMM-Marine Weather module which I find really good but I think that an important piece of information is missing: the high and low tide times. This module uses The StormGlass API key and on the StormGlass website I think I can see here (in the extremes-point-request part): https://docs.stormglass.io/#/tide?id=extremes-point-request that we can have the schedules of high tides and low tides. Being a total noob and not knowing how to program is it possible for someone to add this option to this module which would be PERFECT ?
  • tide module for France

    10
    1
    0 Votes
    10 Posts
    1k Views
    C
    @RIKKO14 put off the first line
  • MM-concert-calendar

    1
    0 Votes
    1 Posts
    217 Views
    R
    Hello, I am trying to install the MM-concert-calendar module. after runing query: https://api.songkick.com/api/3.0/search/locations.json?query=YOUR_CITY_HERE&apikey=YOUR_SONGKICK_API i have this: {"resultsPage": {"status": "ok", "results": {"location": [{"city": {"lat": 49.1833, "lng": - 0.35, "country": {"displayName ":" France "}," displayName ":" Caen "}," metroArea ": {" lat ": 49.1833," lng ": - 0.35," country ": {" displayName ":" France "}," uri ":" http://www.songkick.com/metro_areas/28855-france-caen? utm_source=59898&utm_medium=partner "," displayName ":" Caen "," id ": 28855}}]}," perPage ": 50, "page": 1, "totalEntries": 1}} i open open concertcalendar.js but i don’t find the property named in the concertcalendar.js : /* Magic Mirror * Module: ConcertCalendar * * By Marc Pratllusà https://github.com/muilpp * based on a Script from Benjamin Angst http://www.beny.ch * MIT Licensed. */ Module.register("concertcalendar",{ // Define module defaults defaults: { maximumArtist: 150, // Number of bands to check if they are on tour concertsPerPage: 8, updateInterval: 60 * 60 * 24 * 1000, // Once a day. paginationInterval: 20 * 1000, // Every twenty seconds. animationSpeed: 2000, fade: true, fadePoint: 0.25, // Start on 1/4th of the list. initialLoadDelay: 0, // start delay seconds. apiBase: 'http://localhost:8282/concerts', area: "28714", //your songkick area here (Barcelona, Spain by default) user: "",. //your lastfm username here titleReplace: { "Upcoming Concerts Calendar ": "" }, }, // Define required scripts. getStyles: function() { return ["concertcalendar.css", "font-awesome.css"]; }, // Define required scripts. getScripts: function() { return ["moment.js"]; }, // Define start sequence. start: function() { Log.info("Starting module: " + this.name); // Set locale. moment.locale(config.language); this.concerts = []; this.visibleConcerts = []; this.loaded = false; this.paginationTimer = null; this.paginationIndex = 0; this.scheduleUpdate(this.config.initialLoadDelay); this.paginationUpdate(); this.updateTimer = null; }, // Override dom generator. getDom: function() { var wrapper = document.createElement("div"); var table = document.createElement("table"); table.className = "small"; for (var t in this.visibleConcerts) { var concert = this.visibleConcerts[t]; var row = document.createElement("tr"); table.appendChild(row); var concertArtistCell = document.createElement("td"); concertArtistCell.className = "from"; concertArtistCell.innerHTML = concert.artist; row.appendChild(concertArtistCell); var concertCityCell = document.createElement("td"); concertCityCell.innerHTML = " - " + concert.city.trim()+", "; concertCityCell.className = "align-right trainto"; row.appendChild(concertCityCell); var concertDate = document.createElement("td"); concertDate.innerHTML = concert.concertDate; concertDate.className = "align-right trainto"; row.appendChild(concertDate); } return table; }, /* updateTimetable() * Calls processConcerts on succesfull response. */ updateTimetable: function() { var url = this.config.apiBase + this.getParams(); var self = this; var retry = true; var concertRequest = new XMLHttpRequest(); concertRequest.open("GET", url, true); concertRequest.onreadystatechange = function() { if (this.readyState === 4) { if (this.status === 200) { self.processConcerts(JSON.parse(this.response)); } else if (this.status === 401) { self.config.id = ""; self.updateDom(self.config.animationSpeed); Log.error(self.name + ": Incorrect, 401 reponse..."); retry = false; } else { Log.error(self.name + ": Could not load concerts."); } if (retry) { self.scheduleUpdate((self.loaded) ? -1 : self.config.retryDelay); } } }; concertRequest.send(); }, /* getParams(compliments) * Generates an url with api parameters based on the config. * * return String - URL params. */ getParams: function() { var params = "/"; params += this.config.area; params += "/" + this.config.user; params += "?limit=" + this.config.maximumArtist; return params; }, /* processConcerts(data) * Uses the received data to set the various values. * * argument data object - Weather information received form openweather.org. */ processConcerts: function(data) { this.concerts = []; data.forEach((concert) => { var city = concert.City.split(","); if (city.length > 0) { cityToAdd = city[0]; if (city[0].length > 9) cityToAdd = city[0].substring(0,9)+".."; artistToAdd = concert.Artist; if (artistToAdd.length > 10) artistToAdd = artistToAdd.substring(0,10)+".."; var date = new Date(concert.Date); this.concerts.push({ artist: artistToAdd.trim(), city: cityToAdd.trim(), concertDate: date.getDate()+"/"+(date.getMonth()+1) }); } }); this.loaded = true; concertsToShow = this.concerts.slice(0,this.config.concertsPerPage); this.visibleConcerts = this.visibleConcerts.concat(concertsToShow); this.updateDom(this.config.animationSpeed); }, paginate: function() { this.paginationIndex = this.paginationIndex + this.config.concertsPerPage; if (this.concerts.length > this.paginationIndex) { this.visibleConcerts = this.concerts.slice(this.paginationIndex, this.paginationIndex+this.config.concertsPerPage); } else { this.visibleConcerts = this.concerts.slice(0,this.config.concertsPerPage); this.paginationIndex = 0; } this.updateDom(this.config.animationSpeed); }, /* scheduleUpdate() * Schedule next update. * * argument delay number - Milliseconds before next update. If empty, this.config.updateInterval is used. */ scheduleUpdate: function(delay) { var nextLoad = this.config.updateInterval; if (typeof delay !== "undefined" && delay >= 0) { nextLoad = delay; } var self = this; clearTimeout(this.updateTimer); this.updateTimer = setTimeout(function() { self.updateTimetable(); }, nextLoad); }, paginationUpdate: function() { var self = this; setInterval(function() { self.paginate(); }, this.config.paginationInterval); }, }); and add my username in the property right below it. If not, is there a simpler module to have concerts close to home in France? I tried with MMM-Events but my city, Caen in France (city of more than 100,000 inhabitants), is too small for the eventful API: on the eventfull website concerts are displayed but with the API concerts are not are not found, by contacting eventful I understood that I would have to buy an API which I do not want and moreover Eventful forgets a lot of concerts for my city. Thank you for your help.
  • MMM-FUEL, api key for France

    3
    0 Votes
    3 Posts
    440 Views
    R
    yes but in the README.md It’s wrote the name of the provider “tankerkoenig”, I think it’s possible to change the config option provider , no ?
  • Cant create Google API Token

    7
    0 Votes
    7 Posts
    1k Views
    C
    I Think there Was a Problem with Google. Today i try it again and it worked. 👍🏼
  • MMM-GoogleCast ne fonctionne plus

    Moved
    2
    0 Votes
    2 Posts
    368 Views
    lavolp3L
    @did said in MMM-GoogleCast ne fonctionne plus: ps: this forum is very cool. Bravo and it even magically edits your posts :-)
  • Comment désactiver le message "low voltage"

    6
    1
    0 Votes
    6 Posts
    3k Views
    D
    Bonjour J’ai désactivé le paquet “battery monitor plugin for lxpanel” et je n’ai plus l’info low voltage d’affiché . Merci Lavolp3 et les autres pour votre aide precieuse . Google Traduction : Hello I disabled the “battery monitor plugin for lxpanel” package and I no longer have the low voltage info displayed. Thank you Lavolp3 and the others for your precious help.
  • 0 Votes
    7 Posts
    3k Views
    H
    Some additional Information: In calendarfetcher.js and nodehelper.js is the following line: const Log = require("../../../js/logger.js"); If you copy the “calendar” folder down to “modules” this reference will be broken. So you have to change to: const Log = require("../../js/logger.js");
  • Module shown few minute after hiding it

    5
    0 Votes
    5 Posts
    911 Views
    H
    Hey guys, got a similar Probem with the Weatherforecast Module working with Pages Module. Weatherforecast is configurated on just one Page and shows up on every Page after update. I guess found a solutiion on that: On Weatherforcast.js on line 377 this.show(this.config.animationSpeed, { lockString: this.identifier }); is called. I guess this has to be done, when Module is shown up to update UI, but not if Module is hidden. So if (!this.hidden) this.show(this.config.animationSpeed, { lockString: this.identifier }); does the trick.
  • Dropbox-Uploader: how to synchronize a folder with cron job?

    11
    0 Votes
    11 Posts
    4k Views
    S
    @MajorC yes.pm2 reruns regardless how the system was rebooted
  • Cant recieve RSS feed

    rss magicmirror2 feed newsfeed xml
    4
    0 Votes
    4 Posts
    1k Views
    S
    @Abram the current code has no ability to see the header or its contents
  • MMM-Trello black screen

    7
    3
    0 Votes
    7 Posts
    988 Views
    S
    @trappettim see the report at the top of the troubleshooting section with the fix https://forum.magicmirror.builders/topic/13774/2-13-back-screen