A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.
  • what can i do in a module, porting from another mirror project

    13
    0 Votes
    13 Posts
    3k Views
    idoodlerI
    @sdetweil Glad I could help you!
  • Module Position

    34
    0 Votes
    34 Posts
    11k Views
    M
    @strawberry-3-141 yes but I will probably use the voice control in a different way than I hought I would. Thats why I am not sure how I will change the code. Makes not much sence to waste your time on correcting the faults when I change pretty much every part of the program again right afterwards (and have to get used to git since I did not use it yet)
  • ReferenceError: Module is not defined...

    7
    1
    0 Votes
    7 Posts
    3k Views
    justjim1220J
    @strawberry-3-141 Thanks for answering… My calendar link is there, but my password is not. It does say private, but it actually is public, so anyone can see it, nothing too personal ever gets put on there anyway. :smirking_face: I can get a YT player to work on the MM, I’m just trying to figure out how to shuffle the list so it doesn’t start from the first song every time i gets loaded. And, if it’s just the video it has problems with, it gives a different error and will go to the next video. So, I know its not that either.
  • Modules again.....

    11
    0 Votes
    11 Posts
    4k Views
    idoodlerI
    @sdetweil Actualy JSON requires quotation of the key and of the value (if the value is a string) Example of a JSON file: { "string": "This is a string", "bool": true, "int", 1, "float": 3.14, "arrayOfStrings": [ "string1", "string2" ], "arrayOfInts": [ 1, 2 ] } The same can be used in a Javascript file, but as an object. You can also throw away the quotation of the keys.
  • programming model

    11
    0 Votes
    11 Posts
    4k Views
    S
    thanks… the image is not shown in the dom, it is shown in a separate ‘browserwindow’, floating over the dom. i just loadUrl the image into the window, after creating and positioning it. the mirror code doesn’t know the images are there pictorial calendar reminders. I have tested that the helper needs to do all this window mgmt The scheduler module does scheduling (compare db data to calendar entries), start/stop viewer(s), and provide indirect services to load images depending on their source (file, dropbox, google drive, one drive). The viewer module just walks thru a list of urls (getNext()) and opens a window hidden, loads image, hides old window, shows new window, deletes old window. (avoid dead window during load and, minimize screen flash)
  • Help QuickBooks module for MM

    2
    0 Votes
    2 Posts
    2k Views
    E
    I don’t think this is a good idea. A MagicMirror is by definition an IoT device, and IoT devices are notoriously known for their insecure practices. In fact, the default NOOBS install for the RPi from a security standpoint is a big no-no. Unless you have hardened your Pi to have sufficient security practices AND made sure that your network is secure, I would highly recommend against having an IoT device have access to your personal/business financial data. Plus, there are a few QB platforms e.g. online and desktop. Setting up access to a desktop QB file would likely require a computer to act as a QB server 24/7. And Quickbooks isn’t free, and module developers won’t be buying a subscription just to develop on it.
  • 0 Votes
    7 Posts
    2k Views
    M
    a slack module sounds great
  • Navigation inside MagicMirror with Buttons / Rotary Encoder on GPIO

    Moved
    11
    1
    0 Votes
    11 Posts
    6k Views
    A
    Hi to all, i finished the first version of my module, detail see: MMM-Navigate AxLED
  • 0 Votes
    3 Posts
    2k Views
    E
    @hsukup1 Download their Android app and extract the APK file. then search for their URL (and API key if any).
  • How to pipe a stream to module

    2
    0 Votes
    2 Posts
    842 Views
    asimhsiddA
    I guess the only way is to pipe the stream to a web socket which is turn piped to jsmpeg element… Any thoughts?
  • Stuck in development

    4
    0 Votes
    4 Posts
    1k Views
    B
    @patex said in Stuck in development: populate the standings object yourself If i would send the entire teams data how would i go about doing that? thx btw for the answer
  • Prepping my first build. Care to check my work?

    26
    0 Votes
    26 Posts
    10k Views
    3
    @mykle1 @yawns @bhepler @ninjabreadman @cruunnerr After a bit of a hiatus due to other projects, I’m back at it. Think I should open a new post as the site suggested? I got two cheap ~20" monitors and cut two panes of glass to size. I figure the first one I do will be kinda an MVP (minimum viable product) approach, and with the second I’ll customize it more to my preferences. My main question is how to securely attach the wood rear frame to the monitor. This isn’t a glue situation is it? I’ve got few heavy duty glues but that still doesn’t “feel” secure. The guides I’ve seen seem to gloss over like it’s obvious. To me at least, it’s not. Remaining little questions: How thick should/must the wood for the frame be? How much heft does it need to properly support the monitor/mirror? How much space can I safely save by cutting it down to get it closer to flush with the wall? At least in my mind, the back frame shouldn’t encompass the entire perimeter but be strategically located on the back of the monitor. But maybe I’m wrong here, as I suppose it serves the purpose of blocking the view of the inner workings. Thanks for all your help along the way. I’m looking forward to sharing pics of the completed beta build as soon as I can!
  • MMM-NetworkScanner revisited

    4
    1 Votes
    4 Posts
    2k Views
    E
    @zdenek Can you post your findings in the github issues pelase? I just posted about the same…
  • Slideshow Module with PDF support

    1
    0 Votes
    1 Posts
    769 Views
    F
    Hey guys, I need your help :). My module “Pictures” can show any kind of pictures, located on a mounted network drive. On startup node_helper mounts a specific drive, then it scans this folder every two seconds (it could be any other value) and write all filenames in a text file. Pictures imports and filters this file. At the end it generates a slideshow. Now I want to implement pdf files in the same way. Actually it works with a little workaround but I’m not happy with that. I have to start MagicMirror and additionally I have to start another browser (unfortunatelly “node serveronly” doesn’t work) on the pi to show pdf files with the integrated plugin. For that I have several questions^^: Is there a possibility to show pdf files native in my module? My slideshow is a little laggy on the pi (3B). Any PC with the same network connection shows the same slideshow in browser with perfect performance. Can I improve my slideshow performance anyhow? I have a problem to run “node serveronly” with raspian stretch an the new MagicMirror 2.3.1. I can start but as soon as I connect to the pi by IP:8080 my module generates -75 errors. This won’t happen if MagicMirror runs with “npm start”. Best regards flash node_helper.js var request = require('request'); var NodeHelper = require("node_helper"); const exec = require('child_process').exec; module.exports = NodeHelper.create({ start: function() { this.started = false; }, socketNotificationReceived: function(notification, payload) { if (notification === "CONFIG" && this.started == false) { this.config = payload; // mounting network drive exec("/usr/bin/sudo mount -t cifs -o user=" + this.config.user + ",password=" + this.config.password + " " + this.config.source + " /home/pi/MagicMirror/modules/Pictures/images", null); this.started = true; } if (notification === "GET_PICTURE_DATA" && this.started) { var path = "/home/pi/MagicMirror/modules/Pictures/images/"+ this.config.folder + "/"; var opt1 = '-type f ! -path "/home/pi/MagicMirror/modules/Pictures/images/' + this.config.folder + '/.thumb/*" | awk -F"/"' var opt2 = '{print $NF"/" }'; var opt3 = '| sort > ~/MagicMirror/modules/Pictures/files.txt'; exec("find " + "'" + path + "' " + opt1 + " '" + opt2 + "' " + opt3, null); this.getData(payload); } }, getData: function(options) { request(options, (error, response, body) => { this.sendSocketNotification("PICTURE_DATA", body); }); } }); Pictures.js var showPicture = 0; var textdata = []; var textdataHelp = []; var findExt = []; Module.register("Pictures",{ defaults: { loadingText: 'Lade SlideShow...', pictureInterval: 20 * 1000, }, start: function() { Log.info("Starting module: " + this.name); this.loaded = false; this.sendSocketNotification('CONFIG', this.config); this.locationSelf = window.location.href; this.file = 'modules/Pictures/files.txt'; setTimeout(this.updateFiles, 2000, this); }, socketNotificationReceived: function(notification, payload){ if(notification === 'PICTURE_DATA' && payload !== null){ this.loaded = false; textdataHelp = payload.split("/\n"); if (textdataHelp[0] !== ""){ textdata = []; // textdata will not be cleared, if helper has no content } for (i = 0; i textdata.length - 1) { showPicture = 0; } self.updateDom(1000); showPicture++; } }, getDom: function() { var wrapper = document.createElement("div"); var pictureInfo = document.createElement('table'); if (!this.loaded) { wrapper.innerHTML = this.config.loadingText; return wrapper; } var currCount = showPicture + 1; var tableHead = document.createElement('tr'); tableHead.className = 'normal small'; var y = 0 findExt = textdata[showPicture].split("."); for (i = 0; i 0){ //tableHead.innerHTML = '<br />' + currCount + '/' + textdata.length; tableHead.innerHTML = '<br />' + currCount + '/' + textdata.length; }else{ tableHead.innerHTML = '<img src="' + this.locationSelf + 'modules/Pictures/images/' + this.config.folder + '/' + textdata[showPicture] +'" alt="Vorschau" /><br />' + currCount + '/' + textdata.length; } y = 0; findExt = []; pictureInfo.appendChild(tableHead); wrapper.appendChild(pictureInfo); return wrapper; }, });
  • Debugging

    22
    1 Votes
    22 Posts
    16k Views
    strawberry 3.141S
    @Sputnik could be the updatenotification module, which is probably not able to read a modules git config. Did you download modules manually or did you use git clone?
  • [Solved] Module asking SNCF API

    2
    0 Votes
    2 Posts
    2k Views
    J
    Problem solved. the module is working
  • 1 Votes
    5 Posts
    2k Views
    G
    You can find any information about bitcoin here: https://bitcoinbestbuy.com. There is a detailed guide for beginners, in which countries and what cryptocurrency. How to buy in USA and so on. Very interesting and cool articles and more!
  • Is there a way to programmatically change the position of a module

    2
    0 Votes
    2 Posts
    891 Views
    V
    I did it manually using references the modules and containers. It worked a lot better than I assumed it would as well since references to the modules seem to stay intact so hiding them still works. I will post the full module when I’m done if in case anybody wants to see how I hacked it together. P.S. If there is a more official way, I would still like to know what it is.
  • 0 Votes
    2 Posts
    890 Views
    strawberry 3.141S
    @mediathreat you have different possibilities, e.g. add a class in your td tag add a class attribute class='MyFancyTitle', the forum don't want to render it. Then in your css you can style this class or add inline styling in your td tag add a style attribute style='font-weight: bold'
  • How to show a popup window

    4
    0 Votes
    4 Posts
    2k Views
    H
    Have you had any luck with this. I’d also like some way to change alarm times on a touch screen.