Hello from a new host

Screenshot of the home page of the HostingUK web site

As of Monday, I’m hosting this blog with a new hosting company: HostingUK. Previously, I’ve been with Bytemark, having migrated there almost 15 years ago. And, for almost ten years, this blog has been on Bytemark’s BigV platform.

Bytemark announced that its BigV platform was being retired, as it’s reaching the end of its operational life, and offered to transfer me to HostingUK. They’re both now owned by the same parent company, IOMart. Price-wise, I’m still paying the same amount per month for a very similar package as before.

Hopefully, you won’t have noticed any issues with the changeover. It seemed to go really smoothly from my end – I’ve had far more issues in the past, but then I was significantly more prepared this time

On the new host, I’ve built a new virtual machine, rather than simply copying the entire image over. It’s still based on Debian Linux, with Sympl providing the hosting environment. Sympl, incidentally, is forked from Bytemark’s own Symbiosis project which is no longer in development.

I then copied over the data from the old image to the new one – both the data files and a dump of the MariaDB database. Then all I had to do was wait for the DNS to switch over. Indeed, it felt like an anti-climax – apart from renewing some login tokens and some DNS tweaks, I’ve not needed to do much tinkering following the switchover.

Oh, America, not again

I genuinely thought that Kamala Harris would be the next president of the USA. She was running a professional, positive campaign, and had showed that she was capable of doing the job.

So you can imagine it was a very unwelcome surprise to wake up on Wednesday to find that Trump had won the presidential election. I think much of what I wrote back in 2016 still stands, but with more weariness this time. Obviously, I live in the UK and am therefore somewhat removed from the situation. And thankfully we elected a centre-left government here back in July, although how that’ll be seen by the next world’s most powerful man remains to be seen.

Ultimately, I just feel like it’s really unfair. As I said, Harris ran a good campaign. Whereas Trump and the Republican party resorted to gerrymandering, purging voters from electoral rolls, lies, and outright vote-buying on behalf of Elon Musk in Pennsylvania. And the bad guys are supposed to lose. I was really looking forward to be able to point and laugh at Musk for ploughing millions or even billions of dollars into Trump’s re-election campaign for it not to work out.

Unlike last time, we know what the next four years will entail, and I’m not particularly looking forward to it. I suppose all I can do is live my life in a way that would annoy Trump and his cronies: be kind and welcoming, not be judgemental or prejudiced, be extremely queer, and work with and not against people from marginalised groups and different faiths.

Comparing Bluetooth and Zigbee plant monitors

A photo showing a Zigbee plant monitor on the left and a Bluetooth plant monitor on the right

Search for ‘millennials house plants’ on Google and you’ll see lots of magazine articles about how people of our generation love our house plants. Alas, neither Christine or I are particularly good at keeping our house plants alive, apart from those in the already humid environment of our bathroom. So, I’ve been experimenting with electronic plant monitors to see if one will help us keep our plants thriving.

I’ve tried two different sorts of plant monitor: a Bluetooth Low Energy plant monitor from HHCC, and a Zigbee plant monitor from Haozee which works with the Tuya smart home platform. Both were bought from AliExpress.

A photo of the HHCC Bluetooth Smart Flower Monitor, inside a white plant pot and under the leaves of a basil plant.

HHCC Smart Flower Monitor

First to the HHCC model, which uses Bluetooth Low Energy. It’s sometimes known as ‘MiFlora’ and compatible devices are also sold under the Xiaomi brand. Of the two, it’s smaller, and offers more sensors; as well as detecting how much moisture is in the soil and the temperature, it’ll also try to measure how fertile the soil is, and the light intensity. It’s powered by a small CR2032 button battery which is replaceable. Officially, you should use the Flower Care app with it, but it also works with Home Assistant using the Xiaomi BLE integration.

The button battery should work for about six weeks before it needs replacing. Alas, these CR2032 batteries are not rechargeable, so you’ll need to take it to somewhere that recycles batteries and replace them when they run out of charge. At the time of writing, you can get 20 replacement CR2032 batteries for around £6, which should be enough to last you a couple of years.

Bluetooth Low Energy, as the name suggests, doesn’t have a long range. Therefore, if you are using this HHCC device with Home Assistant, you’ll need to have your device (or a Bluetooth proxy) in very close range.

A Zigbee plant monitor, which is white, oblong shaped and has light blue edging, sat in a white plant pot next to a basil plant.

