Setting WPA mode on ESPHome

The YAML code for ESPHome to specify the WPA version

If you’ve upgraded to last month’s release of ESPHome 2025.11, you may start seeing this warning message about WPA when validating your YAML scripts, or compiling new versions:

WARNING The minimum WiFi authentication mode (wifi -> min_auth_mode) is not set. This controls the weakest encryption your device will accept when connecting to WiFi. Currently defaults to WPA (less secure), but will change to WPA2 (more secure) in 2026.6.0. WPA uses TKIP encryption which has known security vulnerabilities and should be avoided. WPA2 uses AES encryption which is significantly more secure. To silence this warning, explicitly set min_auth_mode under ‘wifi:’. If your router supports WPA2 or WPA3, set ‘min_auth_mode: WPA2’. If your router only supports WPA, set ‘min_auth_mode: WPA’.

The warning message is pretty self-explanatory, but it concerns upcoming changes to Wi-Fi Protected Access (WPA) in ESPHome that are due to be introduced in June next year.

A bit of a history of WPA

Honestly, if you’re using ESPHome, you’re probably sufficiently tech-savvy to know what WPA is, but if this blog post is less than 300 words, it’ll probably be largely ignored by search engines. So, you can skip this bit if you like.

WPA is what makes a secured Wi-Fi network secure. The ‘Wi-Fi password’ you put in when connecting to secure Wi-Fi networks is the WPA security key. It replaced Wired Equivalent Privacy, dating from the earliest days of Wi-Fi, which is so weak that you can probably crack it with a standard laptop nowadays in a few minutes. It used 64 or 128-bit RC4 keys.

There are three versions of WPA:

  • The original version, which uses 128-bit keys with TKIP
  • WPA2, which replaces TKIP with the more secure AES
  • WPA3, the newest version, which improves the security of the key exchange and mitigates against easily guessable Wi-Fi passwords

Many devices that were originally designed to only support WEP could be upgraded to support WPA through software. At the time, this was a good thing – plain vanilla WPA was (and is) more secure than WEP. But as more security research has taken place, and computers have become more powerful, WPA is now also no longer recommended. WPA2 was ratified over 20 years ago, and so there are very few devices still in use that don’t support it. WPA3, meanwhile, is still quite new, having been ratified in 2018.

ESP devices and WPA

So, to bring this back to ESP devices and ESPHome in particular. At the moment, ESPHome defaults to the following WPA versions:

  • Original, plain vanilla WPA on ESP8266 chips
  • WPA2 on ESP32 chips

Remember, ESP32 is newer than ESP8266, despite the numbers. ESPHome has long supported YAML variables, that over-ride these defaults, to specify a specific WPA version to use when compiling.

What has changed with ESPHome 2025.11 is that, where you don’t specify the WPA version, you’ll see the above error when validating or compiling ESPHome for ESP8266 devices. Remember, these default to standard WPA at present.

Next June, when ESPHome 2026.06 is due for release, support for WPA will be dropped. So, if you don’t specify the WPA version, then from around June 2026, your ESP8266 devices will start using WPA2 the next time you re-compile them. This shouldn’t cause any issues, unless your Wi-Fi router is really old and doesn’t support WPA2. To which, I would say that replacing your router should be your priority, rather than amending your ESPHome configurations.

As for WPA3, this is only supported by the newer ESP32 family of chips. That means that, from June 2026, WPA2 will be the only option for ESP8266 chips.

How you can make the WPA warning go away

If you want, you can edit your YAML configuration files for your ESPHome devices to specify the WPA version to use. In the ‘wifi:‘ block, add ‘min_auth_mode: WPA2‘ underneath the network name and key, as so:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  min_auth_mode: WPA2

That will ensure that ESPHome always uses WPA2 on your devices, and will hide the warning. If your devices have ESP32 chips, and your router supports WPA3, you can add ‘min_auth_mode: WPA3‘ instead; this will offer better security. For more information, see the guide to the ESPHome Wi-Fi component.

Will ESPHome eventually phase out WPA2 support as well? Perhaps, but WPA3 is still pretty new – if your router is more than five years old then it may not support it. Maybe it will in another 15 years or so.

Fritz!Box 7530 AX review

A photo of the Fritz!Box 7530 AX

