Read the statement by Michael Teeuw here.
New module: Weather effects
-
Earlier, I shared a module that makes it snow on MagicMirror — as soon as you start it, snowflakes begin to fall. When I first created it, I thought it would be cool if it only showed snow when it was actually snowing.
@sdetweil gave me the idea that MagicMirror’s default weather module broadcasts notifications, so you can let the module pick up its notification using the following code:
if (this.weatherProvider.currentWeather()) { this.sendNotification("CURRENTWEATHER_TYPE", { type: this.weatherProvider.currentWeather().weatherType.replace("-", "_") }); }
So, I experimented a bit and got it to work! While I was at it, I also added rain. That is, if the weather module reports rain, raindrops will fall on the MagicMirror screen as well.
I should mention that so far, I’ve only tested this with the Swedish weather provider SMHI, but it should work with the others too.
I’ve tried to ensure that the annotations in the script and CSS make it reasonably easy to follow and understand if someone wants to tweak it themselves.
Screenshot:
Rich snow
Light snow (for Raspberry Pies etc)
Rain
Also, for obvious reasons this module requires the standard weather module to be active issuing “CurrentWeather” statuses.
-
Excellent! I was hoping someone would come up with this idea and module 😊. Thanks for this.
I have added allowOverrideNotification: true to the weather module config. At the moment we don’t have any rain or snow falling so can’t really confirm it works.Can you share more about how to check the console for weather notifications?
-
I just inspected the pm2 log and under the latest entries I can’t see anything about weather module broadcasting notifications.
Do I need to looks somewhere else? -
@uros76 weather is done all in browser, so no messages would appear in the pm2 log
you could install MMM-Notifications which has a window showing those events
-
I dont think PM2 shows module-specific broadcasts unless explicitly logged, but Im no expert. Maybe @sdetweil knows?
To test it I just bascially found locations with rain or snow, and set that in config.js.
-
@cgillinger correct. notifications are not logged
1 they are in browser
2 if the sending or receiving module does not console.log() a message there is nothing to seeyou can install MMM-Logging which will capture the browser console and merge it with the npm start output
or install MMM-Notifications which will display them in a window on the MagicMirror screen
-
@cgillinger Very cool well done
-
@cgillinger duh, why didn’t I think of setting to a city where it rains LOL. I picked a random rainy city and presto, it works! Tnx again for this module.
@sdetweil thanks. I installed the MMM-Logging and checked the npm start console for any hint of notifications coming through but I can’t see anything related to notifications being broadcasted. I am probably missing something obvious again :(
And I can’t seem to find the MMM-Notifications location. Do you perhaps have a link to it?
I did thind this one but it doesn’t show anything https://github.com/glitch452/MMM-ViewNotifications -
@uros76 yes, it was https://github.com/glitch452/MMM-ViewNotifications
it shows for me
-
And I just want to add here that I’m running it on a Raspberry Pi with a 7-inch screen, so there’s not much screen space to work with. I don’t have room for the weather module with the ‘current’ option as well. However, after testing, it seems to work perfectly fine to keep the module ‘hidden’ by simply omitting a location in the config.js file
I’m considering making the rain direction controlled by the wind direction from the Weather module. If it’s possible, it would look pretty neat.