Haozee Zigbee plant monitor

As you’ll see from the side by side photo at the top of this blog post, this Zigbee model is a bit bigger than the Bluetooth model. That’s because it takes two AAA batteries, rather than a CR2032 button battery. Consequently, battery life should be much longer – premium AAA batteries can typically hold up to 1100 mAh charge, compared to around 240 mAh in a CR2032 battery. Also, AAA batteries can be rechargeable.

The Zigbee signal should also be much stronger than Bluetooth Low Energy. I’ve certainly had fewer connection issues with this one compared to the HHCC model, even though the nearest Zigbee device is further away.

However, unlike the HHCC model, it doesn’t offer light or soil fertility sensors. You’ll just get the moisture level and temperature, as well as how much charge the battery has remaining. Also, if you’re planning to connect this to Home Assistant, be aware that it (probably) doesn’t support Home Assistant’s built-in ZHA integration. This was the reason why I set up Zigbee2MQTT.

The other disadvantage of Zigbee devices is the need for a hub or bridge of some sort. I use a Sonoff USB Zigbee dongle plugged into my Raspberry Pi running Home Assistant, but I imagine you’re supposed to use something like this Tuya Zigbee hub (sponsored link) and the Smart Life or Tuya phone apps. So whilst the Zigbee plant monitor itself was slightly cheaper than the Bluetooth model, there’s an initial setup cost if you don’t already have a Zigbee controller.

My recommendation

The HHCC Bluetooth plant monitor is fine if you just want to use the official Flower Care app, or have your plant very close to your Home Assistant device. The replacement batteries are cheap and you may not need any extra hardware to get it to work.

If you need a longer range, don’t want to replace batteries as often, and/or have other Zigbee devices already, get the Zigbee plant monitor. You can use standard rechargeable AAA batteries with it, and you’ll get a more reliable connection over long distances.

Steetek USB/HDMI KVM Switch review

A photo of the Steetek KVM switch, with a USB cable plugged in the front and various USB and HDMI cables plugged into the back. It's a grey, rectangular metal box.

If you’ve been reading this blog for a few months, you may notice that I’ll review gadgets that I’ve bought from Amazon from time to time. This includes headphones, a USB solid state drive, a Bluetooth label printer, a Bluetooth thermometer, energy monitoring smart plugs, a Zigbee dongle and a multi-device wireless mouse. And today, I’m reviewing a Steetek KVM switch (sponsored link).

KVM switches have been around for many years – KVM standing for Keyboard, Video and Mouse. They allow you to have one keyboard, mouse and screen connected to two or more computers, which you can switch between. Older models had to include all manner of ports – RS232 serial ports, parallel ports, PS/2 ports for keyboards and mice, and VGA or DVI ports for screens. Nowadays, thanks to standardisation on USB, modern KVM switches are much more simple.

This Steetek model is designed to switch between two computers. It comes with two USB-A to USB-B cables to connect to each computer, but you need to provide your own HDMI cables. On the front are four USB 2.0 ports, so it also doubles as a USB hub. Note that the picture on Amazon’s web site suggests that there are two USB 1.1 and two USB 2.0 ports, but they’re all labelled as USB 2.0 on the KVM switch that was delivered to me.

Once set up, there’s a single button at the front, which you press to toggle between the two computers, and two LEDs, which illuminate depending on which computer is in use. It can support 4K Ultra HD screens (3840 × 216 resolution) and audio over HDMI, so you can use it for (for example) games consoles as well as computers. The KVM switch does not need any external power, and there are no drivers to install. That being said, the lack of external power means that the USB ports will only be really useful for connecting keyboards and mice, and not any high-power devices like phones.

It’s also nice and compact, measuring just 11 cm (4 1/2 inches) wide, 6 cm (2 1/2 inches) deep and only an inch (2.5 cm) high, so it doesn’t take up much space on my desk. I’m using it to switch between our home Windows laptop, and the Raspberry Pi which runs Home Assistant. As mentioned, there’s no need to install drivers and so it works fine, even when the two computers are very different. It costs about £20 at the time of writing.

There are lots of other KVM switches available, offering external power and connections to more than two computers. There are also some Thunderbolt KVM switches, such as this one (sponsored link), which are even simpler to set up. Because Thunderbolt uses USB-C connectors for data and video, you only need one USB-C connection to each device rather than separate USB and HDMI connections. However, you’ll pay a premium for these, as they cost several times more than this more basic one. And neither of my computers support Thunderbolt.