As is usual when you sign up to a new Internet Service Provider, we were offered a new router as well. We signed up with Zen Internet, who unlike their larger rivals, don’t offer their own branded router hardware. Instead, we’ve now got a Fritz!Box 7530 AX as our home router.

Fritz! devices are more common in mainland Europe – Fritz! is a German company – and Zen are one of the few ISPs that offer their devices in the UK. Indeed, their UK range is much smaller than the range available elsewhere in Europe, where you can also buy Fritz! branded smart plugs.

Connectivity

As for the Fritz!Box 7530 AX, the ‘AX’ indicates that it supports 802.11ax, better known as Wi-Fi 6. It’s ‘standard’ Wi-Fi 6, not the enhanced Wi-Fi 6E, so it uses the 2.4 GHz and 5 GHz bands only. Still, it’s an upgrade over our previous Google Nest Wi-Fi system which only supported Wi-Fi 5. As well as Wi-Fi, you get 4 Gigabit Ethernet ports, and a USB port which can be used for media sharing. It should be noted, however, that you’ll need to use one of these Ethernet ports to connect to the Optical Network Terminal, if you have fibre broadband.

Another difference with our previous Google Nest Wi-Fi system is that there’s no Thread support. This means I just have the one Thread border router now, which a USB dongle plugged into my Home Assistant Green. There is a newer Fritz!Boz, the 7690, which supports Wi-Fi 7 and Zigbee, but this is what Zen offered to us.

If we opted to have a Digital Voice Line, then we could plug our landline phone into the Fritz!Box, and it supports IP-based DECT phones as well.

Design

The design of the Fritz!Box is, frankly, a little dated. It feels like it’s made of quite cheap plastic, and I’m not a fan of the colour scheme. But to be fair, it lives in our spare room, so we don’t actually need to see it very much. It can be wall-mounted, if needed – there are a couple of screw hooks on the bottom.

All the ports are on one side, except for the USB port which is at the top.

What it’s like to use

All Fritz!Box devices ship with Fritz!OS, which is their custom Linux distro. There’s a web-based interface, and apps for iOS and Android. In fact, there are several apps – one for managing the device itself, and one for testing the Wi-Fi signal.

The web interface is pretty good, and gives you a lot of control over the box and your home network. Indeed, it was very good at showing a network topology, including those devices connected via my Powerline adaptors. Plus, the web address is ‘fritz.box’ which is nice and easy to remember.

It supports the creation of a separate guest network, which appears as a separate Wi-Fi network (SSID) to your own, and can be open or secured with a separate password.

Wi-Fi speeds and coverage

In the couple of weeks that we’ve had the Fritz!Box, the speed and coverage of the Wi-Fi signal has been excellent. There hasn’t been anywhere in our house where I’ve noticed any issues. How much of that is down specifically to the Fritz!Box, and how much is due to improvements in Wi-Fi 6 over Wi-Fi 5, I’m unsure. But either way, I’m happy with the connectivity that we’re getting.

Something I will pass on is a comment our Openreach engineer made; Fritz!Box devices don’t seem to like a change from being a DSL router to a router connected to a fibre ONT. Not a problem for us, as we’re already on with fibre, but something to bear in mind if you’re considering one and don’t have full fibre yet.

Home Assistant integration

When I first connected my Home Assistant Green to the Fritz!Box, it found several new devices. These included UPnP and DLNA, which come up when you connect most routers, but also two Fritz! specific integrations: Fritz! Smart Home and Fritz!Box Tools. Of these, the second is most useful, as it allows you to control whether individual devices on your network have Internet access, or whether they’re at home or away. This may result in a large number of devices appearing in your Home Assistant install, however, on those where the devices’ MAC address is available in the integration, the device will be shared and only appear once. That means that my ESPHome devices show as both ESPHome and Fritz! devices with the controls combined. It’s not perfect – my Matter devices show up twice, for example – but it allows you to track where devices like phones without having location services on.

Verdict

So, should you get a Fritz!Box? It’s certainly a very capable router with good Wi-Fi performance, and lots of settings for expert users to access. The web interface is clean and simple to use. However, the design is a bit dated, and there are some nice-to-have features that would make it better if they were included.

As I mentioned earlier, ours came with our Zen broadband package, but you can buy a Fritz!Box from Amazon if you wish (sponsored link). They’re about £145 for the 7530 AX model.

