MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    1. Home
    2. MMRIZE
    3. Posts
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.
    M
    Offline
    • Profile
    • Following 0
    • Followers 9
    • Topics 29
    • Posts 952
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: MMM-CalendarExt3

      @almightyyoshi
      For removing calendarWeek number;
      https://github.com/MMRIZE/MMM-CalendarExt3/wiki/Examples-%26-Tips

      posted in Utilities
      M
      MMRIZE
    • RE: MMM-CalendarExt3

      @almightyyoshi

      eventTransformer: (ev) => {
        ev.title = ev.title.replace("All:", "")
        return ev
      },
      
      posted in Utilities
      M
      MMRIZE
    • MMM-Hotword2

      MMM-Hotword2

      MagicMirror module withPicovoice’s Porcupine for Hotword detector. My previous MMM-Hotword module is deprecated due to that snowboy hot-word detecting engine closed its service. Fortunately, PICOVOICE’s Porcupine and its siblings would be good enough alternative. So I rebuilt the hot-word detector again.

      I know, there is other Porcupine modules already, but they may lack some features which I need to use. So I revamped my old one for my demands.

      Screenshot

      Features

      • Multi Hotwords/ Custom Hotwords supported
      • Individual Hotword setting
      • On detection, various works possible;
        • Control other modules with custom notification
        • Execute Shell command or scripts and get the result.
      • Not only hotword, but also continuous utterance could be acauired.(as recorded wav file)
        • The recorded file could be consumed on other STT / voice handling modules
      • No need to rebuild for electron

      For more details; https://github.com/MMRIZE/MMM-Hotword2

      posted in System
      M
      MMRIZE
    • RE: How do I contribute a PR to a module?

      @capedbuffethero

      1. Make a GITHUB account
      2. Fork the original target repository to your account.
      3. git-clone forked repo into your local dev pc.
      4. Do your modifications in your local repo.
      5. Commit your modified version to your GitHub.
      6. Make PR to the original target repo.
      7. Wait for confirmation and merging by original owner.
      posted in Development
      M
      MMRIZE
    • RE: Dynamic Font Colors

      @ijoshea
      Anyway, It looks so interesting, So I tried something. I simply did monkey patching to get dominant color from MMM-GooglePhotos’s image on load.

      6e971ed4-d102-434d-98e3-fd9d1de48374-image.png
      You can do your job with this code without modifying the source codes itselfs.

      /* config/config.js */
      {
      	module: "MMM-ModuleMonkeyPatch",
      	config: {
      		patches: [
      			{
      				module: "MMM-GooglePhotos",
      				method: "ready",
      				patch: async function (original, [ url, target ]) {
      					const ret = original(url, target)
      					let color = null
      					const process = async () => {
      						const { resolve, promise } = Promise.withResolvers()
      						const img = new Image()
      						img.crossOrigin = 'Anonymous'
      						img.src = 'https://corsproxy.io/?' + url
      						img.onload = () => {
      							const colorThief = new ColorThief()
      							const color = colorThief.getColor(img)
      							resolve(color)
      						}
      						return promise
      					}
      					if (typeof ColorThief === 'undefined') {
      						const loadScript = async (src) => {
      							const { resolve, promise } = Promise.withResolvers()
      							const script = document.createElement('script')
      							script.src = src
      							document.head.appendChild(script)
      							script.onload = () => resolve()
      							return promise
      						}
      						await loadScript('https://cdn.jsdelivr.net/npm/colorthief@2/dist/color-thief.min.js')
      						color = await process()
      
      					} else {
      						color = await process()
      					}
      
      					console.log(color) // It will show [R, G, B] array
      					// doYourJob(color)
      
      					return ret
      				},
      			},
      		],
      	},
      },
      
      posted in Custom CSS
      M
      MMRIZE
    • RE: MMM-Touch or similar without visible module

      @mmmmh
      useDisplay: false,

      posted in Troubleshooting
      M
      MMRIZE
    • RE: Dynamic Font Colors

      @ijoshea
      I had the same needs on building modules. (btw, GooglePhotos and CX3 were built by me :D )

      Sometimes I suggested other module’s background for the readability. Sometimes, I made an auto-calculated contrast color(e.g. CX3)

      My final conclusion is… waiting for new CSS feature contrast-color(). It will be introduced later this year in the most modern browsers.
      https://drafts.csswg.org/css-color-5/#contrast-color

      posted in Custom CSS
      M
      MMRIZE
    • RE: Dynamic Font Colors

      @ijoshea
      It seems weird to import JS in css.

      posted in Custom CSS
      M
      MMRIZE
    • RE: Update needed

      @Bungle68
      If you don’t need, you don’t have to update.
      You don’t know whether it will be better to do update, you don’t have to.
      If you decide to do update, I recommend to start over from formatting SD card. It will be easier.

      posted in Troubleshooting
      M
      MMRIZE
    • RE: NPM problem "EBADENGINE" which I fail to solve

      @Ix
      Install recent nodejs.
      I don’t know how you have installed the current version of nodejs. So I cannot give you an exact advice.
      Generally I prefer to manage node version with nvm

      posted in Troubleshooting
      M
      MMRIZE
    • 1
    • 2
    • 10
    • 11
    • 12
    • 13
    • 14
    • 95
    • 96
    • 12 / 96