Comparing Zigbee2MQTT with ZHA

A screenshot of the Zigbee2MQTT home page

If you’re a Home Assistant user who is getting started with Zigbee devices, then you may be tempted to just use Zigbee Home Automation (ZHA), Home Assistant’s built-in Zigbee implementation. But you may also want to consider Zigbee2MQTT as an alternative, and this blog post will explain the differences.

I’ve recently started looking into Zigbee devices. Back in July, I wrote about the different smart home protocols, and Zigbee offers some useful features:

  • Low power, so battery-powered Zigbee devices shouldn’t need their batteries replacing too often.
  • It’s a mesh protocol, so every mains-powered Zigbee device forms a mesh with each other, allowing a network to span a house without necessarily needing multiple access points like Wi-Fi.
  • It works locally, so it’s more secure and private than Wi-Fi.

If you have Philips Hue bulbs, Ikea Tradfri devices or any Hive products from British Gas, then you’re probably already using Zigbee devices. You also have a private Zigbee network if you have a smart meter, although you won’t be able to use this with your own devices. I’m using a Sonoff USB Zigbee dongle (sponsored link), which is plugged into the Raspberry Pi which runs Home Assistant. Previously, I had flashed it with custom firmware to enable support for Thread and Zigbee, but I’ve reverted that now as multiprotocol support is experimental, and I have Google Wi-Fi devices which support Thread if needed.

Zigbee Home Automation (ZHA)

If you’re new to Zigbee and/or Home Assistant, my recommendation is to use ZHA, which is Home Assistant’s built-in implementation. If you plug your Zigbee dongle in, Home Assistant should detect it, and offer to configure the ZHA integration for you. Then, you just add devices using the ‘Add Integrations’ button on the Integrations Settings page, where a new ‘Add Zigbee device’ option will appear at the top.

Home Assistant should be able to recognise and offer to add any Zigbee device, but what you may find is that some devices won’t have any entities. This means that it’s not supported by ZHA. There’s a database of Zigbee devices which you can use to check whether they’re supported by ZHA or Zigbee2MQTT, and what you may notice is that there are quite a few which ZHA doesn’t support.

Zigbee2MQTT

One of the devices that I’ve recently bought seemingly fell into this latter category. To be fair, I never checked it with ZHA, but reading reviews online suggested that it would only work with Zigbee2MQTT and not ZHA. Zigbee2MQTT also maintains its own list of supported devices, which currently number nearly 4000.

Getting Zigbee2MQTT set up with Home Assistant is a much more involved process, however. You’ll need to install two addons and an integration:

  1. Firstly, you’ll need to install the Mosquitto addon, which is an MQTT broker – essentially a server which handles the MQTT messages. This is available from the standard Home Assistant add-on store. There are other brokers available, but this one is most recommended for use with Home Assistant.
  2. Next, you’ll need to install the MQTT integration. Once Mosquitto is running, Home Assistant may automatically detect it, and offer to install this for you, but if not you’ll need to install it manually.
  3. Finally, there’s the Zigbee2MQTT addon to install. This isn’t available from the standard Home Assistant add-on store until you add a custom repository.

Once all of these are installed, you’ll need to disable the ZHA integration if it’s enabled, and then open the Zigbee2MQTT web interface. Go into the settings, and ensure that it’s pointing at the Mosquitto MQTT server that you set up in step one above – you may need to enter its IP address.

You’ll then need to add devices using the Zigbee2MQTT web interface – there’s a button at the top right where you can enable pairing. Any devices you add will then show up automatically under the MQTT integration in Home Assistant.

Once set up, Zigbee2MQTT seems to work well, and I’ve seen others state that they’ve found it more stable than ZHA. But it’s a lot more difficult to set up, and ZHA will probably work for most users. If you’re new to all this, my advice would be to try ZHA first, and then re-pair your devices with Zigbee2MQTT if it doesn’t work out.

Playlist of the month: Halloween Party

Screenshot of the Halloween Party playlist on Spotify

When it comes to choosing a playlist of the month for October, it has to be Halloween-themed, doesn’t it? In the hope that I’ll have chance to do one again next year, I’m specifically focussing on party tunes for Halloween this time. Here’s the Spotify playlist.

  • Ghostbusters by Ray Parker Jr. As well as being the theme tune to a cult-classic film, this is a great catchy party song.
  • Everybody (Backstreet’s Back) by Backstreet Boys. Whilst the lyrics are not especially Halloween-themed, the music video and accompanying dance moves are. Also, any song which unironically opens with ‘Oh my god, we’re back again!’ is good to me.
  • She Wolf by Shakira. Not one of her most-played songs on Spotify (that honour goes to Hips Don’t Lie, with nearly 2 billion streams) but it fits the theme.
  • Time Warp by the Cast of the Rocky Horror Picture Show. Can you have a Halloween party without people doing a jump to the left, and a little step to the right, while being driven insane by pelvic thrusts?
  • Things That Go Bump In The Night by allStars. I mentioned this song back in March, as it was one that was recently brought back onto digital platforms by Pop Music Activism. It’s now up to 5 million streams as I write this.
  • Witch Doctor by The Cartoons. The Cartoons were a late 90s novelty Danish pop band, and this cover version is much better than the original 1950s song by Ross Bagdasarian.
  • Scared of the Dark by Steps. Again, we can’t have a pop party without Steps. This is one of their more recent songs after a long hiatus, and, like many of their newer singles, is also one of their best.
  • Super Freak by Rick James. Possibly not the sort of song to play at a kid’s birthday party if you listen closely to the lyrics. It’s the song that was famously sampled by MC Hammer for Can’t Touch This.
  • Monster Mash by Bobby “Boris” Pickett and the Crypt-Kickers. Oh go on, let’s throw a classic in here. I think most people know the lyrics by now.
  • Disturbia by Rihanna. And finally another one with a catchy ‘bum-bum-be-dum-bum-bum-be-dim-bum’ in the lyrics.

Spooky Skeletons at Lotherton Hall

A photo of Lotherton Hall. It's a pebble-dashed stately home

At the weekend, I took our eight-year-old to Lotherton Hall and Estate near Leeds. We’ve been many times before (the last time I wrote about a visit was 2016), but this was the first time that we’d been during its Halloween event, Spooky Skeletons. Indeed, as Lotherton isn’t far from York, I’ve been coming since I was young. One of my earliest memories was one of my primary school teachers being on the receiving end of a flying bird’s defecation, which, when you’re not yet ten-years-old, is hilarious.

A photo of the inside of Lotherton Hall, showing two couches facing each other.

Spooky Skeletons

As well as being the first time that I’d been to their Halloween event, this was also the first time that I had been inside the actual hall. All the downstairs rooms have been decorated with lots of skeletons – some rather anatomically questionable – and there’s a general theme of a seaside funfair of the undead as you go between the rooms. It’s not as opulent as Castle Howard’s Christmas events (we went in 2022) and clearly done on a local authority budget, but there was plenty of whimsy.

Outside, there were plenty more skeletons, and the theme was fairytale characters. For example, Robin Hood (with an arrow in his mouth), Peter Pan and Hook, and Sleeping Beauty (both before and after pricking her finger). If you’ve ever been to Lotherton’s Christmas events, it uses the same woodland walk but there were skeletons all over the grounds, including the formal gardens.

Spooky Skeletons is running until this Sunday (the 3rd November).

A zookeeper feeding a group of humboldt penguins at Lotherton Wildlife World

Lotherton Wildlife World

When I was growing up, the main reason to visit Lotherton was the Bird Garden, which had a wide collection of different species of birds. A few years ago, this became Lotherton Wildlife World, and now has a wider range of animals, including tapir, capybara, wallabies and a nocturnal area with bats and cloud rats. Some parts are a little run down, but it’s also clear to see that work is ongoing to renovate it. We were lucky enough to see feeding time for the humboldt penguins.

Accessibility

Lotherton is normally open every day. It’s not far from Junction 47 of the M1 and there’s plenty of car parking. Public transport is more of an issue; the nearest bus stop is in the village of Aberford and then it’s a 20 minute walk. Micklefield is the nearest railway station and has regular trains from Leeds towards York and Selby, but again, it’s a very long walk.

The site is mostly flat, although there are some uneven surfaces. A changing places toilet is available. Tickets are slightly cheaper if you book in advance online. A Max card discount is available.

Have you ever been to a Greggs Outlet?

A photo of the Gregg's Outlet on Great Horton Road, opposite the university in Bradford

Greggs, the UK bakery chain, is basically everywhere nowadays. What started out as one shop in the north east in the 1950s has grown to approximately 2500 stores across almost all of the UK. Most towns and cities have at least one; whilst Sowerby Bridge doesn’t have one, nearby Halifax has three. Even the New York Times wrote a gushing article about them earlier this year.

What’s less well known about are the smaller number of Greggs Outlets. These sell excess stock from other Greggs stores at a discount. And there’s one opposite the university where I work.

The Greggs Outlet in Bradford wasn’t always an outlet. Pre-pandemic, it was a regular Greggs, selling the full standard range including the vegan sausage rolls that seemed to boil Piers Morgan’s piss. But when shops could open again, it received new red branding and had the indoor seating area closed.

Inside, you can buy most of the things that you can normally buy in a regular Greggs, but not everything; it depends what has been left over elsewhere. Nor will it be quite so fresh; the sandwiches will have been made the previous day, for example. You also can’t get things like bacon sandwiches, although usually coffee is available to take away.

But it is much cheaper – typically everything is half price. Baguette sandwiches are around £1.60 each, and sweet treats are almost always under £1. Great for students on tight budgets at the university and nearby college, but also for those on low incomes.

Indeed, the reason why you may not have come across a Greggs Outlet is that they’re strategically located in areas of social deprivation. This includes some in its home territory around Newcastle, but also Bradford, Birmingham, Glasgow, Liverpool, Cardiff, Leicester, Leeds, Preston, Sheffield, Oldham, and some in London. Greggs is planning to have 50 outlets open by the end of next year, representing about 2% of its estate. Food that remains unsold then gets passed to charities, and Greggs claims to have distributed over 1000 tonnes of food in 2023.

Whilst I can afford to go to a regular Greggs, I appreciate having an outlet in easy reach. And it’s a good way of avoiding food waste. Schemes like Too Good To Go are great for smaller businesses to offload excess stock, but for larger chains like Greggs, making cheaper food available all day for those less likely to be able to afford it is welcome.

So long, Solax local API

A screenshot of the Home Assistant web site showing the information page for the Solax integration.

If you’ve been reading this blog for a while, you’ll know that we have solar panels which are connected to an inverter from the Chinese company Solax. Recently, I asked for the firmware on our inverter to be updated, as part of some testing I’m assisting with for an app. Unfortunately, in doing so, it’s broken the Home Assistant integration.

As per the integration page:

Inverter models with newer firmware (and also those using devices like PocketWifi) no longer expose an API when connected to your wireless network, they do however continue to expose it on their own broadcasted SSID. To use this sensor in this case it is necessary to set up a reverse proxy with something like NGINX and use a Raspberry Pi (or similar) with two network connections (one being Wi-Fi that connects to the inverters SSID).

Home Assistant Solax Power integration
A screenshot of the Wi-Fi network selection screen on iOS 8, showing an unsecured network for the Solax inverter.

Sure enough, a scan of available Wi-fi networks showed a new unsecured SSID with my inverter’s serial number. Now I’m not beyond setting up a reverse proxy (I have Nginx Proxy Manager running) but this would require purchasing an additional Raspberry Pi, potentially with an additional USB Wi-fi adaptor or HomePlug adaptor.

Annoyingly, the inverter does still connect to my home Wi-fi network, and it’s possible to access a web-based portal by popping the inverter’s IP address into a web browser. But it no longer offers a local, real-time API over REST.

All aboard the Modbus

That’s the bad news. The good news is that it’s still possible to connect to the inverter using the Modbus protocol. Now, Modbus is old. Like, really old. Like, older than me old. Like, old enough to be a grandfather old. Like… well, you get the picture – it was originally developed in 1979 for use over serial connections. Thankfully Modbus can also work over TCP/IP on port 502, so I don’t need to run a very long serial cable and dig out my old USB to RS232 adaptor. Yes, I still have a USB to RS232 adaptor somewhere. I’m only a few years younger than Modbus.

Also, Modbus sounds like a bus full of really cool people wearing 1960s fashion and listening to The Who, although arguably they should be on Lambretta scooters. This is where I would ask Microsoft Copilot to create an image of this, but I’ll probably end up using the equivalent electricity to power a provincial English town trying to get it to generate what I’ve pictured in my mind.

Home Assistant natively supports Modbus, and if you have a spare half hour you can read everything on that page. Suffice to say, you have to set it up using YAML and know the Modbus specification of the device you’re communicating with. You probably don’t want to do this.

HACS to the rescue

The good news is that there’s a HACS integration for Solax Modbus. Once you have HACS installed, search for Solax and it’s (currently) the only one that comes up. Install it, restart Home Assistant, and then add the integration. There will be lots of input boxes pre-filled with default values – leave these be. The only thing you need to enter is the IP address for your inverter.

Once set up, the integration added loads of new entities for my inverter to Home Assistant. In fact, it seems like there were far more than before. The data isn’t strictly speaking ‘real-time’, but it polls every 15 seconds and so might as well be.

So that’s the good news. You can have the latest firmware on your inverter, and have it work locally with Home Assistant, without having to purchase another device to act as a reverse proxy. The bad news is that you’ll need to update any dashboards that you have set up to point to the new entities.

Looking to the cloud

The official way of accessing your inverter’s data and status is using the Solax Cloud, either online or through the official app. From there, there is an official API for interacting with this data. But it’s not real-time – updates happen every five minutes. And I can see why some people won’t want their data uploading to the cloud.

There isn’t a Home Assistant integration for Solax Cloud, either in the core product or through HACS. But someone has written their own YAML code to communicate with the Cloud API, should you wish to use this, although it also relies on the REST API which seems to have been deprecated from newer firmware versions.

Getting the latest Solax firmware

If you do want to update the firmware on your Solax inverter, there’s a handy guide here. The easiest and safest way is to contact Solax support and ask them to do it for you; they can log into your inverter remotely and run the upgrade. I hadn’t realised this until Home Assistant suddenly stopped being able to communicate with the REST API on my inverter. There are other ways of obtaining the firmware, and you can upload it yourself to your inverter’s local web portal, but it’s probably best for Solax to do this for you. Considering our solar panels, battery and inverter cost a five figure sum to install, it’s not something that I want to accidentally brick.

As for the app I mentioned in the first paragraph? I’ll talk about it once it’s released.

The Mersey Tunnels

The George's Dock building which houses the ventilation shaft for the Queensway Tunnel, one of the two Mersey road tunnels

Why yes, I am stretching out a single day trip to Liverpool and Wirral into four blog posts. The first was our trip to Eureka Science + Discovery in Wirral, the second about the Mersey ferries, the third about the Museum of Liverpool, and now this, about the tunnels that run under the River Mersey between Liverpool and Wirral.

There are three tunnels under the River Mersey; the oldest is the railway tunnel, which is now part of the Wirral Line of Merseyrail. The Queensway Tunnel opened in the 1930s, and is the oldest road tunnel, with the Kingsway Tunnel opening in the 1970s to relieve congestion. As it happened, Google Maps directed me through the Queensway Tunnel on the way there, and Kingsway Tunnel on the way back. And I got to experience the Mersey Railway tunnel back in 2010, so I’ve now been through all three.

Both road tunnels charge a toll – it’s about £2 for cars, but check the Mersey Tunnels web site for current prices. The toll plazas are on the Wirral side; unlike the newer Mersey Gateway Crossing further upstream, you have to pay to enter or leave the tunnels and can’t pay later online. Thankfully, card payments are accepted as well as cash.

The two tunnels differ in design. Both have two lanes of traffic easy way, but the newer Kingsway Tunnel has two separate bores rather than one single wide bore. The Kingsway Tunnel is also the only one open to heavy goods vehicles; the Queensway Tunnel has a 3.5 tonne weight limit, and buses must use the offside lane due to the lower ceiling. They’re also different lengths; the Queensway Tunnel is about 1 km longer than the Kingsway Tunnel, even though the Kingsway Tunnel is further downstream.

Another interesting fact is that the tunnels have their own police force; indeed, there are four police forces active in Liverpool. As well as the Mersey Tunnels Police and Merseyside Police, Liverpool Cathedral and the Port of Liverpool also have their own police forces. That’ll make a good pub quiz question.

The tunnels need ventilation shafts, and many of these are now landmarks alongside the River Mersey; indeed, the Georges Dock shaft in Liverpool is now grade II listed.

If you don’t want to pay the tolls, then expect to make a much longer journey. The next two crossings upstream, the Silver Jubilee Bridge and Mersey Gateway Crossing, also charge tolls (and the prices are similar), so the first ‘free’ bridge over the River Mersey that you can drive across is in Warrington. When I was planning my journey, a route avoiding the tolls took me down the M6, across on the M56 and up into Wirral on the M53, adding around 7 minutes and 32 km (20 miles) onto my journey. The extra fuel burnt would probably have equated to the toll.