Zen also offer Eero Wi-Fi routers on their faster full fibre packages; I haven’t tested one, but they do look nicer. Eero is owned by Amazon, and is the major competitor to Google Wi-Fi.

Achieving a state of internet Zen

Screenshot of the Zen internet home page

So, following on from our full fibre (FTTP) broadband installation, we also switched to a new internet provider: Zen Internet.

Zen is one of the oldest Internet Service Providers (ISP) in the UK, having been founded 30 years ago, and in that time it has resisted being bought out by a larger rival. It remains one of the smaller players in the UK ISP market, but has a reputation for offering a better standard of service – it’s been Which magazine’s recommended provider for five years running, for example. A friend of mine who works in IT also uses them at home, and recommended them.

In the past, I’ve considered Zen, but found other companies to be cheaper. However, they now offer fibre-only packages (without a digital voice line) that are only a little more expensive than the mainstream providers, and so we’ve signed up.

Our previous provider was Vodafone. They were cheap, but the service wasn’t the best – a number of small outages here and there, but a big one in October was quite disruptive. Pre-2020, I would have put up with the occasional outage, but now that I work from home 2-3 days per week, and use video conferencing almost every day, I need a reliable home broadband service.

A screenshot of Ookla Speedtest results for our Zen home broadband connection

Broadband speeds

So, do Zen internet offer their advertised speeds? In my experience yes – eventually. Part of the reason why I’ve held off writing this for a couple of weeks is to give our internet speed time to settle. When your line is first installed, speeds can fluctuate for the first week or so.

I’ve shared a screenshot of a Ookla Speedtest result above – it shows that we’re getting about 105 Mbps download, and 20 Mbps download. Which is roughly the fastest advertised speeds that we should be getting. We were coping well with 80 Mbps before and so I didn’t see a reason to pay for much faster speeds. Zen apparently offers a 2 Gbps package, which I suppose is great if your household has four teenagers all running separate Twitch streams, but it would be overkill for us.

So far, I’ve been happy with Zen, but as we’ve only had the service a couple of weeks, it’s perhaps too early for a full review. The contract is for 18 months, so I’ll see if I’m still thinking positively with them in late spring 2027.

Full of your daily dose of fibre (broadband)

Our OpenReach fibre broadband Optical Network Terminal (or modem)

We’ve brought our home internet connection into the 21st Century and are now hooked up to Openreach’s full fibre broadband network. This is a full fibre-to-the-home (FTTH) connection, where the fibre optic cables run all the way into our house.

Previously, we had a fibre-to-the-cabinet (FTTC) connection, where there were fibre optic cables running to a street cabinet a short distance away. However, the final distance was the same copper cable installed when the house was first connected to the analogue phone network. And whilst we were able to get 80 Mbps speeds over that connection, that was really the limit of that technology. With fibre-to-the-home, we could get speeds of up to 1.6 Gbps, which is frankly ludicrous. When I started university in 2002, the entire university’s internet connection wasn’t even that fast. And yet, provided you’re willing to pay for it, you can get online at speeds that are over 30,000 times faster than dial-up.

Fibre broadband installation

The installation took around 3 hours. Although we pay for our internet service from a retail ISP, it’s Openreach (part of BT) who own the infrastructure and who will do the installation. For us, this involved replacing the copper cable from the nearby telegraph pole, removing the phone socket, and installing an Optical Network Terminal (ONT) – essentially a modem – inside the house. That’s what’s pictured above – you’ll note that it says to leave it behind if moving house. You then plug in your router to this using an Ethernet cable; your router will need to support PPPoE, which any router provided by your ISP will be capable of.

As part of the installation, we also changed to a new ISP, having previously been with Vodafone – more about that in a later blog post.

Once the installation is completed, you may have to wait up to an hour for your connection to start working again. I found I also had to restart the router, but once done, we were back in business.

No landline phone number

One decision we made this time is that we would no longer have a voice line. We had the option of paying extra for it, but the only people who call us on our landline nowadays tend to be scammers, so we decided it wasn’t worth it. Even though we’ve been living in this house for 10 years now, barely anyone has our landline number. If you do switch to fibre broadband and haven’t already been migrated to a digital voice line, then this will happen as part of the installation. That means that your phone is connected to your broadband router, rather than the wall socket. Indeed, the ONT doesn’t have a RJ-11 or BS 6312 socket to connect an analogue phone. It’s worth bearing in mind that your landline phone won’t work in a power cut if this happens.

