Skip to content

Instantly share code, notes, and snippets.

@DavidDeSloovere
Last active March 8, 2024 18:51
Show Gist options
  • Save DavidDeSloovere/44e5e56cb13f4662f18021b32587f374 to your computer and use it in GitHub Desktop.
Save DavidDeSloovere/44e5e56cb13f4662f18021b32587f374 to your computer and use it in GitHub Desktop.
Self executing Snowflakes as a JS module

Home Assistant

  • Create snowflakes.js under config\www folder.
  • Add content from the gist
    • Choose to run always (remove all below line 4),
    • Or by date (remove line 4, optionally editing the dates you want the snowflakes to trigger)
    • and save.
  • In HA, go to Configuration > Lovelace Dashboards > Resources.
  • Click 'Add Resources' and enter local/snowflakes.js (it's a JavaScript module)
  • Save it
  • Enjoy the holidays

Using https://github.com/hcodes/snowflakes

import Snowflakes from 'https://cdn.skypack.dev/magic-snowflakes';
// always run
new Snowflakes();
// OR use date
// month in JS dates are zero-based
const currentMonth = new Date().getMonth() + 1;
const currentDay = new Date().getDate();
// run from december 6th to january 15th
const isOkForDecember = currentMonth === 12 && currentDay >= 6;
const isOkForJanuary = currentMonth === 1 && currentDay <= 15;
if (isOkForDecember || isOkForJanuary ) {
new Snowflakes();
}
@heisenberg2980
Copy link

Yes that is because of the cache, search how disable the cache in your browser (e.g. in google chrome you can press F12 and then go to Network tab and select "Disable cache")

@DavidDeSloovere
Copy link
Author

Hello all, glad to see that this is still used. I updated the gist to add date checks so the snowflakes can be scheduled one in code for those that want to set this and forget.

@dnestico
Copy link

dnestico commented Mar 8, 2024

Perfect! Will update the code now forsure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment