Self-hosted weather website?

tl;dr: I’m looking for a F/OSS solution to put data from my personal weather station on the web, naturally on my NS8 server.

I have a personal weather station at home, and I’m using WeeWx to gather data from it and save it to a database on my Neth server. Currently, that database has just under 4M rows of data. I have been using Meteotemplate to build a weather web site. It builds a great-looking site:

It’s mobile-friendly, it’s responsive, it’s database-driven, it’s highly-customizable. But it’s finicky at best to set up. And it isn’t F/OSS, so you’re really at the mercy of the one dev for help with it. While I had it running on NS7, I haven’t been able to get it to work on NS8, though I’ll admit I haven’t put a great deal of effort into trying as yet.

So I’m looking for suggestions for alternatives, because my searching hasn’t found much. Here’s what I’m looking to accomplish:

  • First and foremost, show my live station data
    • “Live” may be limited by how frequently WeeWx updates (at least once per minute), but if I pull up the page and leave it up, it should refresh itself with current data
  • Easily show historical data
    • I’m mainly thinking of things like min/max temp/barometer/heat index over a specified range, rainfall year-to-date or month-to-date, etc.
    • Of course, including graphs and charts, ideally dynamic ones
  • Must be able to use my existing database, either directly or with conversion
    • My data’s in a MariaDB database with records added every minute or so
  • As a “nice-to-have,” be able to pull forecast and radar data from some third-party source

Solutions I’ve considered:

  • Keep banging on Meteotemplate
    • Quite possibly the lowest effort in the short term, but I don’t think my concerns with it are going to go away
  • Use WeeWx
    • WeeWx will generate weather web pages, but AFAIK they’re only static pages
  • Home Assistant
    • WeeWx will output data via MQTT, so I could probably come up with a dashboard that would do what I need (or, hopefully, copy/adapt someone else’s)

Any other suggestions? There seem to be surprisingly few options out there.

At least for the time being, I’m going with “keep banging on Meteotemplate.” Though it’s proving to be more work than expected:

1 Like

Well, Meteotemplate is no more–it’s now been officially discontinued, and its web site (and forum) are going away. IMO, it was a mistake for its dev to not make it F/OSS from the outset, but what’s done is done. So, perhaps “keep banging on Meteotemplate” wasn’t the best answer.

The problem is that there really are very few alternatives that I’ve been able to find:

  • Two Wordpress themes;
  • WeeWx - my previous understanding that it only generates static pages wasn’t quite correct. On the simple side, there are a number of themes (or “skins”) that include JS to reload the page on an interval, so it updates every (say) five minutes. On the less-simple side, one skin includes the capability of connecting to a MQTT broker for live updates as often as they’re published (every 1-2 seconds in my case).
  • others? I’m still not aware of other real options here.

I don’t need to make a move immediately–even if it’s discontinued, it’s not like Meteotemplate just stops working. But it’s obviously time to find another solution, and it’s looking like that’s going to be using WeeWx. Here’s what I’ve done so far:

  • Moved the MariaDB database from my NS8 instance to the VM running WeeWx
    • I honestly don’t know (or remember) why I was running this database remotely from WeeWx. Meteotemplate didn’t use it directly; maybe I thought it did? In any event, it’s not running there any more.
  • Installed two skins: Me.teo to act as a weather console on a spare tablet, and New Belchertown for the main site.
  • Done a fair bit of messing about on the WeeWx system as discussed here: https://groups.google.com/g/weewx-user/c/kXgtN8QWYLk

But the result is that it’s working pretty well so far. Screen shots:

What’s left is to get this data onto a public webserver. WeeWx’ rsync capability should be able to update my NS8 virtualhost to accomplish that, I’d think.

1 Like

Why are you doing it this way? I’ve been using the MyRadar app for years, there’ve been ownership changes lately, but they’re not the only ones. I have wanted to run my own weather station with the idea of throwing the data at one of these aggregators that lets everyone look at your data. The reason I haven’t done it, is because it’s kinda pointless here, uninteresting, I live in the desert and it’s just hot, so there’s really no thrill to seeing the occasional haboob approach. I have a relative by you so it’s more interesting watching their weather. So what’s the advantage for you of all this work?

Why do we self-host anything? Just about anything I self-host could be cheaper and less work to just pay someone else to do it. The basic reasons for self-hosting anything really boil down to some combination of these three:

  • It’s a fun/interesting technical challenge/learning experience
  • I keep control of my data
    • Even if I may send it to other parties (as I do with the weather data), I keep my own copy
  • I can make it work just like I want (as limited by my skills)
  • And as a bonus, in many cases I can pretend to be saving money.[1]

As to why do this with weather, well, it’s a pretty natural progression for a nerd: I buy a basic weather station that has a USB connection, so of course I want to connect it to a computer. If it’s connected to a computer, I want to log the data. Having logged the data, I want to be able to look at it. And then I realize the data isn’t that great, so buy a better weather station.


  1. “from a certain point of view,” as Obi-Wan said ↩︎

2 Likes

This whole post is s trigger. :rofl:

Like my solar stuff, spending thousands to save pennies.

1 Like

One place where this project definitely saves some money is when I want an additional display for my weather station. My system is modular, and the manufacturer sells additional/replacement parts–but they’re pricey. So they sell standalone consoles, which will receive the signal from the outdoor unit and display all the data, but they’re over US$400. Now, all I need to do is put a tablet in the appropriate place, point it to the web page, et voila, a weather console. I have a couple of spare iPads laying around; if I didn’t, Android tablets can be pretty cheap.

Really, other than the weather station itself (which was pricey when I bought it in 2017, and has more than doubled in price since then), and its USB interface (of course that wasn’t included with the “better” station), everything else I’ve used has been things I already had. So in this particular case, it’s only costing my time in messing around with it.