This also means I can finally get rid of my supply of ADSL microfilters.

Speeds

We’ve actually gone for a modest 100 Mbps package. We were getting by quite well on 80 Mbps, and so for now we don’t really need the extra speed. As I write this, the installation was only completed a few hours ago, and so it’s too early to share what our new speeds are.

We may consider faster speeds in future, should our nine-year-old take up online gaming for example, and at least now the hardware is there to support it.

Ecosia

A screenshot of the Ecosia home page

For some time now, I’ve been using Ecosia as my primary search engine, rather than Google search. It aims to be a more ethical alternative; Ecosia is a non-profit company, and any money that would normally go to shareholders instead goes towards planting and protecting trees. In 2014, it became the first German company to become a certified B Corp.

If you create an account on Ecosia (and this is optional), then when you use it, you can see how many trees you’ve helped to plant. For me, this is two, although it would probably be more if I’d remembered to sign in more often.

The results you see from your search are generally provided by either Google or Bing. This is broadly the same as other third-party search engines like DuckDuckGo, which repackage results from the big two search engines in a way that is more respectful to user privacy. However, some results may come from EUSP, which is trying to build a Europe-focussed search engine. EUSP is a joint venture between Ecosia and a French search engine called Qwant.

In my experience, the results are good enough 80-90% of the time. If I’m looking for something super-specific, then I’ll defer to Google, but generally Ecosia works fine. It’s been my default on the desktop since at least last year. Aside from this, my only other criticism is that, on a laptop screen, sponsored results take up all the visual space, and you have to scroll to see the actual results. As Ecosia claims to care more about your privacy, frequently these sponsored results are less relevant. Indeed, it will respect the ‘do not track’ setting in your web browser. Also, if you have an account, you can disable Ecosia’s AI features.

There’s also a web browser available, which looks to be a re-packaged version of Chromium with Ecosia as the default search engine. I haven’t tried it, as I’m happy with Firefox.

If you want to reduce your carbon impact whilst searching (especially with Google’s AI summary appearing by default), consider giving Ecosia a try.

Converting a Tasmota smart plug to ESPHome

A photo of a Coosa smart plug, originally running Tuya firmware, and a USB to UART converter. This now runs ESPHome firmware.

Back in June, I flashed some old Tuya Wi-Fi smart plugs with Tasmota firmware. I’ve now re-flashed one of them with ESPHome, an alternative firmware by the Open Home Foundation who are the same people as Home Assistant. In this blog post, I’m going to outline:

  • Why the change from Tasmota to ESPHome
  • How to build a YAML file for ESPHome
  • The flashing process

This is a longer blog post, so if you want to skip the explanations for each section of the YAML file and just want to go ahead and do this yourself, you can download my pre-made YAML file from GitHub, and then follow these instructions.

Why the change from Tasmota to ESPHome

If you’re starting out with custom firmware for your existing devices, then I would still recommend Tasmota. It’s much easier to set up, as you install it first, and then configure it. There’s also a much more extensive repository of supported devices, so you shouldn’t need to do much manual tinkering once Tasmota is installed.

ESPHome, by contrast, requires you to configure it first, and then install it. Furthermore, rather than offering a web interface for configuring your devices, instead you have to do this in a YAML file. And then you have to compile the firmware specifically for your device and upload it.

That being said, ESPHome is much more powerful. You can build automations into it that run on the device itself, rather than through, say, Home Assistant. And as each firmware binary is compiled for each device, it’s much smaller, which allows for easier updates. On some Tasmota devices, you have to install a ‘minimal’ version of the firmware before you can upgrade. By contrast, with ESPHome, your device should be able to update directly to new firmware versions.

As you would expect, ESPHome integrates better with Home Assistant. Indeed, one reason for me changing to ESPHome is that the Tasmota integration takes a while to start up and is one of those slowing Home Assistant down. Firmware updates are also offered through Home Assistant, so you don’t need something like TasmoAdmin to manage firmware updates for multiple Tasmota devices.

Building the YAML file

I’m going to go through each section of the YAML file, to explain what it does, and why it’s necessary. Some of these are specific to the plugs that I’m using, and may not transfer to other devices.

Firstly, with Tasmota still running, open the Configuration screen and choose Template. This will give you a list of the GPIO pins, and what they currently do in Tasmota. You’ll need to note these, so that you can tell ESPHome what pins to use. On mine, these were the ones in use:

  • GPIO4 – LED
  • GPIO5 – Relay
  • GPIO13 – Button

The LED is the light on the smart plug, the relay is what controls whether the power is on or not, and the button is the physical button on the smart plug that controls the relay. Whilst the relay is the most important, to preserve the device’s full functionality, we need to tell ESPHome about all of them.

The ESPHome section

Here’s the first bit of the YAML file:

esphome:
  name: $name
  friendly_name: $friendly_name

esp8266:
  board: esp01_1m

If you use the wizard in the ESPHome Device Builder, then these will have been created for you and filled out with whatever name you’ve chosen. The second block tells ESPHome that the device has an ESP8266 chip, and it’s a generic board. This was the default selection and seemed to work fine for me.

Logging, API, OTA, Wi-Fi

Next, we have the following:

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: $key

ota:
  - platform: esphome
    password: $password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "esphome-smartplug"
    password: $fallbackpassword

captive_portal:

The logger means that the device will keep logs. It’s up to you whether you keep this in, but as I was coming up with this myself, I decided it would be best to help debugging.

Because I’ll be using this smart plug with Home Assistant, we need to include the ‘api:‘ section. Again, the ESPHome device builder should have filled out an API key here.

The ‘ota:‘ section allows for ‘over the air’ updates. This means that your device can update to new versions of ESPHome without needing to be plugged in to a device, either over USB or a UART connection.

In the ‘wifi:‘ section, this includes references to the ESPHome Device Builder’s secrets file which should have your Wi-Fi network SSID and password. If the smart plug can’t connect using these details, then, as a fallback, it’ll create its own access point. This is where we also need the ‘captive_portal:‘ section, which allows the user to select a Wi-fi network if the one we’ve pre-programmed can’t be found.

Web server

Next, we have this section:

web_server:
  port: 80

This is optional, but it creates a Tasmota-like web app that you can connect to. This will allow you to press the button on the smart plug, view the logs, and upload firmware. We don’t need it, but it partially replicates the functionality of the previous Tasmota firmware, and helps with debugging.

Binary sensor

This is the section that enables the hardware button on the smart plug to work:

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO13
      mode: INPUT_PULLUP
      inverted: True
    use_interrupt: True
    name: "Power Button"
    id: "smartplug_button"
    on_press:
      - switch.toggle: "smartplug_relay"
    disabled_by_default: True

We’re telling ESPHome that the button is attached to GPIO pin 13, and, when the button is pressed, to toggle the relay on or off. I’ve also added the ‘disabled_by_default: True‘ line so that it doesn’t show in Home Assistant.

Switch

Now, we need to configure the relay, and make it available to Home Assistant:

switch:
  - platform: gpio
    name: "Switch"
    id: "smartplug_relay"
    pin: GPIO5
    on_turn_on:
      - output.turn_on: led
    on_turn_off:
      - output.turn_off: led
    restore_mode: RESTORE_DEFAULT_ON

So, we’re telling Home Assistant that the relay is connected to GPIO pin 5. We’re also telling it to turn on the LED when the relay is turned on, and off again when it’s turned off. The ‘restore_mode: RESTORE_DEFAULT_ON‘ tells ESPHome what to do when the device boots up, perhaps after a power cut. I’ve set it to try to restore the status that it had before, but if it can’t, to turn the relay on.

LED

Here’s our final block, to tell ESPHome that there’s an LED

output:
  - platform: gpio
    pin: GPIO4
    inverted: true
    id: led

Again, we tell ESPHome that it’s connected to GPIO pin 4. The YAML code in the Switch section tells ESPHome when to turn the LED on or off.

So, now we have a YAML configuration file. This should be added as a new device in the ESPHome Device Builder.

The flashing process

The good news is that switching from Tasmota to ESPHome is easier than from the original Tuya firmware. You probably won’t have to get out a UART converter and cables, unless you accidentally brick your device. Instead, you just need to follow these instructions, which involve manually downloading the firmware binary, and then uploading it to Tasmota. When the device restarts, it’ll be running ESPHome instead.

Energy monitoring over Matter

A photo of a Meross energy monitoring smart plug in a UK plug socket

