Releases: poblabs/weewx-belchertown
Belchertown Skin v1.3.1
This is a minor release which pins HighCharts to version 10
While unlikely something will go wrong, please make sure you have a backup your weewx.conf configuration.
Download:
wget https://github.com/poblabs/weewx-belchertown/releases/download/weewx-belchertown-1.3.1/weewx-belchertown-release.1.3.1.tar.gz
Then run:
sudo wee_extension --install weewx-belchertown-release-1.3.1.tar.gz
Configure the weewx.conf pre-requisites and restart weewx when done.
Belchertown Skin v1.3
The last 2+ years have been challenging for me and as a result I've had to take a step back on developing the skin. There are so many changes in this skin since the last release in 2020. I don't have all the changes documented because the community has helped keep this skin going! I want to thank everyone who submitted a pull request!
If you're curious, you can read all of the commits that have happened between 1.2 and 1.3 here: weewx-belchertown-1.2...weewx-belchertown-1.3
Install
If you are upgrading from before skin version 1.0, you MUST read these instructions: https://github.com/poblabs/weewx-belchertown/wiki/Upgrading-to-Belchertown-skin-1.0
If you are installing Belchertown as a brand new skin:
You must be using weewx 3.9 or newer.
While unlikely something will go wrong, please make sure you have a backup your weewx.conf configuration.
Download:
wget https://github.com/poblabs/weewx-belchertown/releases/download/weewx-belchertown-1.3/weewx-belchertown-release-1.3.tar.gz
Then run:
sudo wee_extension --install weewx-belchertown-release-1.3.tar.gz
Configure the weewx.conf pre-requisites and restart weewx when done.
Belchertown Skin v1.2
1.2 September 11, 2020
Breaking Changes
- DarkSky has announced that they were acquired by Apple and will be removing their API. This release adds Aeris Weather as a forecast provider with the intent to remove DarkSky in a later version.
- New option
forecast_provider
is added to specify which provider you are using (DarkSky or Aeris) - Aeris Weather is a very close drop-in replacement and is free if you send your station data to pwsweather.com. In return they give you free access to their weather API. I was considering OpenWeatherMap, but they were lacking some key observations in my opinion.
- graphs.conf gapsize is now in seconds, not milliseconds. This is to stay consistent with other graphs.conf settings. Make sure to update your graphs.conf. Divide by 1000 to get the seconds you need for the new gapsize setting.
- Forecast file darksky_forecast.json renamed to forecast.json for all providers.
- skin.conf option darksky_units renamed to forecast_units
- skin.conf option time_darksky_alert_expires renamed to time_forecast_alert_expires
Added
- An entire forecast section to the labels. This allows you to translate the Aeris Weather observations to your language.
- skin.conf option forecast_units. I incorporated the old DarkSky approach to the units. Options are si, ca, uk2 or us. See README for more info.
- graphs.conf option for legend. This allows you to show/hide the legend per-chart. More information under legend in the graphs wiki.
- Adds logo_image_dark option to specify an alternate logo when in dark mode.
- skin.conf: new option almanac_extras to enable or disable showing the extended almanac information table. Requires pyephem to be installed.
- The almanac extras table is now updated automatically with the ajaxweewx() function.
- New chart type called "haysChart". Thanks to @uajqq for this one! Check the charts wiki for more information.
- graphs.conf option for year_to_now. In weewx 4, the method which gets results from the database for archiveYearSpan (aka time_length = year) will return a full year's worth of data - even if the year hasn't ended. So if your chart is being created on February 1, you'll have data from Jan 1 to Feb 1, but the chart will continue to Dec 31 with empty plots. If you do not want a semi-empty chart, and instead want Jan 1 to "today", then use the year_to_now for time_length.
- Added new
time_length
options. year_to_now, hour_ago_to_now, day_ago_to_now, week_ago_to_now, month_ago_to_now, year_ago_to_now and timestamp_ago_to_now. See charts wiki for more info on these time lengths. - Added new
start_at_midnight
option for use with specific time_length options. See charts wiki for more information.
Changed
- Renamed skin.conf label darksky_rain to forecast_rain
- Renamed skin.conf label time_darksky_forecast_date to time_forecast_date
- Weather alerts are available through Aeris but only for USA and Canada
- Weather alerts are now in-line with the website and not a link to an external website. This is because Aeris doesn't provide an external link with the alerts, only the text itself.
- Can now customize the Daily Forecast link
- Updates bootstrap to 3.4.1
- DarkSky weather alerts now open in a modal similar to Aeris and no longer link to the alert source.
- rainTotal now charts only rain values which exist. This is a fix so that full-length charts (like year) do not have rainTotal past the actual last observation plot.
- windRose beaufort group colors can now be changed. See charts wiki for more info.
- The earthquake table now shows the earthquake's distance away from your station's lat/lon from weewx, and general bearing direction.
Removed
- Daily Forecast link in the forecast row is no longer available due to the way Aeris operates currently. Can't extrapolate a URL from the API.
- skin.conf option darksky_secret_key
- skin.conf option darksky_lang
- The GitHub check for updates has been removed since it is not reliable.
Install
If you are upgrading from before skin version 1.0, you MUST read these instructions: https://github.com/poblabs/weewx-belchertown/wiki/Upgrading-to-Belchertown-skin-1.0
If you are installing Belchertown as a brand new skin:
You must be using weewx 3.9 or newer.
While unlikely something will go wrong, please make sure you have a backup your weewx.conf configuration.
Download:
wget https://github.com/poblabs/weewx-belchertown/releases/download/weewx-belchertown-1.2/weewx-belchertown-release-1.2.tar.gz
Then run:
sudo wee_extension --install weewx-belchertown-release-1.2.tar.gz
Configure the weewx.conf pre-requisites and restart weewx when done.
Belchertown Skin v1.1
Breaking Changes
These changes are to align the skin closer to the way Highcharts has their options named.
- graphs.conf option xaxis_groupby is now xAxis_groupby (case sensitive)
- graphs.conf option xaxis_categories is now xAxis_categories (case sensitive)
- graphs.conf option yAxisLabel is now yAxis_label (case sensitive)
- graphs.conf option yAxisLabel_unit is now yAxis_label_unit (case sensitive)
- graphs.conf option yaxis_min is now yAxis_min (case sensitive)
- graphs.conf option yaxis_max is now yAxis_max (case sensitive)
- graphs.conf option yaxis_softmin is now yAxis_softMin (case sensitive)
- graphs.conf option yaxis_softmax is now yAxis_softMax (case sensitive)
- graphs.conf option yaxis_tickinterval is now yAxis_tickInterval (case sensitive)
- skin.conf option time_lastUpdated is now called time_last_updated
- skin.conf option time_mqtt_websockets_last_updated is deleted as it was a duplicate of time_last_updated
Added
- Added weatherRadial observation, unique to Belchertown, which shows the high and low outTemp for a given timespan, as a columnrange polar chart. See wiki for examples.
- Added new time_length option called timespan_specific. This allows you define a static start and end time to be graphed. For example 6 hours, or 2 specific days, or 4 specific months. This offers a lot of flexibility in your graphs. See Wiki for timespan_specific.
- Added per-chart generation timers. You can control how often your charts are generated. Helpful if you have some data that's not updated frequently. Check Wiki for more info on the
generator
option. - Added new graph group option page_content. This option takes full HTML and will display on the graphs page under the title. Can be used as a content area for the page. Examples are a quick description of the graphs being displayed, or even more elaborate description with images.
- Added per-chart width and height control overrides. If this is not specified than the default sizes will be used.
- Added css_class option to the charts for more granular and detailed CSS overrides to the charts.
- Added the ability to enable chart exporting using the Highcharts exporting utility.
- Added the ability to change the highcharts credits using the "credits" global option.
- Added the ability for custom CSS options to persist through upgrades using a user-created "custom.css" file.
- Added permanent links (permalink) to individual graphs within the Graphs page. Just copy/paste the link from the title of the individual graph you want to directly link to. When accessing this URL, the page will scroll to the graph specified in the URL. The permalink is the name of the [[chart]] inside the double brackets in graphs.conf. To make this a pretty URL, you need to change the name of the [[chart]] inside graphs.conf.
- Version update option. This checks GitHub to see if there's a new version available and then puts a notice in the site footer that an update is available.
- Added dark mode, and auto theme mode to the Pi version of the skin.
- If you're interested in learning more, please check out https://github.com/poblabs/weewx-belchertown#raspberry-pi-console
Changes
- Preparation in a lot of code for upcoming weewx v4 which will focus on Python 3
- Moved the per-chart timespan to be available per observation. This allows different observations to have different timespans on a single chart. Like comparing rain for this year to rain for all time.
- Moved the JavaScript outTemp color into 1 consolidated function.
- Added timestamps to the MQTT Websocket connection status headers which will show when the weather data is current as of. Helpful if your MQTT broker isn't connecting or there's an error, this lets your visitors know how recent the data on the page is.
- Added ability to specify a database binding for the station_observations table option. Example: "distance_km(data_binding=lightning_binding)".
- Updated footer layout
Fixed
- Fixes multiple database bindings with charts.
- Fixed some Highcharts int to float issues, and yaxis min/max issues. (Thanks @ShadowsFriend!)
- Fixed an encoding error in certain situations with Python 2 and 3
- Fixed broken image indicator if forecasts is disabled.
- Fixed icon auto updating on the Pi page.
- Fixed windRose and null values causing a crash.
- Fixed moment.js showing the wrong date in the DarkSky forecasts when DST changes happen.
Removed
- Removes the belchertown_root_url option. All links are now root relative using "." and "../".
- Removed the option to show/hide windrun and apptemp. Instead, if it's in your database, it will show up automatically. If you're calculating it, why not show it?
Deprecated
- Nothing
Install
If you are upgrading from before skin version 1.0, you MUST read these instructions: https://github.com/poblabs/weewx-belchertown/wiki/Upgrading-to-Belchertown-skin-1.0
If you are installing Belchertown as a brand new skin:
You must be using weewx 3.9 or newer.
While unlikely something will go wrong, please make sure you have a backup your weewx.conf configuration.
Download:
wget https://github.com/poblabs/weewx-belchertown/releases/download/weewx-belchertown-1.1/weewx-belchertown-release-1.1.tar.gz
Then run:
sudo wee_extension --install weewx-belchertown-release-1.1.tar.gz
Configure the weewx.conf pre-requisites and restart weewx when done.
Belchertown Skin v1.0.1
Changes
- Adds more debugging capability. See Wiki "How to get help" section.
- Adds default chart values for areaspline chart type.
- Updates the areaspline and area charts threshold. Default is 0, now it's undefined so its a floating y axis range.
- Fixes a chart bug with Highcharts options being set as a string, instead of integer, resulting in unexpected behavior.
- Fixes a locale bug if a system locale is not defined (or is using C, which Python views as None)
- Fixes an archive_interval bug if one is not defined in weewx.conf (e.g. when the station provides the archive interval, not weewx)
- Fixes a belchertown_root_url bug which affects on certain scenarios. In 1.1 belchertown_root_url may be removed all together.
- Fixes a moon translation label in the celestial information
- Fixes a bug with scaletime and rolling time period charts. Unsure why scaletime was used but it's gone now.
- Fixes a bug with point timestamp and using an odd minute like :59 instead of :00
- Fixes a typo in the skin.conf labels section
- Removes an invalid link from the "powered by" line in the header.
Install
If you are upgrading, you MUST read these instructions: https://github.com/poblabs/weewx-belchertown/wiki/Upgrading-to-Belchertown-skin-1.0
If you are installing Belchertown as a brand new skin:
You must be using weewx 3.9 or newer.
While unlikely something will go wrong, please make sure you have a backup your weewx.conf configuration.
Download:
wget https://github.com/poblabs/weewx-belchertown/releases/download/weewx-belchertown-1.0.1/weewx-belchertown-release-1.0.1.tar.gz
Then run:
sudo wee_extension --install weewx-belchertown-release-1.0.1.tar.gz
Configure the weewx.conf pre-requisites and restart weewx when done.
Belchertown Skin v1.0
Changes
BREAKING CHANGES FROM 0.9:
- Chart system is 100% re-written. The old charts must be removed to avoid conflicts! See below installation for details.
- In an effort to provide more options for translations, the following Extra's settings have moved to
Labels --> Default
. Please update your settings!- home_page_header
- graphs_page_header
- records_page_header
- reports_page_header
- about_page_header
- powered_by
- footer_copyright_text
- footer_disclaimer_text
New or Updated Changes:
- Complete overhaul of the chart system and introduction of graphs.conf. Please see the Charts Wiki for all the new configuration options.
- This overhaul removes the Highcharts_Belchertown skin and bin/user file and moves everything under the 1 Belchertown skin.
- Overview of the new chart system include ability to move charts around, remove charts, configure multiple observations per chart, and add a 2nd yAxis to associate an observation to for better readability, mix timespans between the graph groups (have both a year and a day chart on the same page), mirrored charts, wind rose, monthly aggregation and more!
- You can also define which graph group from graphs.conf to show on the Graphs page. Show them All, show only the 1 you want. It's your choice!
- Add support for wind rose with Highcharts.
- Added rainTotal observation, unique to Belchertown, which aggregates the "rain" observation (bucket tips) over a timespan to return total rainfall for that time period.
- Change the Station Observation table on the homepage to an Extras option for greater control of current weather station observations. You can add/remove and change the order of the observations. Only valid weewx schema names are accepted.
- Locale now has an option to be auto detected by the system, or the ability to change it to a locale the site owner wants as long as that locale is installed on the server first.
- Added pyephem almanac modal to the "Sun & Moon" section. Thanks to the Seasons skin for the quick work. At this time the detailed Almanac Information does not update in real time. You will need to reload the page to get updated detailed almanac information.
- Add support for translating the skin through the use of Default Labels in skin.conf (which can be used in weewx.conf, too).
- Upgrade to Bootstrap 3.4.1 and change to new bootstrap stackpath CDN
- Added new Dark Theme. This is a combination of Bootstrap's "darkly" (on CDN) and Highcharts Dark Unica theme (hosted locally), and Belchertown overrides to remain consistent.
- Added new skin.conf option called "theme". Options are "light", "dark" and "auto". Light (white) website theme. Dark (dark) website theme. Auto switches between the two at sunset (to dark) and sunrise (to light).
- Added a toggle button to the navigation menu which will change the entire site's theme at the click of the button.
NOTE If you are using the AUTO theme mode, and you click this button, it will disable auto mode until you close the page, tab or browser to reset back to auto mode. - Added belchertown_debug to aid in debugging the skin's options. Also available through the URL /?debug=true
- Added permalink to the graphs page. For example to link to your weekly graphs, use http://yoursite/graphs/?graph=week, for month, it's /?graph=month, for year is /?graph=year and for today you can link to the graphs page, or use /?graph=today. To find a specific permalink URL you can go to the All Graphs Page, then click the header for that graph.
- Added option reload_hook_images and hook image reload timers which when enabled will reload any images in the 4 custom content areas on the index page within their specified timers. Useful for webcam images. This option will only work if MQTT Websockets live updates are also enabled.
- Upgrade Font Awesome to 4.7.0
- Clean up of some old CSS
Install
If you are upgrading, you MUST read these instructions: https://github.com/poblabs/weewx-belchertown/wiki/Upgrading-to-Belchertown-skin-1.0
If you are installing Belchertown as a brand new skin:
You must be using weewx 3.9 or newer.
While unlikely something will go wrong, please make sure you have a backup your weewx.conf configuration.
wget https://github.com/poblabs/weewx-belchertown/releases/download/weewx-belchertown-1.0/weewx-belchertown-release-1.0.tar.gz
Then run
sudo wee_extension --install weewx-belchertown-release-1.0.tar.gz
Configure the weewx.conf pre-requisites and restart weewx when done.
Graph Generator
When you're ready, take a look at the Graphs Wiki to learn how to add, remove, customize graphs!
Here are some example graphs:
Issues?
Please report any issues you find here. This helps me keep track of them.
Belchertown Skin v0.9.1
Changes
- Fixed a locale bug with the windSpeed and windGust float values by using toString() instead of format(). This is backwards compatible with weewx 3.8.2
- Fixed a bug where MQTT AJAX page updates weren't in locale decimal. (e.g. comma instead of period for decimal). Can't use parseFloat() on it's own if the culture is a comma for decimals. Need to use toLocaleString(). This requires converting the string to an int, to a float, back to a string.
- Fixed a bug with the chart gapSize on the day charts to use the
archive_interval
and not an arbirary 5 minute setting. - Fixed a bug with windDir vectors not being consistent.
- Fixed a bug with the forecast breaking the page if it wasn't enabled, but MQTT Websockets was.
- Fixed a bug with DarkSky visibility units, since they don't seem to provide this themselves. So it's their bug that I'm trying to work around.
- Now the charts use the system locale decimal point.
- Update non-MQTT page timestamp to use moment.js to fall in line with other datetime stamp locale formatting.
- On the front page, if both charts are hidden, hide the full row to save on whitespace.
- On the charts page hide the chart if it's hidden in skin options.
Install
If you are upgrading, while unlikely something will go wrong, please make sure you have a backup your configuration.
wget https://github.com/poblabs/weewx-belchertown/archive/weewx-belchertown-0.9.1.tar.gz
Then run
sudo wee_extension --install weewx-belchertown-0.9.1.tar.gz
Configure the weewx.conf pre-requisites and restart weewx when done.
Issues?
Please report any issues you find here. This helps me keep track of them.
Belchertown Skin v0.9
Breaking Changes
- BREAKING CHANGE - Updated all
mqtt_*
skin options tomqtt_websockets_*
to reduce confusion. The skin needs MQTT Websockets in order to work. These variable names should help.
Other Changes and Fixes
- A lot of work focused on locale for time formatting. All time should be auto-detected by the locale on your server and displayed in your locale format.
- Charts hover tooltips are now in station's locale format.
- Major bugfix for the rain charts. The old code was adding A LOT OF PLOTS. This resulted in slower chart generation time.
- Forecast row is now JavaScript only and has been removed from the belchertown.py SLE. This makes it easier to manage in the future since it's only in 1 place now.
- Updated almanac to work with weewx 3.9.0's new [Default] section within weewx.conf.
- Added the option to show indoor temperature (
inTemp
) to the temperature charts. This option is disabled by default and is setup exactly like apparent temperature. Once you opt-in to show this data, it is only available for the day and week charts. - Added a manifest.json file which allows you to install your weather website like an "app" on your smart devices. Thanks user @WhiteNoseThunderPants for the initial work on this.
- Added the matching Apple config so you can add your weather website like an "app" on your Apple devices.
- Added
$footer_disclaimer_text
option to update the footer disclaimer. Thanks @biltmorelaker! - Added a robots.txt file.
- Switched to the new Google Analytics method of tracking with gtag.js.
- Added forecast windspeed next to the (existing) wind gust.
- Updated windspeed forecast CSS on mobile.
- Updated the records page for Consecutive Rain Days to show all time date range. Useful if your consecutive rain dates wrap around a new year and the math seems wrong (like https://BelchertownWeather.com shows)
- Simplified the includes for the About page, Records page and home page. Before it had a lot of overhead to it, so now it's using a simple Cheetah
#include
. If you want to show something in these areas, you just need to create the .inc file and that's it. No options to set or anything. See the README for more information. - On the Pi page, added a timer to reconnect to MQTT if connection is lost to the MQTT broker.
- Re-ordered some JavaScript functions due to improper grouping.
- Fixed Pi page styles to match the 640x480 resolution for the PiTFT.
- Fixed a bug on the Records page where certain custom observations were not in the station's locale formatting.
- Fixed a bug certain users were seeing with UTF-8. Thanks user @spanishhighs!
- Fixed a bug where if using a radar image (not windy.com, but a jpg, gif, png, etc.), it'll reload the image upon background updates.
- Fixed a bug where the date of the weather records snapshot for "Today" and "Month of" on the home page didn't update if the page was automatically updated overnight into a new day or a new month.
- Fixed a bug where rounding of
rain
andoutTemp
for custom Records page code wasn't honoring the number of decimal places from skin.conf. - Fixed a bug where the Highcharts timelines were in the viewer's timezone and not the station's timezone.
- Fixed a bug where the Week and Month charts did not begin on a week before, or a month before (respectively).
- Fixed a bug where the Year charts did not begin on January 1.
- Fixed a bug where if there was missing data in the chart data, the chart would show a connecting line. Instead the correct behavior should be to show a gap which represents that data is missing.
- Gaps will show if the following time ranges are missing in the chart:
- Day chart: 5 minute gap
- Week chart: 1 hour gap
- Month: 24 hour gap
- Year: 24 hour gap
- Fixed a bug where the Facebook share button was using the O'Brien Labs Facebook App ID.
Install
If you are upgrading, while unlikely something will go wrong, please make sure you have a backup your configuration.
wget https://github.com/poblabs/weewx-belchertown/archive/weewx-belchertown-0.9.tar.gz
Then run
sudo wee_extension --install weewx-belchertown-0.9.tar.gz
Configure the weewx.conf pre-requisites and restart weewx when done.
Issues?
Please report any issues you find here. This helps me keep track of them.
Belchertown Skin v0.8.2
Changes
- Fixed an error where the skin would fail when the date rolls to the New Year due to no data being in certain tables in the database yet.
- Added the ability to show any weather alerts provided by the DarkSky API. Weather alerts are off by default, use forecast_alert_enabled in weewx.conf skin options to enable it.
- New option to show cloudbase. You must have your database schema extended for the cloudbase observation to be calculated by weewx. Check the Belchertown skin wiki for details.
- Fixes an issue where the MQTT updates showed altimeter instead of barometer.
- Updated Google Analytics page to be in header based on Google recommendations.
- Updated Google Analytics to a more recent script block.
- Added a Google Analytics page view per MQTT update as per Google Recommendations on background updates.
Install
wget https://github.com/poblabs/weewx-belchertown/archive/weewx-belchertown-0.8.2.tar.gz
Then run
sudo wee_extension --install weewx-belchertown-0.8.2.tar.gz
Configure the weewx.conf pre-requisites and restart weewx when done.
Issues?
Please report any issues you find here. This helps me keep track of them.
Belchertown Skin v0.8.1
Changes
- Fixes an edge case scenario where skin fails to generate due to N/A as a wind observation value.
- Fixes some false positive errors with belchertown_root_url or station_url being reported it's not set.
- On the front page, change the wording to Chart instead of Graphs above the chart region. Afterall, these are charts and not graphs. I should probably update everything to be "chart". That would be a breaking change for the /graphs URL though, so I'm still debating a full change to "Chart"
Install
wget https://github.com/poblabs/weewx-belchertown/archive/weewx-belchertown-0.8.1.tar.gz
Then run
sudo wee_extension --install weewx-belchertown-0.8.1.tar.gz
Configure the weewx.conf pre-requisites and restart weewx when done.
Issues?
Please report any issues you find here. This helps me keep track of them.