Add the remote-control section at the bottom of your conf file
Access your UTM VM over ssh
Beautiful heatsink for the Raspberry Pi
Web Page Navigation with a Rapoo mouse on Mac
Install Karabiner, enable the mouse device & import these rules: https://ke-complex-modifications.pqrs.org/#mouse_button
Migrating from SmartThings to Zigbee2MQTT with Home Assistant
Sadly, Samsung seem to be winding down their SmartThings Zigbee/ZWave home automation setup and it has always been quite painful using devices that weren’t officially supported. I’ve recently migrated my non-SmartThings native devices to Zigbee2MQTT, here’s how I did it:
- Purchase a SBC, in my case an OrangePi 4 running Armbian/Ubuntu – but a Raspberry Pi 4 is more mainstream. Set it up on your home network (perhaps you already have this running Home Assistant).
- Buy a supported zigbee adaptor. I strongly recommend the electrolama zzh adaptor (this requires firmware flashing post purchase, but this is straightforward).
- Install the adaptor, ideally via a USB extension cable.
- Install zigbee2mqtt.
- The version of node installed wasn’t recent enough; I downloaded a newer version.
- As the name suggests, you’ll have to set up an MQTT server, typically mosquitto to receive the status messages.
- Configure zigbee2mqtt / Home Assistant integration.
- Add your zigbee devices.
- Reconfigure your Home Assistant Automations etc if necessary.
Memory Upgrades from Mr Memory
Very pleased with my recent order from Mr Memory. The DIMM they sent me didn’t work but the return & replacement process was free & efficient.
Split long output into 2 columns
With unsurprisingly, the UNIX “columns” command (will need to install autogen package).
du -hc --max-depth=1 . | columns
Diff the output of 2 commands in bash
diff <(ls dir1/) <(ls dir2/)
Ceefax is back!
Alpine Linux default gateway on different subnet
As Alpine Linux uses busybox for a lot of its system tools it won’t set up the necessary routing if you have a default gateway on a non-local subnet to the IP. You want /etc/network/interfaces to look something like this:
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address IP.ADDR.ADDR.ADDR netmask 255.255.255.255 # or whatever is netmask up route add DEFAULT.GW.IP dev eth0 up route add default gw DEFAULT.GW.IP
then run alpine-setup again