Earth Notes: On Website Technicals (2025-02)
Updated 2025-03-03.2025-02-28: Heat Battery Back Online
The Sunamp Thermino heat battery has been reconnected to 16WW's DHW (Domestic Hot Water) system.
The pekoe
RPi that listens to the Thermino is back on top of it, with a new network cable, which just worked with no crossovers etc this time. The Thermino logs are being recorded again, as of this afternoon.
I very slightly upgraded the heat battery driver main RPi script to now show a 'w
' flag at all (not just L
) times when a pasteurisation is pending:
2025-02-28T17:31Z MT 0 GI 242 IT 0 F HRbvxN ES 1 2025-02-28T17:41Z MT 0 GI 243 IT 0 F HRbvxN ES 1 2025-02-28T17:51Z MT 0 GI 243 IT 0 F HRbvxN ES 1 ... 2025-02-28T18:01Z MT 0 GI 246 IT 0 F HRbvxwN ES 1
Skype
Given that Skype is apparently to be shut down , and I have not used it in years I think, I have deleted the Skype client on my laptop.
2025-02-25: CO2 Year-to-date
I have long intended to have some sort of running live-ish measure of utility CO2 emissions, and they are now available (currently updating monthly): 16WW Energy Series Dataset: 16WW Utility Energy CO2 Year-to-date.
Raw and projected kgCO2 for year so far for utility grid electricity based on computed live grid intensity and 16WW imports and exports.
: year to date (31 days) 78kgCO2, full-year linearly projected (more-of-the-same) 918kgCO2.
I may also show the running kgCO2 on the home page or similar in due course...
Recent hotness
I have extended the stats on the heat-battery target dashboard to include simple text bar charts by day of system and DHW tanks full/hot:
- Recent (8/8) days when tank or battery did not fill [nnnnnnnn]: 100%
- Recent DHW cylinder pasteurisations w/ tank Hot [H---------].
2025-02-24: pagefind
I am considering using pagefind
to replace the Google search box on the EOU site search page.
This would be like a (better!) version of my old Java applet. No dependency on any remote server at run-time.
There are some significant privacy and related issues to consider, but generating an index for the 'lite' site seems as simple as:
% npx pagefind --site m
Because the main/desktop paged optimised away the body
tag that pagefind
normally indexes, and to avoid descending into private directories and capturing non-static pages, a slightly more complex formulation seems to be required:
% pagefind --root-selector main --site . --glob '[A-Za-z0-9]*.html' Running Pagefind v1.3.0 (Extended) Running from: "..." Source: "" Output: "pagefind" [Walking source directory] Found 451 files matching [A-Za-z0-9]*.html [Parsing files] Did not find a data-pagefind-body element on the site. . Indexing all <body> elements on the site. [Reading languages] Discovered 1 language: en-gb [Building search indexes] Total: Indexed 1 language Indexed 449 pages Indexed 56993 words Indexed 0 filters Indexed 0 sorts Finished in 3.058 seconds
The default search UI (with the sample HTML snippet) seems reasonable. It requires JavaScript to run so would need a noscript
warning. The JavaScript dependency is limited to the single search/sitemap page on each site variant.
This may need newer infrastructure than I wish to support on my server until it is upgraded, and there are some other difficulties evident.
2025-02-23: Bad Data Purge
When the Eddi lost some of its marbles on due to a latent firmware bug, all the data it reported from then until after I fully uploaded the firmware fix is wrong or at least tainted.
While preserving the raw data as captured atdata/eddi/log/202501-raw.daily.csv
, to remove noise from much of the stats I manually excised the bad days from the daily record at data/eddi/log/202501.daily.csv
, and created a little helper to recompute the final summary line: % awk < data/eddi/log/202501.daily.csv -F, '/^[^#]/{for(i=2;i<=9;++i){sum[i]+=$i}} END{for(i=2;i<=9;++i){printf("%.3f,", sum[i])}}'
Storage CoP Threshold Raised
As work on reconnecting the Thermino has started, and I now do not think that much direct grid-top up should happen, ie it should be truly exceptional, I have raised the minimum effective storage CoP from 2.00 to 3.00 with SOFTPMINSTORAGECOPPC=300
in data/consolidated/softparams.txt
.
2025-02-18: BIND9 DNS Daemon Died
DNS on the server died about a day ago (), which I discovered ~ because my intensity page was unable to fetch data (DNS lookup error).
I started by checking that the data source was not down (it happens), then blaming resolvconf
, but a restart of BIND9
seems to have fixed things for now.
An innocent OOM (Out of Memory) kill is possible, but malicious attacks are possible. I was not manually killing any processes at that time.
2025-02-16: Adjusted Low Grid Times
I was marking 00h to 06h inclusive as 'L
' potential low-intensity hours, but the first of those often sees a small uptick in demand on the GB grid because of Economy 7 etc kicking in after midnight.
Also the 'L
' hours are 'local', so some of the year 00h is before midnight UTC. It would be nice to avoid that minor headache when looking at stats.
So I have removed 00h as an 'L
' hour. The remaining 6 hours are long enough, as a typical pasteurisation time is 2h.
2025-02-14: Avoiding Bitly Ads
It seems that now, not unreasonably, we face Bitly Showing Ads on Page Redirects.
The tweets/toots for GB grid carbon intensity used to (for many years) redirect via a short bit.ly
link to fit in an old tweet.
To trim the small extra implied carbon and privacy cost I have now set up a redirection from /GBGI
to the GB Grid Intensity page.
Though it should work for http
and https
, and allowing for some other aliasing, I am now using https://earth.org.uk/GBGI
in the toots on mastodon.energy
.
Because toots can be longer than the old tweet limit, the 6-character longer (was http://bit.ly/3usoe
) new URL is OK.
2025-02-21
This takes a couple of redirects to land, but that is OK. This is me clicking through from a toot:
www.earth.org.uk:443 79.135.X.X - - [21/Feb/2025:18:11:22 +0000] "GET /GBGI HTTP/2.0" 301 382 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:135.0) Gecko/20100101 Firefox/135.0" www.earth.org.uk:443 79.135.X.X - - [21/Feb/2025:18:11:22 +0000] "GET /GBGI HTTP/2.0" 301 331 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:135.0) Gecko/20100101 Firefox/135.0" www.earth.org.uk:443 79.135.X.X - - [21/Feb/2025:18:11:22 +0000] "GET /_gridCarbonIntensityGB.html HTTP/2.0" 200 5862 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:135.0) Gecko/20100101 Firefox/135.0"
2025-02-10: Updating Interconnector Carbon Intensities
Today Electricity Maps gave me access to the whole-of- mean grid carbon intensities for the six countries at the other end of GB's interconnectors from its data portal: Granular historical electricity data.
Thank you!
I shall use these intensities from the start of for my live GB grid carbon intensity calculations. The roll-over will be automatic.
I am definitely not leaving things to the last minute!
The new () 'direct' intensity values:
# Interconnectors to BE (NEM), DK (VKL), FR (IFA, IFA2, ELEC), IE (IRL, EW, GRNL), NL (NED), NO (NSL). # BE 2024 mean 0.105: Electricity Maps / ENTSO-E. # DK 2024 mean 0.075: Electricity Maps / ENTSO-E. # FR 2024 mean 0.018: Electricity Maps / ENTSO-E. # GB 2024 mean 0.107: Electricity Maps / nationalgrideso.com, elexon.co.uk # IE 2024 mean 0.322: Electricity Maps / ENTSO-E. # NL 2024 mean 0.199: Electricity Maps / ENTSO-E. # NO 2024 mean 0.009: Electricity Maps / ENTSO-E.
2025-02-09: Reducing Redundant Archive Bandwidth
An archive of a copy 'lite' site version is captured each month and made available under out/monthly
, in two formats (ZIP and LZMA).
Various somewhat brute-force bots come and fetch those blindly, even though their content is entirely redundant cf the live site.
I have displaced the archives one level down to out/monthly/archive
, and created a robots.txt
to forbid spidering that tree.
I have updated the Zenodo metadata [hart-davis2023EOUoffline] to reflect the new path on EOU.
2025-02-02: Unexpected Talk in FOSDEM Energy Area
I attended FOSDEM this year as usual (my first visit seems to have been 2011) and was sitting at the front of the Energy dev room
when about the fifth scheduled speaker did not show up.
I volunteered my LOCO2024 lightning talk on the RSS inefficiency issue to fill some of the gap, was taken up on my offer, and was edited into the programme retrospectively [hart-davis2025feeds]!
That makes me a two-time FOSDEM speaker now, given the OpenTRV effort [hart-davis2014opentrv]...
The same has been done with the much larger data archive [hart-davis2023EOUdata].
References
- [hart-davis2014opentrv] OpenTRV: resource-constained computing: less is more
- [hart-davis2023EOUdata] Earth.Org.UK (EOU) public data snapshot
- [hart-davis2023EOUoffline] Earth.Org.UK main pages offline archive
- [hart-davis2025feeds] Lightning Talk: Podcast Feeds
(Count: 4)