Back in April last year, I bought a pair of Meross energy monitoring smart plugs (sponsored link). I’d chosen them because they supported Matter, and so could be easily added to Home Assistant, Google Home and Apple Home all at the same time. However, I lamented that their Matter support was limited to turning them on and off; the energy monitoring data wasn’t available through Matter. That has now changed.

If you have these plugs, or are looking at buying them, here’s how to get energy monitoring over Matter into Home Assistant:

Step 1: Update the Firmware

Firstly, you’ll need to open the Meross app on your phone, and ensure that the smart plug is linked to the app. Next, you’ll need to do a firmware update – this is located on the user tab, for some reason. The firmware update should take a couple of minutes.

A screenshot of the Home Assistant interface, showing the settings for the Meross energy monitoring smart plug and the 're-interview device' option.

Step 2: Re-interview your smart plugs

Originally, the way I found out that this was working was because one of my plugs had stopped working, and needed a factory reset. I then had to remove and re-add it to Home Assistant, Google Home and Apple Home. When I re-added it to Home Assistant, that was when I found that it now supported energy monitoring over Matter, as the power, wattage, voltage and current for the smart plug now appeared in the device settings.

The good news is that you don’t need to remove and re-add the device. Instead, you can ‘re-interview’ the device. Open it up in Home Assistant’s device settings, and then click the three dots next to ‘Share device’, and then ‘Re-interview device’. Home Assistant will then attempt to find out what capabilities the device has, and should add the new entities for you.

Step 3: Uninstall the Meross LAN custom integration

Now that Home Assistant can receive the energy monitoring data over Matter, you shouldn’t need the Meross LAN integration from HACS anymore. You’ll need to amend any existing automations that use the Meross LAN entities (I use this energy monitoring blueprint), and then remove the devices before uninstalling it through HACS. This was one of the integrations that was causing the biggest slowdowns in my Home Assistant, and it seems to be more responsive now that I’ve removed it.

The key advantage of using energy monitoring over Matter is that the data remains local to your home network. Otherwise, you’re sending and receiving data to Meross’ servers (unless you’ve managed to reconfigure them to use a local MQTT broker like Mosquitto). That also means that, if those servers go down or Meross withdraws support, you would no longer get energy monitoring data. Switching to Matter should therefore give your smart home system more resilience.

How we handled poor phone reception

A photo taken atop the Great Orme in Wales

Our holiday in Wales was good, but we didn’t always have good phone reception whilst we were there. Now, it’s a holiday, and you can argue that we probably should have had a break from phones, social media and the like. But we also need our phones for certain things – I use Google Maps for navigation, for example, and we needed apps to find out where to charge our electric car.

In North Wales, most of the population is concentrated in a relatively narrow strip of land between the hills and the north coast. Providing a mobile service is therefore more difficult and expensive – each mast is likely to cover a smaller and more sparsely populated area than in a big city. For the most part, there were few places where we had no signal whatsoever. But even when showing full bars, we couldn’t make calls or use the internet in some places.

Here’s how we handled it:

Downloading things on Wi-Fi beforehand

It’s a bit hidden, but Google Maps lets you download offline maps on a Wi-Fi connection. We had good internet where we were staying – the Conwy area has been upgraded to full fibre broadband – so we could download a map of the area. This meant that we could still use Google Maps to navigate without a mobile data connection.

Note that Google’s guide, linked above, is a little out of date. At the time of writing, you need to:

  1. Search for a place
  2. Swipe right on the lower panel where it says ‘Directions’ and ‘Start’, until you see a button that says ‘More’
  3. Tap ‘More’ and then ‘Download Offline Map’
  4. You can then pinch and zoom to select the area – a larger area will take up more storage space

There are limitations – you won’t get live traffic data if you’re using an offline map without a phone signal. However, once Google Maps is able to reconnect, it’ll update your route if needed. If you use Gmail and sign in to Google Maps with the same account, you may get push notifications ahead of upcoming trips to prompt you to download offline maps. I’d recommend it, especially if it’s somewhere you’ve not been before, or somewhere particularly remote.

The same applies for content that you want to consume whilst outside of mobile data range. If you use Spotify Premium, you can download playlists ahead of time. I make sure that I download, rather than stream, any shows on BBC Sounds that I want to listen to.

Hotspotting where possible

If there’s free Wi-Fi available somewhere that you’re visiting, use it. Most National Trust properties have free Wi-Fi in their cafés, for example.

