Skip to content

Blyzz616/dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Creating a new Dashboard

This is being run on one of my home servers that will one day grow up and turn into Jarvis.

Right now, I'm just using the OpenWeatherMap API to build up a time/weather/forecast dashboard.

However, I've got a few ESP32 boards that need to be put into service to report temperatures, humidities, wind-speed, nearby aircraft (not even joking), etc, etc, etc.

Right now though, I'm just warming up!

Currently looking like this:
image

Now with 7-day forecast and moon position!

Also - you just gotta love these icons!

Sunny cloudy Rainy

When the page first loads and every 15 minutes, we get this effect as well:

splitflap

Then there's the wind direction oscillation depending on the wind speed:

4 meters/second vs 20 meters/second:

windspd4mps windspd20mps

I've jsut added the moon phase indicator - And I'm wondering if I should use it as the tiny little moon guy in the sun/moon position indicator on the left too.

The circle at the bottom started out life as a day-light indicator.
The little sun would start the day on the left at sunrise, and work its little way over the top to the right and get there at sunset time.

Now though, It's got a weather icon in the middle, and it also grew up a little bit to become a circle. not just a semi-circle

There are 3 different calculations performed throughout the day:

Basing this on my e-paper desk clock that I've been using for the last few years:
(image lost - will replace at some point)

  1. Daytime Calculation - Sunrise to Sunset:
$$\{x, y\} = \{250 - 150 \cos\left(\frac{\pi z}{100}\right), 200 - 150 \sin\left(\frac{\pi z}{100}\right)\}$$
  1. Evening Calculation - Sunset to Midnight:
$$\{x, y\} = \{250 - 150 \cos\left(\frac{\pi}{100} \left(100 + \frac{z}{2}\right)\right), 200 - 150 \sin\left(\frac{\pi}{100} \left(100 + \frac{z}{2}\right)\right)\}$$
  1. Morning Calculation - Midnight to Sunrise:
$$\{x, y\} = \{250 - 150 \cos\left(\frac{\pi}{100} \left(150 + \frac{z}{2}\right)\right), 200 - 150 \sin\left(\frac{\pi}{100} \left(150 + \frac{z}{2}\right)\right)\}$$

This way the day time will go from sunrise to sunset at a constant speed for the top 180°. Then from sunet until midnight at a constant speed for the next 90° and then midnight to sunrise for the last 90°.

I split up the night as there may be slight changes in the timings with the data recieved from OpenWeatherMap's API.

To do:

  • Create a to-do list
  • Move API calls to a local-server based system, so that calls happen ONCE every 5 minutes, rather than once every 5 minutes per browser accessing the page. Use PHP for this.
  • On page load: Render the page as quickly as possible. Then preform the calculations for the remainder of the day. invalidated by previous commit
  • Build a nice bar/line graph showing the next 48 hours with
    • Temperature line (red above 0 /blue below) (left Y)
    • Precipitation bar graph (right Y)
    • Can we split this?
      • rain
      • snow
    • Cloud Cover Bar (top Y)
  • Disaplay alerts for 45 seconds every 5 minutes
  • 7-day weather forecast
    • Add UVI
    • Add Probability of Precip
  • Windspeed and direction
    • Add wind variability (weathervane wiggle)
      • Maybe based on windstrength
    • Add wind randomness when speed at 0
    • fix wind direction (defaulting back to 0 after init)
  • Include predicted vs actual temperatures
  • include temperatures from
    • Garage
    • Deep Freeze
  • Include soil Probes?
  • Include SDR ADS-B?
  • Include stuff from Home Assistant?
  • Include stuff from Klipper? (3d Printer)
  • Include Network Monitoring SNMP/SIEM events?
  • Moon Position
  • Moon Phase
  • fix phase to be moon's shadow - not earth's!
  • Update Temperature with JS

Why is it ever time I mark something as complete, I add at least 2 more items?

Damn, I got a lot to do on this!

Thanks to Ninad Munshi on Github for giving me a push-start with regards to getting the calculations for the sun position working!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published