Recent ESPHome things

A screenshot of the ESPHome Device Builder Build Server dashboard

This is a miscellaneous post about recent things that have happened with the ESPHome project, and how I’ve implemented them at home. As well as a little bit of troubleshooting.

ESPHome Remote Build server

The fact that you can compile ESPHome binaries for each individual device is both a good thing and a bad thing. It’s good, because the binaries can be very efficient, typically using less than half of the storage space even on older ESP8826 chips. That means you can update them easily ‘over the air’ (OTA).

But the re-compiling process can take a while, especially if you are running the ESPHome Device Builder on low-powered hardware. If you use it alongside Home Assistant, then this may mean that you run it on a Raspberry Pi, or a Home Assistant Green like I do. And that’s good from the perspective of having a low-powered device that’s always on, but not so good when it comes to compiling software. Even a relatively basic compile on my Home Assistant Green takes about 10 minutes.

Now, there’s the option of using a Remote Build Server. This is where you install the ESPHome Device Builder on a more powerful machine – in my case, my MacBook Neo, and the build is done on this. You just need to have the more powerful device on with the device builder running in the background, link it with the device builder on your Home Assistant device, and all future builds will be done on the faster device. Device builds now take around a minute, instead of ten minutes. This is especially good if you’re tinkering with settings and need to re-compile several times in a short space of time, or have lots of devices to update when a new version of ESPHome is released.

Fixing OTA failures

One of the old Tuya smart plugs that I re-flashed with ESPHome has been temperamental with over-the-air updates recently. It hasn’t always accepted the latest firmware when a new ESPHome release has come out, and given a rather unhelpful error message. I would see things like “set Error flag: unspecified” and “unknown error from esp“, and it would time out after about 10 minutes of doing nothing after “preparing to upload“.

What was bizarre was that I have four of these plugs, all running essentially the same ESPHome configuration (just with different names), and yet only this one was problematic. Anyway, I managed to solve it by taking the nuclear option and manually re-flashing it. I even followed my own guide that I wrote last summer, which helped with matching up the pins on the device with my USB-UART converter. A manual re-flash worked, and a subsequent OTA update worked as well. This suggests that there may have been some corrupt code left on the flash memory of the device that the manual re-flash wiped.

Changing to OTA Encryption

Last month’s release of ESPHome introduced OTA encryption for over-the-air updates. Previous updates would include a password in the YAML code, but things like your Wi-Fi key were sent unencrypted across your home network when updating. This improves security, but also makes the firmware more efficient; it uses your Home Assistant API key as an encryption key, and this typically frees up about 30 KB of flash memory on your device. That might not sound like a lot, but on ESP8266 devices with only a single megabyte of memory, that’s about 3% more space freed up.

To enable it, you’ll need to update your devices to ESPHome 2026.9 with the existing YAML code, but then once the update is installed, the ESPHome device builder will ask you to change from a password to encryption. A single click of the button, and a re-compile of the firmware, and you’re done.

It’s great to see continual improvement in ESPHome, with useful new features being added every month and a concerted effort to make it easier to use. Having smart devices running on open source firmware that isn’t tied to an anonymous cloud server is great.

The Washing Line Index

A screenshot of the Washing Line Index for our local area

Is it worth hanging your washing out to dry? If you live in the UK, then The Washing Line Index is a web site designed to help you make that decision. It was created by a guy in Sheffield, and gives a score from 1-5 for how likely it is that your wet laundry will dry if hung out.

I’ve written about how we dry laundry before, using a combination of a tumble dryer, heated drying rack and hanging clothes outside. Obviously, we hang out clothes more in the summer, when the weather is better, but an app like The Washing Line Index comes into its own at times like this, when the weather is more unpredictable. Indeed, we’ve had a rather warm end to September, and I’ve been able to hang washing out and get it dry twice this week, which has been nice.

How The Washing Line Index works

The Washing Line Index looks at four key metrics:

  • Maximum temperature
  • Chance of rain
  • Peak wind speed
  • Humidity

A good drying day will be warm, with little to no chance of rain, quite windy and lower humidity, and so this will most likely score 5 on The Washing Line Index. Obviously, a day with a high chance of rain is going to be a poor drying day, but the other factors come into play as well. A day where there’s no rain forecast, but it remains cold, overcast and with no rain, is not going to be conducive to drying your clothes.

