• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

Let it snow now Magic Mirror

Scheduled Pinned Locked Moved Entertainment
23 Posts 7 Posters 1.9k Views 7 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    cgillinger
    last edited by Dec 11, 2024, 1:39 PM

    And this is my second module, again for the entertainment of my daughters. This one just adds a nice snow fall across the screen - for the winter festivities.

    I made it on a Linux computer, but realised when testing it on my Raspberry Pi 3B, that the Pi really struggled with it. So it now has two settings: light and “rich” - the latter for more powerful platforms.

    This is a part of me trying to learn how to make modules, so any input is welcome.

    Next: Im thinking of connecting it to one of the providers from the Weather module, to maybe make it snow when the temperature is freezing, or if the forcast warns of snow.

    But for now, just a simple snowfall on your MagicMirror.

    https://github.com/cgillinger/MMM-SnowEffect

    S C 2 Replies Last reply Dec 11, 2024, 1:56 PM Reply Quote 3
    • S Offline
      sdetweil @cgillinger
      last edited by Dec 11, 2024, 1:56 PM

      @cgillinger cool. the weather modules broadcast their info. so you could pick it up from the notification

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 0
      • C Offline
        cgillinger @cgillinger
        last edited by Dec 11, 2024, 2:17 PM

        Oh, nice. I was looking at the api-solution for SMHI (being a swede and also, the SMHI api requires no key), but that sounds even better. I’ll definately look into that.

        K S 2 Replies Last reply Dec 11, 2024, 2:24 PM Reply Quote 0
        • K Offline
          KristjanESPERANTO Module Developer @cgillinger
          last edited by Dec 11, 2024, 2:24 PM

          @cgillinger Nice! Don’t forget to add it to the module list. And please add a screenshot 🙂❄️

          C 1 Reply Last reply Dec 11, 2024, 2:31 PM Reply Quote 0
          • S Offline
            sdetweil @cgillinger
            last edited by Dec 11, 2024, 2:30 PM

            @cgillinger weather sends 2 different broadcasts

            1 for current weather

            		if (this.weatherProvider.currentWeather()) {
            			this.sendNotification("CURRENTWEATHER_TYPE", { type: this.weatherProvider.currentWeather().weatherType.replace("-", "_") });
            		}
            

            and 1 for all the weather info

            		const notificationPayload = {
            			currentWeather: this.config.units === "imperial"
            				? WeatherUtils.convertWeatherObjectToImperial(this.weatherProvider?.currentWeatherObject?.simpleClone()) ?? null
            				: this.weatherProvider?.currentWeatherObject?.simpleClone() ?? null,
            			forecastArray: this.config.units === "imperial"
            				? this.weatherProvider?.weatherForecastArray?.map((ar) => WeatherUtils.convertWeatherObjectToImperial(ar.simpleClone())) ?? []
            				: this.weatherProvider?.weatherForecastArray?.map((ar) => ar.simpleClone()) ?? [],
            			hourlyArray: this.config.units === "imperial"
            				? this.weatherProvider?.weatherHourlyArray?.map((ar) => WeatherUtils.convertWeatherObjectToImperial(ar.simpleClone())) ?? []
            				: this.weatherProvider?.weatherHourlyArray?.map((ar) => ar.simpleClone()) ?? [],
            			locationName: this.weatherProvider?.fetchedLocationName,
            			providerName: this.weatherProvider.providerName
            		};
            
            		this.sendNotification("WEATHER_UPDATED", notificationPayload);
            

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            C 1 Reply Last reply Dec 27, 2024, 11:45 AM Reply Quote 1
            • C Offline
              cgillinger @KristjanESPERANTO
              last edited by cgillinger Dec 11, 2024, 2:31 PM Dec 11, 2024, 2:31 PM

              @KristjanESPERANTO Added to the module list, and working on a screenshot ( I cleared my MM installtion of modules to test this, so I have to re add them, otherwise its just a black image with snow icons on them…)

              S 1 Reply Last reply Dec 11, 2024, 3:16 PM Reply Quote 1
              • S Offline
                sdetweil @cgillinger
                last edited by Dec 11, 2024, 3:16 PM

                @cgillinger said in Let it snow now Magic Mirror:

                I cleared my MM installtion of modules to test this

                just fyi… you can use another config.js
                without removing the existing or removing any modules

                in the terminal window you are using to start/stop/test mm

                export MM_CONFIG_FILE=config/_other_config_name.js
                

                then npm start will use _other_config_name.js for config
                (and in that other config you can point to a different custom.css!)
                see https://docs.magicmirror.builders/configuration/introduction.html

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                C H 2 Replies Last reply Dec 13, 2024, 4:31 PM Reply Quote 1
                • C Offline
                  cgillinger @sdetweil
                  last edited by Dec 13, 2024, 4:31 PM

                  @sdetweil I had no idea this could be done. Thank you!

                  S 1 Reply Last reply Dec 13, 2024, 4:53 PM Reply Quote 0
                  • S Offline
                    sdetweil @cgillinger
                    last edited by Dec 13, 2024, 4:53 PM

                    @cgillinger see the doc
                    with a useful example
                    https://docs.magicmirror.builders/configuration/introduction.html#advanced-configuration-and-frequently-asked-how-to-configure-examples

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    1 Reply Last reply Reply Quote 1
                    • O Offline
                      OliWer
                      last edited by Dec 15, 2024, 7:21 PM

                      Hey, thanks for the module! Really like it.
                      Just two things that come to my mind:

                      1. From other modules I’m used to only do the config in the config.js (only compliments is different, but for a good reason). For your module I have to add it in config.js, but do the module configuration in a separate file. I’d really would appreciate it, if you could move the configuration also to the config.js. Also not sure if it the config would be reverted if I have to update the module or something.
                      2. there are two Flake Counts, one in the “defaults” part and one in the performancePresets, same for size. Not sure which wins in which situation.

                      Thanks again for the module!

                      C 1 Reply Last reply Dec 16, 2024, 8:26 AM Reply Quote 1
                      • 1
                      • 2
                      • 3
                      • 1 / 3
                      1 / 3
                      • First post
                        1/23
                        Last post
                      Enjoying MagicMirror? Please consider a donation!
                      MagicMirror created by Michael Teeuw.
                      Forum managed by Sam, technical setup by Karsten.
                      This forum is using NodeBB as its core | Contributors
                      Contact | Privacy Policy