A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.
  • Input...What do you think?

    54
    2
    3 Votes
    54 Posts
    40k Views
    cowboysdudeC
    @strawberry-3.141 said in Input...What do you think?: config.timeFormat Thank you for that!!! One config option gone :) There now the time function is all automatic :) ALL controlled by the users input here: language: 'en', timeFormat: 12, Ok I’ve had my tea and toast so I must head out the door for the day :)
  • Fun plugins ...

    6
    0 Votes
    6 Posts
    3k Views
    ?
    Add some beard or mustache on face of visitor who see the mirror for fun.
  • Send Notification from one module to another module

    6
    0 Votes
    6 Posts
    5k Views
    SvenSommerS
    It seemed the sender is now a object not only a string with several properties. Therefore this code snippet has changed a little by sender to sender.name: notificationReceived: function(notification, payload, sender){ if(notification === "NEW_STUFF" && sender.name === "modula"){ //handle the payload: {foo: "bar"} } }
  • Where to begin for module making?

    5
    0 Votes
    5 Posts
    2k Views
    T
    Excellent. Thank you SvenSommer. I will definitely use that to help. I love your build. Very stunning!
  • Module and atom noob needs help

    3
    1
    0 Votes
    3 Posts
    2k Views
    J
    @dekthaigrean For testing, I’ve installed MagicMirror on my macbook. I start it manually from the terminal with npm start, and monitor the server-side output from there. You can monitor the browser-side output in the developer console of Electron. Hover your mouse near the top of the screen, and you’ll be able to release Electron from full-screen mode, then enable dev tools from the menu under View -> Toggle Developer Tools. (pro tip: you can also open Chrome and point it to http://localhost:8080 if you want to take advantage of any other Chrome plugins for debug purposes). I use a lot of console.log calls to output various information (variable values, output from API requests, etc) while I write my modules. The node_helper.js file (if you choose to use one) runs server side, and any code changes you make require a restart of MM. Any console.log out from node_helper.js will show up in the terminal window. The main js file (e.g.: MMM-YourModule.js) runs in the browser and any console.log output from the main js file will be in Electron’s dev tool console tab. A browser refresh is all you need to reflect code changes in the that file. Once I’ve got my module in a stable state, I copy it to my Raspberry Pi and let it run several days on my mirror to see if there are any problems with normal usage. On the mirror, however it’s harder to monitor browser-side console.log output, especially if you run your Pi without a keyboard and mouse connected. So it’s advantageous to do all your heavy lifting in the node_helper.js file so that any errors will be output to MM’s log files. If you’re using pm2 to run MagicMirror, you can see this log with pm2 logs mm (Assuming the name you gave to the Magic Mirror process was “mm”). Your choice of text editor is fine, but it’s just a text editor, and it’s not going to have any knowledge over the rest of the Magic Mirror’s framework. If you like Atom, but want to try something else, you may also like Sublime Text. I’m not sure if Atom does this, but Sublime has a nice feature that divides the screen into multiple panels so you can have several files open side by side. I find this especially helpful when I’m writing my CSS. I’ll have the CSS on one side, and the main js file on the other. Easy to keep track of class names when I write the rules.
  • Bing-Traffic

    4
    0 Votes
    4 Posts
    2k Views
    O
    after that, put the HTML file in the MMM-iFrameReload directory… you generate the HTML file from this site https://developers.google.com/maps/documentation/javascript/examples/layer-traffic
  • Can I use Chrome for Magicmirror?

    4
    0 Votes
    4 Posts
    2k Views
    ?
    @strawberry-3.141 Thank you very much.
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    21 Views
  • So then, what languages to learn?

    Moved
    6
    0 Votes
    6 Posts
    6k Views
    M
    From my attempts at learning, I think JavaScript and Node.JS are different. Even though node is created with JS it would be worthwhile learning Node.js to get an understanding of how it all runs.
  • Small tips for developemnt on OSX

    1
    1 Votes
    1 Posts
    1k Views
    ?
    I’m not a developer. Once(past 10 yrs) I was, but no more now. So these small tips might be not the best. And even many people might already know… However I want to share with you. These tips are working on OSX.(Your mac should be in the same network with RPi) But I think these are possible in Windows also. VNC : You don’t need any additional Monitor for development or configuring RPi(raspbian Jessie or Jessie lite) If your raspbian has VNC Server (like X11VNC Server), You can see your raspi screen with your Safrari browser on your mac. Just open your safari and navigate to vnc://your-rpi-ip (eg. vnc://192.168.178.100). It works perfectly. No additional vnc viewer is needed. If you want to use Chrome, you can use this plugin. Sharing file system. If you installed Netatalk in your RPi, you can see your RPI files in your OSX Finder. You don’t need any FTP. VNC setup and sharing file system instructions are here. Remote text editor instead nano I always don’t like all the text-editors on the shell, VI, emacs, nano… :P I recommend Atom.io for developing. Textmate and SublimeText are also good. If you use one of these, you can open the file from Shell to your OSX GUI-editor. for Atom for Textmate for SublimeText 3 (Technically, all these 3 use the same program - rmate)
  • Google Assistant Demo and Idea.

    9
    2 Votes
    9 Posts
    6k Views
    Mykle1M
    @cowboysdude said in Google Assistant Demo and Idea.: EVERY American has a bad accent… do your worst LOL Uhh, I’m from New Yawk Siddy. I aint got no ackcent. Fuhgeddaboudit!
  • New to Modules, Need help

    Solved
    9
    0 Votes
    9 Posts
    5k Views
    Mykle1M
    @cowboysdude said in New to Modules, Need help: LOTS OF MADNESS LOL And your fair share of genius! (Guru)
  • Youtube Embed API

    4
    0 Votes
    4 Posts
    3k Views
    A
    @Stubbsy1994 The link you provided describes how to embed youtube API into HTML sites using iframe-Tags in two ways. It seems, the module shown in the thread above uses the first method (iframe with source http:// www.youtube. com/embed/VIDEO_ID?parameters). I guess, the pure JS method ultimatively also uses an iframe since its called IFrame Player API. As far as I can see, both have equal functionality. It’s not really documented, but it seems like you can call all the functions for the player-object listed here in the direct iframe approach (first method), too. See parameter enablejsapi=1. For example pause or seek-to (not verified for all functions!): $('#video1')[0].contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', '*'); $('#video1')[0].contentWindow.postMessage('{"event":"command","func":"seekTo","args":[20, true]}', '*'); Compare sendCommand function in youtube.js of the module described in the thread above. So even though the module may not satisfy all your needs by now, maybe you can take it as a starting point to develop your own solution?!
  • Show/Hide my own module in combination with MMM-Facial-Recognition

    2
    1 Votes
    2 Posts
    1k Views
    J
    For more context on this, in fact my understanding above is correct. I modified both MMM-Facial-Recognition and my own module to use a lockString option, and the module is showing and hiding as I expect / want now. However it doesn’t address my second question – could I have accomplished this without modifying MMM-Facial-Recognition?
  • TESTERS WANTED - Multi-sport Scoreboard module

    15
    0 Votes
    15 Posts
    9k Views
    J
    @d3r looks like I won’t be able to add MLS. Turns out there is no public API available, and I don’t really want to go down the route of scraping a web site. Still going to add NFL, and hopefully CFL (still looking for an API). The good news, is that I’ve set this up to be modular. Adding sports is a fairly easy thing to do when an API becomes available. If MLS decides to make available an API, it’s maybe a couple of hour’s worth of effort to get it set up.
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    77 Views
  • sendSocketNotification is not working from node_helper to main module

    1
    0 Votes
    1 Posts
    1k Views
    P
    Hi, I am new to node.js.I am trying to create new sample module “test”.I am sending notification from test module to node_helper and trying to receive notification back to test module.From test module to node_helper notification works fine, but test module does not receive any notification from node_helper. Here is my module code: test.js: Module.register("test",{ defaults:{ text:"Happy Birthday!!!!" }, getDom: function() { var wrapper = document.createElement("div"); wrapper.innerHTML =this.config.text; return wrapper; }, start:function(){ this.sendSocketNotification("main",{message:"test1"}); }, socketNotificationReceived: function(notification, payload) { console.log('socketNotificationReceived() in main module..'+notification); if (notification === "test2") { console.log('test2 socket notification received...'); } } }); Here is node_helper.js: var NodeHelper = require("node_helper"); module.exports = NodeHelper.create({ // Override start method. start: function() { }, // Override socketNotificationReceived method. socketNotificationReceived: function(notification, payload) { var self=this; console.log('*Starting socketNotificationReceived()*'+notification); if (notification === "main") { console.log(notification+' socket notification received...'); this.function1(); } }, function1:function(){ console.log('inside function1'); this.sendSocketNotification("test2",{message:"test2"}); } }); Here is config.js: var config = { port: 8080, ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], // Set [] to allow all IP addresses. language: "en", timeFormat: 24, units: "metric", modules: [ { module: "test", position: "top_right" } ] }; I am stuck there since last 3-4 days.If something is missing or wrong please correct me.Any help appreciated
  • Can I control a relay on MagicMirror2?

    9
    0 Votes
    9 Posts
    5k Views
    johnsonkaoJ
    Using WebIOPI is simple way to control GPIOs . The followings is my solution. To install WebIOPI to your raspberry Pi. webiopi Installation Note: if you use webiopi 0.7 and rasp 2, you have to run the patch. In the node_help.js of your module, use ‘http post’ to control the GPIOs. WebIOPI rest api ex: SET ‘GPIO 3’ to ‘IN’ , the request as below: HTTP POST http:/192.168.1.200:8000/GPIO/3/function/in
  • MMM-Todoist Refresh Completed Tasks

    1
    0 Votes
    1 Posts
    1k Views
    joela85J
    Currently the MMM-Todoist module does not remove tasks from Todoist once you complete them on the app. Only if you add another task will it remove the completed task. Is anybody able to take a look at the code and work out if this can be rectified?
  • Rasperry + AlexaPi = Modul ???

    3
    0 Votes
    3 Posts
    2k Views
    M
    Hy, but There is no description for the modul or anything Else. The modul in The Forum have i Seen. But There is no configuration or description how to