I’ve used it a few times this past week, and it’s been mostly right. However, on Tuesday, it only offered a score of 3, whereas I decided to risk it and actually got a full load of laundry dry within just three hours. It’s therefore only as good as the data being fed into it, which comes from OpenMeteo. As well as offering live data, you can get a three day forecast, as shown in the screenshot above.

I’m sure it’ll come in use over the next few weeks, as the occasional good drying day might still crop up as we get closer to winter. After that, we’ll be back to our heated drying rack, which works well but is slow and expensive to run all night.

Turning an Atom Lite into an Infrared Proxy

A photo of an m5stack Atom Lite which has been flashed with ESPHome firmware to act as a Bluetooth Proxy for Home Assistant

Earlier this month, I wrote about adding Bluetooth Proxy support to an existing Infrared Proxy. Today, I’m doing the opposite: taking an m5stack Atom Lite which already acts as a Bluetooth Proxy, and enabling its Infrared pin in ESPHome.

I’d originally set up the m5stack Atom Lite using the Ready-Made Projects tool on the ESPHome web site, and so all it could do was act as a Bluetooth Proxy. Essentially, all its other features were disabled. Back then, being a Bluetooth Proxy was quite taxing even for an ESP32-based device, and so it was recommended that you didn’t enable its other functions.

Nowadays, the code that powers the Bluetooth Proxy component is more efficient, and so it’s possible to open up some of the other features of the Atom Lite. I’m going to focus on the Infrared Proxy component, as this is relatively new to ESPHome and Home Assistant.

Enabling the Infrared pin

To enable the Infrared pin in ESPHome, we need to add the following YAML code:

remote_transmitter:
  - id: ir_tx
    pin: GPIO12
    carrier_duty_percent: 50
    non_blocking: true

You can also do this in the ESPHome Device Builder using the interface:

  1. Add the Remote Transmitter component.
  2. Enter the pin number as ‘GPIO12‘.
  3. Set ‘Carrier Duty Percent’ to ‘50‘.
  4. Set the ID to ‘ir_tx‘.

Adding the Infrared Proxy

Next, we need to enable the Infrared Proxy component. Again, here’s the YAML code:

infrared:
  - platform: ir_rf_proxy
    name: IR Transmitter
    remote_transmitter_id: ir_tx

And here are the steps to add it in the user interface:

  1. Add the ‘IR/RF Proxy’ component.
  2. Name it ‘IR Transmitter’
  3. Set the Remote Transmitter ID to ‘ir_tx‘, matching the name in step four above.

Save it, recompile your code and upload it to your Atom Lite. If this is already linked with Home Assistant, then you should see it added as an Infrared Remote under Settings, Connectivity, Infrared.

Note that whilst the Atom Lite can send Infrared commands, it doesn’t have the ability to receive them. That means it’s not possible for it to learn commands from other remotes; it can only send pre-defined commands.

Using it in practice to control a Sony Blu-Ray player

Whilst it’s rare that we watch physical media nowadays, we do still have a functioning Blu-Ray player. By parking the Atom Lite in front of it, and using this integration from HACS, it’s now possible to control it using Home Assistant. So far I’ve only tested opening and closing the disc tray but Home Assistant should be capable of controlling most features of the Blu-Ray player.

Enabling other Atom Lite features

The Atom Lite is designed to be a development board, and so features a number of pins that you can connect up to third party sensors or other devices. But it also has a couple of additional onboard features, besides its ESP32 chip and Infrared pin:

  • A button
  • A colour-changing LED

The m5stack documentation includes the necessary YAML code if you want to enable these in ESPHome too. I’ve enabled the colour-changing LED, although as yet I haven’t worked out what to do with it.

A Bluetooth Dongle for Home Assistant

A photo of a Krisnorey USB Bluetooth Dongle

Last weekend, I wrote about turning a Tuya device into a Bluetooth Proxy. But if all you want is a USB device that plugs directly into your Home Assistant appliance to add Bluetooth support, then consider this Krisnorey Bluetooth Dongle from Amazon (sponsored link).

