A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.
  • Community opinions on an interactive List module

    2
    1 Votes
    2 Posts
    258 Views
    S
    @cpcode welcome to the fun… you’ve done a good bit of the analysis work. as you’ve seen, very little interactivity is provided today there is a keyboard module https://github.com/lavolp3/MMM-Keyboard but thats such a tiny part of what you want to do… MM is a web page, so you can do it. . maybe managing the content and form are doable in the JSONFORM library https://github.com/jsonform/jsonform I use this in my MMM-Config module for customizing MagicMirror config.js without editing I’d store this kind of data in a mongo db, its all json, don’t have to do sql then there are modules that can display from json apis to update whatever source are the challenge accessing from phone is possible with jsonform too… its just a web page I use OurGroceries and Mealie as well.
  • Get the correct JSON data

    15
    0 Votes
    15 Posts
    965 Views
    htilburgsH
    @sdetweil Thanks, that works! Now I can really see what I’m doing.
  • Google keep

    5
    0 Votes
    5 Posts
    334 Views
    A
    @Kobose I am thinking of trying the same assuming the gkeepapi still works by kiwiz https://github.com/kiwiz/gkeepapi
  • Any way to access overall DOM?

    4
    0 Votes
    4 Posts
    145 Views
    M
    @Mystara Not tested, only with my brain, so just idea. Get all the DOMs which has textContent. const els = document.querySelectorAll('*') for (let i = 0; i < els.length; i++) { const el = els[i] const children = el.childNodes let hasText = false for (let j = children.length; j--) { if (children[j].nodeType === 3 && children[j].nodeValue.trim().length) { hasText = true break } } if (hasText) { //This element has text content } } If it and its ancestors don’t have a background, apply your solution. // assume that already know target element let withoutBackground = true let node = targetElement while (node.parentElement) { // until document const styles = window.getComputedStyle(node) if (styles.backgroundColor === 'transparent' || ... ) { // Maybe backgroundImage should be checked too. // node has no background, so check the parent node = node.parentElement } else { withoutBackground = false break } } if (withoutBackground) { // the target element has no its own background. So you can apply your solution. } To improve : a caching strategy for a once checked node to skip would be better.) However, I’m not too fond of this approach, getComputedStyle is very expensive Rather, it would be better to propose a theme style guide as MagicMirror’s default coding rules.
  • What is the difference between day_cloudy and cloudy?

    3
    0 Votes
    3 Posts
    116 Views
    U
    @sdetweil Thanks for the clarification. I am using the OpenWeather API. So if I understand correctly the difference between them is that day_cloudy means “few clouds” and that cloudy means “scattered clouds” (according to their descriptions). So it has nothing to do with daytime apparently. Thanks!
  • 0 Votes
    2 Posts
    143 Views
    S
    @Conno-Zulfikar you can get location from the internet ip address, google maps opens to your location a search will tell you how. nothing in magicmirror required
  • How to include weather-icons-wind

    4
    0 Votes
    4 Posts
    218 Views
    S
    @Thierry7100 awesome…
  • 1Day view - meeting rooms

    2
    1
    0 Votes
    2 Posts
    127 Views
    S
    @zdenek there is no module that will do all that you MIGHT be able to get wall calendar view from MMM-CaledarExt3 and agenda view from MMM-CalendarExt3Agenda but on one page… may have to use MMM-Pages or Carousel to have logical pages rotating
  • MMM-Tesla - state of the module

    3
    0 Votes
    3 Posts
    460 Views
    zdenekZ
    Hi, I’m trying to get it run, but for uknown reason says “loading”. I’ve the Refreshtoken. In first run Access token was generated and written to token.json. on my iPhone I can see status of Tesla, location, battery… so the car seems to be OK. thanks Zdeněk
  • Touch or click buttons for new module i am building

    3
    0 Votes
    3 Posts
    251 Views
    S
    @crg34711 also here is a tutorial for handling buttons in JS https://www.freecodecamp.org/news/html-button-onclick-javascript-click-event-tutorial/ one thing to note… FINDING the button via ID (getElementsByID), won’t work UNTIL AFTER you have returned from getDom() because your new content is not IN the document tree (DOM) until MM inserts it after getDom() returns it… you don’t need to do it the find way, just add an eventListener to the button element in the getDom() routine itself. you just created the button… so you have its object already use the developer window (ctrl-shift-i) sources tab to debug step thru your code as it happens
  • How do I contribute a PR to a module?

    3
    1 Votes
    3 Posts
    201 Views
    karsten13K
    see e.g. https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project
  • Need help for rewrite node_helper.js from 'request' to 'got'

    19
    0 Votes
    19 Posts
    933 Views
    htilburgsH
    @sdetweil ;-)
  • modules using openweather api need review

    Locked Moved
    2
    2 Votes
    2 Posts
    1k Views
    rejasR
    Github issue, in case someone wants to help: https://github.com/MagicMirrorOrg/MagicMirror/issues/3424
  • [Coding] update time from every 1 second to scheduled time

    21
    0 Votes
    21 Posts
    2k Views
    S
    @kent79 correct . I told you that I had changed the constant to test trigger and that you had to change it back
  • Show calendar based on IP Address accessed

    68
    0 Votes
    68 Posts
    17k Views
    S
    @sdetweil @MMRIZE Yes I am trying all. No words to thank you both. Inspiring
  • MP3 Player

    58
    0 Votes
    58 Posts
    7k Views
    S
    @bachoo786 I’m pretty sure the module used a node_helper now if you make it a url, then you can fetch it thru the browser… but the server side is actually reading the file but you could make it a file url file:///server/path to file in MagicMirror the server home folder is the MagicMirror folder
  • NOAA Tide Chart for Today, Tomorrow, and Next Day

    7
    0 Votes
    7 Posts
    482 Views
    S
    @jyossarian there are hundreds of modules that can be used. but none of it is simple.
  • Ability to display certain modules at certain times of the year?

    3
    0 Votes
    3 Posts
    572 Views
    D
    Thanks! Looks promising.
  • Double screen for Rasperry Pi 5

    2
    1 Votes
    2 Posts
    260 Views
    S
    @hogedir you have to run two instances. you can do that with one installation you can drag the screen across both but would have to adjust the css for such a width. see this part of the doc https://docs.magicmirror.builders/configuration/introduction.html#advanced-configuration-and-frequently-asked-how-to-configure-examples
  • Need help with modules not displaying

    4
    0 Votes
    4 Posts
    237 Views
    M
    @Illimar said in Need help with modules not displaying: getDaysLeft() and dateFormat() are defined as member methods of the module, but you are using them as general functions. var days = getDaysLeft(i); It should be; var days = this.getDaysLeft(i); Or, even better is; to define getDaysLeft as a general function inside of getDom(), because only there the function is used once and nowhere else. It doesn’t need to be defined as a member of the module. getDom: function() { const getDaysLeft = (i, config) => { const date = Date.now(); ... } let wrapper = document.createElement('div'); wrapper.style.color = this.config.textColor; for (let i in this.config.dates) { let days = getDaysLeft(i, this.config); ...