If you have another device on a different phone network, then you could try hotspotting off that too. My phone is on 3, but my iPad has a mobile data SIM on a virtual operator which uses EE. Whilst it was a bit of a pain to have to carry my iPad around as well, it meant I could use the iPad as a Personal Hotspot for my phone and get online. You may be able to do this with a newer car, if you have a data plan on it, or a portable Wi-Fi hotspot device.

Get an eSIM on a different network

When I’ve travelled abroad, I’ve used eSIMs from Airalo rather than roaming on my existing SIM, as it’s cheaper. But you can buy UK eSIMs too. If your primary SIM has poor signal, then you could buy an eSIM on a different network that may work better. My iPhone (and I assume most new-ish Android phones) can switch between multiple SIMs on the fly, if one loses signal. If you decide to buy from Airalo, use the code NEIL6715 for some extra initial credit.

If you want to go further, try Honest Mobile’s Smart SIM. This can connect to all four UK networks (3, Vodafone, O2 and EE, although 3 and Vodafone may merge their networks soon), and costs £45 per year. However, whilst there are no data limits, it is limited to set pre-approved apps. These are mainly navigation apps like Google Maps, messaging, news, weather, banking and apps for electric car parking. There’s about 400 in total, but it excludes any social media apps, or any that involve streaming audio or video. I signed up to Honest Mobile after coming back from Wales, and I’m giving it a try for a year to see how I get on. Here’s my referral link if you want your first month free.

Honest Mobile’s Smart SIM has been heavily advertised on my Facebook feed, and so I read this post by Martin Brophy before committing.

Ultimately, what works for you will depend on how often you’re without a mobile signal, and how much you rely on your phone. I normally get a good signal on 3 in most places, but I’ll see how I get on with Honest Mobile.

How to disable go2rtc in Home Assistant

Home Assistant includes support for go2rtc, a streaming video application, which can be used to monitor and store footage from CCTV cameras. Since the November 2024 (2024.11) release of Home Assistant, go2rtc has been included in Home Assistant’s Default Config, which means that integration is loaded automatically on startup. If you don’t have any cameras to monitor in Home Assistant, this can mean some warnings appearing in your logs, and potentially slow Home Assistant down.

There are two ways to disable go2rtc if you don’t need it – a hard way and an easy way.

Hard way: Disable Home Assistant’s Default Config

You can tell Home Assistant not to load the Default Config. This gives you more control over which built-in integrations are loaded when you boot Home Assistant up, however, it means editing your configuration.yaml file. You’ll need to delete the ‘default_config:‘ line, and then create new entries for all the parts of the default configuration that you want to keep. This may be fine for simple installations, but for most users, this will add more complexity. I wouldn’t recommend this personally.

Easy way: Using HACS integrations

There are two HACS integrations that you need to install:

  1. Early Loader
  2. Default Config Exclude

These are not in the standard HACS repository, so you’ll need to open HACS, click on the three dots in the top right, select ‘Custom Repositories’ and then add the Github URLs in turn. You’ll need to install Early Loader first, restart Home Assistant, and then install Default Config Exclude next.

Once installed, you’ll still need to edit your configuration.yaml file, but instead you’ll only have to add a small block. Here’s mine:

default_config_exclude:
  - go2rtc
  - stream
  - cloud
  - my

What you’ll notice is that I’ve added some other integrations – stream, Home Assistant Cloud, and My Home Assistant. If you don’t have any cameras, then not only do you not need go2rtc, you probably don’t also need stream either. I don’t use Home Assistant Cloud or My Home Assistant, so I’ve disabled these too. As well as starting up a little quicker, Home Assistant also now uses slightly less RAM than before.

Home Assistant Green review

A photo of a plugged-in Home Assistant Green

Since I started using Home Assistant in October 2023, I’ve been running it on a Raspberry Pi 4, first in ‘Container’ mode and more recently in ‘Supervisor’ mode. I’ve now bought a Home Assistant Green, and I’m using this to run Home Assistant.

The Home Assistant Green is one of the two dedicated hardware platforms that come pre-installed with Home Assistant. The other, the Home Assistant Yellow, deserves its own section later on. By buying one of these devices, you’re also helping to financially support the Home Assistant project.

Why I bought a Home Assistant Green