If you’re running Home Assistant on a Raspberry Pi, then your device will have Bluetooth support out of the box. But the official Home Assistant hardware, including my Home Assistant Green, doesn’t natively support Bluetooth. If you want Home Assistant to work with Bluetooth devices, then you’ll need a Bluetooth Dongle, or a Bluetooth Proxy.

A Bluetooth Proxy has a couple of advantages over a dongle:

  • If you run Home Assistant Container, or Home Assistant in a virtualised environment such as Proxmox, then you don’t have to bridge the USB Bluetooth Dongle through to Home Assistant.
  • Not all Bluetooth dongles are supported by Home Assistant, so there’s less risk of buying one that doesn’t work.

However, the distinct disadvantage of a Bluetooth Proxy is that it’s difficult to buy such a device ‘off the shelf’ – and not everyone wants to have to flash custom firmware onto a device.

By comparison, a Bluetooth dongle just plugs directly into your Home Assistant hardware. I picked out the Krisnorey Bluetooth Dongle specifically for the following reasons:

  • It supports Bluetooth 6.0. While it isn’t the latest version (which is 6.3 at the time of writing), it’s still a relatively new version of the standard.
  • It has a very long aerial, and so should be able to communicate with Bluetooth devices over a long range.
  • Someone else had previously left an Amazon review stating it worked with Home Assistant.

And indeed it does – I plugged it in, and it worked straight-away. Currently it’s selling for £17, or £15.33 if you have Amazon Prime (we don’t at the moment). There’s an older version which supports Bluetooth 5.4 which is cheaper, but I can’t confirm whether this will work with Home Assistant or not.

Turning a Tuya device into a Bluetooth Proxy

A Tuya IR and RF bridge that has been flashed with new firmware using tuya-cloudconverter and can now act as a Bluetooth Proxy

A couple of years back, I bought an M5Stack Atom Lite to act as a Bluetooth Proxy for Home Assistant. Last month, an update to the ESPHome firmware meant that more devices could become a Bluetooth Proxy, including Tuya devices, and so I’ve now got another Bluetooth Proxy in my home.

The device in question is a Tuya Infrared and RF bridge, which I bought cheaply from AliExpress. This runs on a Beken BK7231N chip, which I’ve been running ESPHome on for some time having used Tuya-Cloudcutter to flash it. Since April, it has been running as an Infrared proxy in Home Assistant, but as yet I haven’t got it working as an RF proxy. Although, to be fair, I haven’t got any RF devices that I need to bridge into Home Assistant, so it’s not a priority.

BLE on more chips

Bluetooth Low Energy (BLE) hasn’t been supported by ESPHome on Beken devices until last month’s update. Indeed, back in January, BLE was fully removed from ESPHome on these devices to save RAM and storage, as it didn’t work at the time. So this is quite the turnaround.

It’s not just Beken chips that have gained BLE support. By making BLE in ESPHome generic, devices with Raspberry Pi Pico and Lightning LN882H chips can also become a Bluetooth Proxy as well, making it available across most of the chips supported by ESPHome.

Better Bluetooth Proxy performance

Something else that’s worth noting about ESPHome’s Bluetooth Proxy support is that there has been a lot of optimisation work over the years. When I first set up my m5Stack Atom Lite two years ago, if you tried to add anything else in ESPHome to the device, such as a web server, you would get a warning when compiling the firmware. This is despite the Atom Lite having an ESP32 chip, which is amongst the more powerful chips that ESPHome supports.

That’s not a problem nowadays, and so an ESPHome device can comfortably act as a Bluetooth Proxy and something else. That means my device can be both an Infrared Proxy and a Bluetooth Proxy – and potentially an RF Proxy as well if I get that working. That means it’ll be capable of doing more with the ESPHome firmware than with the stock Tuya firmware that it came with, as well as no longer being reliant on the cloud.

The Bluetooth Proxy YAML code

If you use a recent version of the ESPHome Device Builder, then you just need to add these Components to your device:

  • Bluetooth Proxy
  • BK72xx Bluetooth Low Energy Tracker Hub
  • BK72xx Bluetooth Low Energy

That’s it – you don’t even need to set any Advanced Settings as the defaults will work fine. However, if you’re old school and want the YAML code, here it is:

