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.