As someone who has previously gone down the DIY route, it may seem surprising that I’ve decided to buy a Home Assistant Green. My decision came down to the following:

  • Price – the Home Assistant Green costs around £90 in the UK, which isn’t much more expensive than a bare bones Raspberry Pi 5. Once you’ve added a case, power supply and SSD to a Raspberry Pi, the Home Assistant Green is actually cheaper.
  • Cheap to run – I had considered some kind of mini PC, which would offer me more power, but with both a higher upfront cost and ongoing electricity cost. The Home Assistant Green runs on up to three watts; it comes with a 12 volt, one amp barrel plug power supply. As it’ll be on all the time, I don’t want a power-hungry device.
  • The need for a dedicated Home Assistant device. In May, it was announced that the ‘Supervised’ install method would be deprecated along with ‘Core’; only a tiny fraction of people use these methods. This dovetailed with me wanting a dedicated device for Home Assistant, rather than trying to run it on the same little Raspberry Pi as Plex and some other services. In other words, I was in the market for an additional device to run Home Assistant, and the Home Assistant Green fitted the bill. Meanwhile, my Raspberry Pi 4 can be dedicated to Plex.
  • No longer needing to worry about compatibility. According to Home Assistant Analytics, over a third of people install Home Assistant on a Raspberry Pi and so I don’t expect it to become unsupported. However, as the Home Assistant Green is the closest thing to ‘official’ hardware, I know it’ll be well-supported in future releases. As I’m coming to rely on Home Assistant more, I need it to run on a reliable platform.

What the Home Assistant Green can’t do

Coming from a Raspberry Pi, it’s worth noting what features the Home Assistant Green lacks. These include:

The Home Assistant Green does have two standard USB-A ports for you to plug in dongles and hubs, so I have my Thread and Zigbee dongles connected. Not having Wi-Fi or Bluetooth on board may reduce interference on the 2.4 GHz band, I suppose.

The box that the Home Assistant Green comes in

Home Assistant Green hardware

The Home Assistant Green is actually bigger and heavier than I expected it to be – certainly, it’s larger than a Raspberry Pi. It has a very sturdy base, which is designed to act as a heat sink – it’s passively cooled so there’s no fan noise. Inside, there’s a quad-core 1.8 GHz ARM processor, placing it between the Raspberry Pi 4 and 5 in terms of computing power. There’s 4 GB of RAM, and storage comes courtesy of a 32 GB eMMC (embedded multimedia card).

You’ll also get an AC adaptor with a variety of plugs (including a UK 3 pin plug) and an Ethernet cable.

Optionally, you can install a CR2032 battery inside. It doesn’t come with one, but if you add a CR2032 battery then the system clock will remember the time between reboots. It’s mostly only needed if you’re using it somewhere with poor or no internet access, as otherwise the clock synchronises with the internet on startup.

There’s also an HDMI port and a slot for a micro-SD card, but these are only for system recovery purposes and not for general use.

I would tell you more about how it is to use, but to be honest, it’s just like using Home Assistant on any other platform. All I had to do was restore a backup from my Raspberry Pi 4, and I was up and running.

Home Assistant Yellow

If the Home Assistant Green doesn’t meet your requirements, consider the Home Assistant Yellow. It’s more advanced and upgradeable, but also requires some assembly as it ships without a logic board. That’s provided by a Raspberry Pi Compute Module, the idea being that you can upgrade this incrementally over time without needed to buy a whole new device. It’s a nice idea, but it also adds to the cost – the base Home Assistant Yellow costs around £120 with the Compute Module adding £30-40 on top, and it arrives in kit form rather than pre-assembled. However, long term, it could be cheaper due to it being upgradeable.

There are other differences: The Home Assistant Yellow is available with Power over Ethernet (PoE), meaning that it doesn’t need a separate power supply. However, you’ll need a router or a switch which supports this. If you don’t, then you can buy a Home Assistant Yellow with an AC adaptor.

The Home Assistant Yellow also has an 802.16 radio, meaning that it can support Zigbee devices without an extra dongle. This can also be re-programmed to support Thread, but not both Thread and Zigbee at the same time. Additionally, there’s a 3.5mm audio port, and inside, there’s an expansion port for installing an SSD if you need one.

Whilst I have the technical knowledge to get a Home Assistant Yellow up and running, once you’ve factored in everything, it costs about double the price of a Home Assistant Green.