bluetooth_proxy:

bk72xx_ble_tracker:

bk72xx_ble:

Then all you need to do is recompile your device firmware, and once it has restarted, Home Assistant should recognise it as a Bluetooth Proxy.

I’ll be keeping my m5Stack Atom Lite for now, but having a second Bluetooth Proxy at home means wider coverage of the house. I may even be able to do things like track the approximate location of BLE devices, based on which proxy/dongle they are closest to. And it’s great to be able to take an existing device that I already own, and give it new features.

Theoretically, if you have other Tuya devices like smart light bulbs with a Beken chip, and can use Tuya-Cloudcutter to get ESPHome onto them, then you could also make these act as a Bluetooth Proxy as well as being a light bulb. It certainly opens up some interesting possibilities.

My daily word games

Screenshot of Wordle, Keywords and Ribbit

Every day, for the past couple of months, I have been playing the same three daily word games: Wordle, Keywords and Ribbit. Usually, playing them forms part of my morning routine when I first wake-up, and wait for the shower to become free.

Wordle

You must know this one. Started by Josh Wardle five years ago, Wordle quickly exploded in popularity in early 2022, when it seemed like almost everyone I followed on Twitter (as it was then) was playing it. The New York Times paid over a million dollars to buy it later that year.

You have six attempts to guess a five-letter word, starting with any valid word you choose. Green letters are in the right place, yellow letters are in the wrong place but feature in the answer, and grey letters can be discarded.

My current streak isn’t that impressive, as I missed a day a couple of weeks ago, but overall I have played in 1400 times with a 98% win rate. My maximum streak was 121 days.

Being completely honest, on some days I use the Wordle Solver for a bit of help. Like I mentioned, I tend to do Wordle first thing in the morning, when I’m not always fully awake. I use the same starter word, SOUND, every day – it used to be IRATE until that was the correct Wordle of the day, making it the one time I’ve completed it in one go. I’ve managed it in two goes 39 times though.

If you’re a free user like me, then you can only play that day’s game – access to the archives is a premium feature.

Keywords

Keywords is much newer, and is a daily word game by Dave ‘Bagpuss’ Forsey, a regular contributor to b3ta. I quite like the early 90s retro styling – this extends to the sound effects, if you have these on.

The object of Keywords is to guess five words, all of which will be linked in some way – the example in the screenshot is that they’re all gemstones. The first word will be the shortest and typically 4-5 letters, and you are given the first and last letters to help. Subsequent words are longer, and though you’re shown how long each one is, for these you only get the first letter, not the last. One hint is available each day, which reveals the next letter. You have up to nine attempts to guess each word.

I find Keywords to be the harder of the three, and at the time of writing I’m only on a nine day streak. Unlike Wordle, Keywords may include brands or proper nouns. My search history now includes things like ‘list of gemstones’ or ‘gemstones beginning with f’ where I’ve identified the theme but struggled with the answer.

Keywords is currently fully free to play, including its archive.

Ribbit

Ribbit, from Puzzmo, is also relatively new having started at the end of 2025. You start with 16 letters in a grid, with lines connecting them. The objective is to use the connecting lines to find words of at least four letters. Once you have found every word that contains that letter, it’s replaced with a frog, hence the name ‘Ribbit’. The objective is to uncover all 16 frogs.

Whilst most words will be 4-5 letters long, there’s always a ‘star’ word (or occasionally, two star words) which is much longer. Sometimes, the star word is really obvious – especially if it includes a less common letter like Q or X – but sometimes I have to clear lots of other words first. There’s no time limit, and no penalty for incorrect guesses, but completing Ribbit faster results in a higher score.

Like Wordle, access to Ribbit’s archives requires paying for a premium Puzzmo subscription, which I’ve taken advantage of. I’ve consequently played every edition of Ribbit.

There are other daily word games available from Puzzmo, including a couple of crosswords. I sometimes play Typeshift, where you scroll letters up and down to make different five letter words. If you register for a Puzzmo account and link it to your Bluesky account, then you also get a nice ‘Puzzmonaut’ badge on your Bluesky profile, and can see other Puzzmo users on Bluesky.

Other non-daily word games

