Projects Update for August

Suddenly, August appeared! If I don't write down what I've done and what I've learned, I'm going to forget! So, this is an update for my projects, to see whether the list of projects is now smaller, or whether it's even longer than it was 3 weeks ago!

Network Infrastructure
My A300GC motherboard has a new case & PSU. I've installed OPNSense on it, to become a router.

I contacted BT about replacing my Ultrafast Hub with a G.FAST cable modem, but they said no.

The cheap hubs on ebay that can be used in bridge mode aren't actually G.FAST, so I won't be able to use one of those.

G.FAST modems on ebay begin at £150, with most of them around £250, and that's a lot of money to sink into something that I want to do initially as a test and comparison against an already-working installation, so I need to think more about this, and whether double-NAT will kill everything.

Server Setup
My previous post details my servers and their appropriate uses.

After backing up my media to my 10TB external drive, I installed FreeNAS (TrueNAS Core) onto my machine running the Athlon 200GE CPU.

I don't understand the hype around FreeNAS. It feels like a web interface on top of standard file storage & sharing.

It has "jails", which are definitely not the same as containers (they're containers, and my guess is that people who say otherwise are confusing the term "container" with "Docker container", which seems to be a common misconception - eg: what does the "C" mean in the term "LXC"?).

It won't restore my backup. It only supports ZFS, and my backup is in ext4
* there's another quasi-religious argument that needs avoiding here, because there seem to be many people who will argue for ZFS everywhere because of something termed "bitrot". I mistakenly clicked on some links whilst investigating this, and the amount of derision aimed at dissenters is concerning.
I'm pretty sure that the ratio of "bit-rot criticisers" against people who have lost data whilst having a reasonable backup policy is similar to the ratio of people who talk about "spinning rust" for hard disk drives against those who have taken apart a hard disk drive to find the rust in vain. I'm more pragmatic than that, but I'm happy to play with different file system types for what they're good at.
I've been creating file systems on hard disk drives since 1987, on MFM and SMD drives, manually typing bad block sectors into the firmware, so I'm really not interested in minor feature differences between types of file system.

It runs on FreeBSD, which I'm sure is a fine operating system, but the reasoning behind its use appears to be ZFS.
* Reading up on ZFS, Linux appears to have taken over from FreeBSD as the primary development and innovation platform for it.

I haven't found any features valuable to me that I can't do in Proxmox, with the monitoring and maintenance that I already do.

Nevertheless, I tried restoring my backup across my LAN, from a Debian server. After 4 days of this, when it had reached about 10%, I decided to abort TrueNAS and revert to Proxmox.

As I said, I'm ambivalent about the file system, and ZFS appears to have more rapid development than other file systems, so I installed Proxmox, set up a ZFS pool, added a cache & log SSD, restored my media and used a mount point to attach it to a Debian file server instance.

Using Webmin, I was able to easily create Samba users & shares, NFS shares, Avahi service advertising, and all the other facilities I needed to make it my file server.

It took less than 3 days to perform all the actions, so I'm happy with my decision.

As well as reconfiguring & reinstalling that server, and installing OPNSense on another server, I decided to make a unique installation for my Raspberry Pi.

I have the following components:
A Raspberry Pi 4
A 4" fan from an old set-top box
Some bell wire from the last time a BT engineer came on-site to investigate phone line problems
An octodecahedron frame from IKEA

I gently broke a solder joint in the frame and bent a strut until I had a hole large enough to insert the components.
I stripped the outer casing from some wire, extracted 4 strands, tied knots in the strands to hold the Pi and fan suspended.
I inserted the components into the frame.
I wrapped excess wire around the frame, suspending the components securely.
I bent the strut back to close the hole.

I now have a "Hanging server of Raspberry Pi"

https://twitter.com/thisispoki/status/1287702243135885312


I'm going to need to do more with Docker containers, so I've installed a new LXC container with nesting enabled, and installed Docker & Portainer in it.

Zigbee
Zigbee channels in use in my LAN:
11 - Hue
15 - Xiaomi
19 - SmartThings
20 - Tradfri
21 - Hive
?? - zigbee2mqtt

The CC2531 USB dongle is usually supplied with TI firmware to allow it to perform packet capture of Zigbee. To run zigbee2mqtt, it needs to be flashed with a custom firmware, and I haven't yet managed to see what channel it uses.

I can't change any of the channels, so I need to live with overlapping & possibly conflicting channels unless I can retire any of the hubs. So I need to compare hub functionality, to determine which combination best meets my requirements.

Hubs
Hue - does what it advertises. Does it well. Restrictive list of supported Zigbee devices. Wired ethernet. Unknown reporting to Phillips servers.
Xiaomi - does what it advertises. Does it mostly OK. Slightly less restrictive list of supported devices. Wifi. Includes speaker and LED light. All devices get regularly wiped from the app, restoring configuration from Xiaomi servers. which is a concern. Worrying links to cloud servers.
SmartThings - does what it advertises. Does it well. Some Zigbee devices repeatedly fall off the network. Web-based API for adding custom devices. Wired ethernet. Links to cloud servers. Rumours of Samsung killing the open-source nature of the SmartThings platform.
Tradfri - occasionally does what it advertises. Does it poorly. Restrictive list of supported Zigbee devices. Wired ethernet. Unknown reporting to IKEA servers.
Hive - does what it advertises. Does it well. Restrictive list of supported Zigbee devices. Wired ethernet. Known reporting to British Gas cloud servers.
Zigbee2MQTT - does what it advertises. Does it well. Nonrestrictive list of Zigbee devices. No support. Runs with USB dongle on a server. No UI. All local operation.

Apps
Hue - clear, concise, usable app.
Xiaomi - ads in the app. All devices regularly disappear from the app, needing to wait for cloud communication before they are visible again.
SmartThings - Clear, concise, usable app. This is the "classic" app, and the future of this app is uncertain. I would be disenfranchised if forced to the Samsung app.
Tradfri - confusing app. User experience is lacking. I purchased the Tradfri hub in case I need to upgrade firmware on my Tradfri Zigbee devices, and the firmware has a large scope for improvement, so this feature will be valuable.
Hive - clear, concise, usable app.
Zigbee2MQTT - no app. Needs an app. I have installed Home Assistant, so will compare that here: highly configurable app, fairly understandable, which tries to perform all functions for all users, including those which should be outside the scope of home automation. The Zigbee2MQTTAssistant add-on enables Tradfri devices to update their firmware.

It'll be increasingly difficult to determine which infrastructure is used for each device. I will need some kind of self-updating inventory database of Zigbee devices, so I've started work on this, successfully inserting and updating the database for Zigbee2MQTT devices already.

VLANs
I haven't started investigating this topic yet

Additional Router Functionality
I'd prefer to wait for progress with a G-FAST modem before doing this, but that project is paused until I can get a cheap modem, so I will look at providing DNS, DHCP, Pi-Hole, VPN, etc in a server. Some of that is currently done by Amahi, but I'll need something with a faster release cadence and more flexibility, so I might end up doing this myself for now.

Virtualization Strategy
Without having three similarly-sized servers, I shouldn't cluster Proxmox. I am running two disconnected instances of Proxmox. I'm beginning to worry that my containers might become cyclically dependent, so I'll need to watch for that.

Sundry projects
I've looked at some smart ceiling fans. Smart fan functionality is very lacking. Floor standing fans would be more flexible, and wouldn't irreversibly move the house to a smart home that can't be unpicked.

I've looked at some TV wall mounts. It's possible that the heaviest-duty supports would be ok.

I've wiped my MacBook Pro laptops.

I've moved a 37" TV from a bedroom to my work area in the lounge, as a secondary display.

I've created a database table for remote control codes, linked it to NodeRED, and created a web page to learn codes through the BroadLink RM Pro and write them all to the database, It was easy then to add a "test" button to the UI, which will send any remote code for any device on demand.

I've ordered a pack of 4 Zigbee sockets from China, so I can investigate how each of the Zigbee infrastructure platforms use signal repeaters.

I've bought the cheapest HDMI->USB capture dongle I could find (less than £10). I have an idea about improving video-conferencing calls, but it will need to use my Windows laptop as the VC server, capturing Mac display output through the HDMI->USB dongle, DSLR camera output through a Canon driver, combining them into OBS, using OBS as a webcam for input to the video-conferencing software.
When I clear some space on my desk (OPNSense machine and Zigbee2MQTT machine are both taking space on the desk at the moment), I'll be able to begin moving the video-conferencing setup to there.

I've bought an Amazon Echo Dot device, and configured NodeRED to send alerts to it. It's now telling me when each of my rooms is too warm, when doors & windows are opened or closed, when someone is at the front door, etc. I've also just bought a Google Home Mini, so I'll be able to compare the two.
I should also be able to compare the Google Home app with my Zigbee apps.

So, I've done many things, and I've learnt much, but I still have a very full to-do list. Of course I'd be happy to talk to anyone about new roles, but it would be nice to have the rest of the Summer and Autumn to progress more of these projects.

Comments

Popular Posts