I also play Wordscapes on a daily basis, but haven’t included it above as it’s not a new puzzle every day. Instead, it’s something I dip in and out of during the day. I’ve been playing it for a couple of years now.

Should you buy smart home tech from supermarkets?

A photo of several boxes containing Eveready smart light bulbs costing £3.99 at B&Ms

Look, it’s a blog post where the title is a question, and therefore, as per Betteridge’s law of headlines, the short answer is ‘no’. But that wouldn’t make for a very interesting blog post, and so I’ll attempt to offer some more nuance.

Most supermarkets, and many discount stores like B&M, have a hardware section which will have some smart home devices on sale. These are typically colour changing light bulbs, or smart plugs. They’re often relatively cheap too. So, should you buy them, and if so, what are you getting?

Firstly, what do we mean by ‘smart’?

I write a lot about smart home tech – my wife has decided that it’s my mid-life crisis, and, to be fair, I have a whole category of posts about Home Assistant. But I don’t think I’ve ever defined what I mean by ‘smart home tech’. So, for the purposes of this blog post, I’m defining smart home tech as devices that can be controlled using a phone, computer, smart speaker or a remote control.

A 24 button remote control for controlling a multi-colour light using Infrared

I’m including those with a remote because you often see colour changing lights in these sections in shops, but they don’t use a standardised smart home protocol like Matter or Zigbee. People may pick these up, expecting them to integrate with a smart speaker, to find that the remote control only works over infrared. It’s with this in mind that recent Home Assistant releases have added support for infrared bridges, so that you can use Home Assistant to control infrared devices. However, you’ll need to buy an additional device, such as a Seeed Studio Xiao IR Mate, flash it with ESPHome, and find an integration that supports your remote. It’s possible, but all of this is at an early stage.

So, it’s best to avoid devices that just have a remote if you’re buying new. I have one (remote pictured), and getting it to work in Home Assistant is a long-term project.

They’ll most likely be Wi-Fi or Bluetooth

The first smart plugs I bought were Tuya Wi-Fi devices, and I imagine these devices will be too. Buying smart home tech that uses Wi-Fi has its advantages:

  • Almost everyone already has Wi-Fi at home
  • You don’t need to buy a separate hub
  • They’re usually easy to set up

However, there are some disadvantages that it’s worth considering:

  • Most Wi-Fi smart home tech uses 2.4 GHz Wi-Fi, and not the 5 or 6 GHz bands, which may mean poor signal quality.
  • If you have lots and lots of Wi-Fi devices, then this can affect the performance of your network.
  • Wi-Fi devices need more power when idle than some other protocols.
  • Unless they’re Matter devices, and you have something that can act as a Matter hub, every command will be going via the internet.
  • Tuya devices tend not to work well with Apple Home.

That last point is why I disassembled my Tuya Wi-Fi smart plugs to re-flash them, initially with Tasmota and later with ESPHome. They now work without needing internet access, which is better from a privacy perspective, and means they’ll still work even if Tuya turns off its servers. Which, considering the likely billions of Tuya devices there are out there, is unlikely but not impossible.

Some of these smart home tech devices only use Bluetooth Low Energy. These can’t easily be connected to Google Home or Alexa, and for Home Assistant, you’ll need a Bluetooth proxy. And whilst you can control them with a phone, you’ll need to be in Bluetooth range to do so. Like with the infrared devices mentioned above, these are best avoided.

Better devices are available from elsewhere

Knowing what I know now about smart home tech, I wouldn’t have bought those Tuya Wi-Fi smart plugs. Instead, I would have probably invested in Zigbee equipment from Ikea with one of their hubs. But the need to pay extra for a hub was off-putting, as, at the time, I only wanted to control one device.

Nowadays, you can get Matter Wi-Fi devices, like these Meross smart plugs that I use. Most smart speakers include support for Matter so you don’t need to buy an additional hub. They work better with Apple Home, and don’t rely on a cloud service like Tuya. Matter is still a relatively nascent standard, but it’s improving all the time.

I’m less keen to recommend Matter over Thread to new users. For Thread devices to work, you need a Thread Border Router – a hub, in other words. Thread devices use less power, and form a mesh that avoids the performance issues of too many Wi-Fi devices, but the need for some kind of hub is a barrier to entry.

So, should you buy cheap smart home tech from supermarkets? If you’re careful, and stick to Wi-Fi devices, sure. Just be aware of the limitations, in terms of them needing internet access and the performance impact. You may be able to use something like tuya-cloudcutter to change the firmware to something that works locally, should you have the desire, technical knowledge and means to do so later.

Creating a bedtime button in Home Assistant

A photo of a Zigbee scene button that I am using to trigger a bedtime automation.

To help our ten-year-old get to sleep, we play some sleepy music in their bedroom each night. I’ve now automated this, using Home Assistant and a Zigbee scene button, so a single button press starts the automation and plays the correct Spotify playlist. Here’s how I went about it.

The button

I bought the button from AliExpress for a mere £2.60. I can’t find the exact same button on Amazon, but this is a close match at £8.99 (sponsored link). It has a single CR2032 button battery, and is easily paired with Zigbee2MQTT and then Home Assistant. There’s also a double-sided sticky tab to attach it to a wall.

The button I bought offers two modes: single press, and double press. You can therefore trigger different automations in response to whether the button is pressed once or twice. The more expensive button from Amazon also supports a third mode, which is a five second long press.

Installing Music Assistant

Whilst Home Assistant has a Spotify integration, in my testing I couldn’t get it to play the correct playlist on the Google Nest Mini smart speaker that is in our ten-year-old’s room. So, a workaround is to install Music Assistant, which is a related project that is also run by the Open Home Foundation. This can be installed as an App in Home Assistant; once installed, you’ll need to add Spotify as a source. Music Assistant quickly found all of my Google Cast devices.

Next, you’ll need to install the Music Assistant integration in Home Assistant – it may be automatically discovered for you. If you already have your Google Cast devices added in Home Assistant, then you will end up with separate Music Assistant entries for them too.

Creating a timer helper

So that the music doesn’t keep playing all night, we can create a timer that can stop the music after a given time period has elapsed. I did this by creating a Helper, using the type timer and the default time of 1 hour 30 minutes.

You can also simply put a time delay in your automation, but using a helper allows you to cancel the timer before it completes – handy if our ten-year-old falls asleep quickly.

Creating the automation

I set this up using the Home Assistant UI, but here’s the YAML code:

alias: Bedtime
description: ""
triggers:
  - domain: mqtt
    device_id: [device]
    type: action
    subtype: single
    trigger: device
conditions: []
actions:
  - action: music_assistant.play_media
    metadata: {}
    target:
      entity_id: [media_player.device]
    data:
      media_id: >-
        [playlist URL]
    continue_on_error: true
  - action: timer.start
    metadata: {}
    target:
      entity_id: [timer.bedtime_timer]
    data: {}
mode: single

The automation listens for the button press, and when it’s pressed once, it starts the music playing and starts the timer. The playlist URL is from Spotify – if you find the playlist you want, go to Share and then Copy URL, this is what you need.

I then have a second automation to trigger when the timer stops:

alias: Stop bedtime music when timer finishes
description: ""
triggers:
  - trigger: timer.finished
    target:
      entity_id: [timer.bedtime_timer]
    options:
      for: "00:00:00"
conditions: []
actions:
  - action: media_player.media_stop
    metadata: {}
    target:
      area_id: [bedroom]
    data: {}
mode: single

This actually works slightly differently, and tells Home Assistant to stop playback on all media players in a room, rather than the specific media player specified in the first automation.

Finally, I made use of the double-press mode of the button to cancel the timer early:

alias: Cancel bedtime
description: ""
triggers:
  - domain: mqtt
    device_id: [device]
    type: action
    subtype: double
    trigger: device
conditions: []
actions:
  - action: timer.cancel
    metadata: {}
    target:
      entity_id: [timer.bedtime_timer]
    data: {}
  - action: media_player.media_stop
    metadata: {}
    target:
      device_id: [media_player.device]
    data: {}
mode: single

Flourishes

As a little flourish, in my first automation I have an initial first step which uses Chime TTS to announce, via the speaker, that it’s time for bed. It then starts playing the music afterwards.

My version of the automation also turns on a nightlight, as well as starting the music.

Rationale

We’ve been playing bedtime music for our ten-year-old for many years, but what prompted me was the Gemini upgrade for our Google Home smart speakers. On the whole, post-upgrade, our speakers have been more capable and offer better answers, but where they’ve fallen down is asking it to play a specific Spotify playlist. We have one playlist that we have used for years, but when we ask Google Gemini to play it, it ends up playing something else (often a different one each time) which is similar but not the same. I’m sure any parent of a neurodivergent child has experienced what can happen when you try to pass off something that isn’t quite what the child is used to as being the same.

By building an automation, I can specify the exact URL of the desired playlist, so the correct playlist is played every time. And, having a button in their room means our ten-year-old can simply press it themselves when they’re ready for bed.

Just going wireless

A photo of our Fritz! Repeater 3000 AX

Back in 2017, I invested in a series of Powerline adaptors, which allowed us to use our household wiring as an Ethernet network. At the time, we were having issues with Wi-Fi speeds and coverage, and so having a wired connection seemed like a good idea. Because wired connections are usually more reliable – right?

Well, it appears not. Or at least, newer Wi-Fi devices seem to be faster and more reliable, to the extent that I have dismantled our Powerline network. In November, we upgraded to a Fritz!Box router and repeater which both offer Wi-Fi 6. When I’ve tested our speeds on both Powerline and Wi-Fi, Powerline seems to max out at 80 Mbps, which is less than our incoming broadband speed of 105 Mbps. Meanwhile, I’ve also had some issues with flaky connections when watching streaming video on our TV over Powerline, which went away when I unplugged it and used Wi-Fi instead.

As someone who has been using networking equipment since the turn of the century, to have Wi-Fi outperform a cabled connection just seems wrong. But the performance just is better all round. And, as a bonus, not having Powerline frees up several plug sockets to use for other things, and uses very slightly less power.

In any case, there is only one device that we own which doesn’t support Wi-Fi, and that’s our Home Assistant Green. For that, I’m just using one of the Ethernet ports on the back of our repeater. Everything else that we own which has an Ethernet socket, also supports Wi-Fi. At some point, I’ll get around to tidying away all of the now redundant cables.

diyHue – Philips Hue Bridge Emulator

Screenshot of the diyHue interface

Almost exactly a year ago, I reviewed Bifrost, which emulates a Philips Hue Bridge in software. I’ve recently replaced Bifrost with diyHue, which does the same thing, but with support for more devices.

Note: I was part-way through writing this when I had my fall, so consider it to be moderately cursed.

Comparing Bifrost with diyHue

There’s a useful comparison table between Bifrost and diyHue here, from Bifrost’s developer. Indeed, Bifrost was developed because of the developer’s shortcomings with diyHue, but the two work differently. Bifrost only works with Zigbee2MQTT, and so can only support Zigbee devices. By contrast, diyHue can work with a much wider range of devices, including any that connect via MQTT and Home Assistant. That opens up support for Govee, WLED and Matter/Thread based lights as well.

diyHue is also easier to set up – there’s no YAML file to configure. Instead, it can run as Home Assistant app, and offers its own web-based interface. This allows you to control which lights are exposed to the Hue app, should you not wish all of them to show up. This is especially useful if you have set up both its Home Assistant and MQTT links, as otherwise you’ll end up with duplicates.

You can also easily configure how each light appears to the Hue app, by selecting a model number to emulate. In my experience, diyHue gets this right most of the time, so that light controls in the Hue app match the features of the bulb, but you can tweak it if needed.

Benefits of using the Hue app

I touched on the main benefits of the Philips Hue app in my review of Bifrost, in that you can use its scene gallery to set multiple lights in the same room to complementary colours. At the moment, I only have one room with more than one colour changing light in it, so this isn’t so useful to me, but I’m planning to fit colour changing lightbulbs when we refurbish our bathroom later this year.

The other key benefit of having diyHue is that I can use the Hue app on my Fitbit Versa 3 smartwatch to control the lights. There are some situations where I want to turn lights on and off without using my voice, or having to reach for my phone in the dark. There isn’t really a good Home Assistant app for Fitbit devices (and Google is phasing out the Versa range anyway), so the Hue app is the next best thing.

Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.