- Try out Tiny10/Tiny11.
- get fully plus
- ha strava
- ssh login w/key
- 2022 taxes
- 2023 taxes
- use https
- air quality monitor
- ha + aa open garage door turn up temp
- smart home junkie radio spotify voice scripts zigbee cameras dashboards cameras2 kiosk
- photo album of Mom
- p0455
- Templetating by Jeff at SlackerLabs
- Wall mounted tablets at Geek Toolkit
Monthly Archives: January 2024
CUPS Installation
I ran out room on my computer table for my printer so I moved it to my “communications closet”. This means I need a print server. The Common Unix Printing System (CUPS) is the logical choice. PiMyLifeUp has a nice tutorial. I installed it on a Raspberry Pi 1 which should be adequate. Since I will use it from Windows, SAMBA is needed. The installation was straightforward. Adding my Brother HL-L2300D laser printer was the most difficult part on previous installations. Alexander Belov wrote an alternative driver that worked like a charm.
Update 10/25/25
I reinstalled CUPS and got stuck at adding the Brother printer, as usual. I asked ChatGPT for a script that automatically detected my printer and install the drivers on Debian Trixie (Raspberry Pi OS). It was successful and I was able to add my printer on CUPS with the drivers available in the standard ‘add printer’ routine.
MacOS on ProxMox
I hope this helps me get going…
VPN, DDClient, Ubuntu Upgrade, LVM Expansion, PuTTYGen, etc
Editor’s note: Well this one got away from me. VPN is not a choice. While I learned a lot from the exercise, a reverse proxy seems to be the solution. I’ve also used this post to document several of the small things I learned along the way.
I have an easy way to implement a home VPN with my ProxMox server or so it would seem. PiVPN with WireGuard seems to be the go-to solution regardless of platform. I recently switched to T-Mobile Home Internet to save a few bucks a month. However, the router has no advance features such as IP reservations and port forwarding. Nor can you turn off DHCP.
To use advanced features, I connected the T-Mobile router (192.168.12.1) to the WAN port of my Asus RT-AC68U (192.168.1.1) which is a full function router. I use it for DHCP and IP reservations. This adds an extra hop (router) to access the internet that doesn’t seem to have much extra overhead. I don’t think this extra hop will interfere with port forwarding to the VPN server on the Asus router.
I’ve also read that T-Mobile Home Internet has frequent public IP address changes (Dynamic DNS). This makes it important to implement a routine to maintain the DNS entry for lynnhargrove.com and update it frequently. Since a DNS change for my IP address can take up to 48 hours to propagate from NameCheap, the lag may be too great to be effective. We’ll see.
I am going to use ddclient to update my Dynamic DNS entry. Dima’s Blog has a nice tutorial that just happens to also use NameCheap. It’s a simple routine that I will install on my Transmission VM.
Transmission is an Ubuntu 22.10 server that’s idle most of the time. However, I failed to recognize that when you install the latest version of Ubuntu, it’s only supported for nine months. The LTS version (22.04) is released every two years with five years of full support and five mor years of extended support.
Ubuntu 22.10 expired and I need to upgrade it. I’m a believer now. Its LTS from now on. To upgrade an expired version, edit /etc/apt/sources.list and change each occurance of ‘us.archive’ to ‘old-releases’. Then do an ‘update’ and ‘upgrade’. Next do a ‘do-release-upgrade’. This will disable some third party entries in sources.list. Re-enable them after the upgrade with the ‘software-properties’ tool.
When upgrading EOL releases, change ‘us.archive’ or just ‘archive’ to ‘old-releases’ in sources.list. Also, change release code name to the next code name in succession. For example, change ‘kinetic’ to ‘lunar’.
I had one interesting problem on the PiHole upgrade. I had installed it on a minimal Ubuntu server that had expired. I could not install an editor and the only thing resembling a text editor is sed. This is the command that made the upgrade possible:
sudo sed -i s/us.archive/old-releases/ /etc/apt/sources.list
I have executed “sudo apt update && sudo apt upgrade -y” so many times, I want a shell script named up.sh. I made a directory ~/bin and put this command string in ~/bin/up.sh with shebang (#!/bin/bash) on the first line and made it executable. Now I added ~/bin to my path with “export PATH=$PATH:$HOME/bin”. One more lazy step: I removed the .sh from up.sh. Everything in the ~/bin directory is a shell script anyway. Now up works!
While I’m on a lazy streak, I want to use PuTTY without entering my password. I will use SSH key-based authentication with this tutorial. It uses a private key on the client and a public key on the server. In keeping with good practices the private key should be generated on the client and not moved around.
To view the ssh log use this:
journalctl -u ssh
Add this line to /etc/ssh/sshd_config:
PubkeyAcceptedAlgorithms +ssh-rsa
Use PuTTYgen to create private and public keys and protect the private key. Copy and paste to concatenate the public key to .ssh/authorized-keys.
Expand LVM Disk on Proxmox
I ran out of space so I’m going to expand the Proxmox VM:
1. add increment by clicking device and then resize using ProxMox GUI
2. lsblk shows the device with ubuntu (sda3)
3. cfdisk should show free space, df -h shows sizes
4. cfdisk select device (/dev/sda3) then resize using all freespace (default) then write
5. vgdisplay shows space not added yet
6. pvresize /dev/sda3
7. lvdisplay to get lv path
8. lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
9. lvdisplay to see new size
10 df -h shows old size
11. resize2fs /dev/mapper/ubuntu–vg-ubuntu–lv (from df -h)
12 df -h shows new size
Note: If not using LVM, simply resize with GUI then resize2fs.
This time, ‘do-release-upgrade’ worked to upgrade from Ubuntu 22.10 to 23.04. Another ‘do-release-upgrade’ upgraded to Ubuntu 23.10 which is the current release.
Why not go all the way. It’s time to upgrade Proxmox from release 7 to release 8. This is the official upgrade document. I missed two changes
Well, scratch ddclient. T-Mobile internet uses Carrier-Grade NAT (CGNAT). It allows carriers to share an IP (IPv4) address among several users. I found that my public IP address changed every few minutes between ones in Oklahoma City and Houston. LocalXpose is a reverse proxy and appears to be the best solution. Its free for 15 minutes sessions for http and https only. For $6/month, the plan removes time limits and adds udp and tcp.
LocalXpose
I’ll install LocalXpose in a new ProxMox VM (using Ubuntu 2304 LTS!). I’ll try this tutorial for the installation. I think that Chrome Remote Desktop will satisfy my need to control my local network since it uses https (port 443).
Now I have a new VM named localxpose. I used ‘snap install localxpose’ to install it. I downloaded the Linux version from Windows and transferred it to the localxpose Ubuntu VM with
OpenVPN Access Server on AWS
I am trying to install OpenVPN (/WireGuard?) on a free tier AWS server with an Amazon Marketplace free server. It appears to allow 750 hours/month. In theory I can set up a tunnel from my home network to the VPN server which will have a static IP address. I can establish a tunnel to the VPN server and thus have remote access to my home network. Sounds good!
One solution involves connecting to a PFSense router I assume with a VPN client installed. I wonder if a local copy of an OpenVPN/WIreGuard server would work.
My New Aquarium
This is the setup for my new 10 gallon aquarium. I got the Aquarium Starter Kit from Walmart. Jason from Prime Time Aquatics is my go-to for all my questions. He has a fantastic series on how to manage an aquarium starting with Part 1. After a few hours of looking at tanks, accessories and fish, I acquired much of the stuff needed to get started.
You can clean the outside with Windex and the inside with a damp cloth. A black background really sets off the inside of the aquarium. Jason even has a video on how to paint the back aquarium panel with DecoArt Lamp Black acrylic paint. These are the first two steps as he lays out in Part 3.
Next, the substrate goes in. I’m using brown gravel but Jeff likes black gravel because it’s easier to keep (look) clean. Then the rocks/castles/cave structures go in. Now the plants go in – tall in back and short in front. Add water that’s about 78 degrees with a conditioner that removes chlorine. Rinse the filter and put it in the pump. Fill the pump with water if it needs priming. Add the heater near the pump. Use an external thermometer to regulate the temperature at about 78 degrees. Now add quick start that removes amonia and nitrite and adds nitrifying bacteria. It’s ready for fish.
Part 4 describes adding fish to your aquarium. To add fish, float the bag of new fish in the aquariam for 15 – 20 minutes to equalize the temperature. Turn off the tank light to make it easier for acclimation. Don’t use drip acclimation. Place fish net over a container and pour the bag with the new fish into the net. This prevents fish store water from entering your tank.
Part 5 describes how to clean your fish tank.
Part 6 tells where to buy fish.
Home Assistant
This is the configuration attempt that finally yielded good results. With the assistance of various videos, I have built a few dashboards including a tablet dashboard for my bedroom. It is primitive but it has several light switches and some indoor and outdoor temperatures. I think this was the effort that got me over the learning curve hump.
Integrations, devices and entities relate to manufacturing providers, their devices, and the attributes of those devices. Dashboards can have multiple views witch are simply a group of dashboards. Dashboard (views) contain cards that are a group entities that show values or states with the option to change the state. For instance a temperature entity simply shows the temperature. A lamp entity can indicate whether it is on or off and has the ablity to change the state such as with a toggle switch.
Next Up
It’s time for a todo list. I have a bunch of ideas running around in my head and I’m afraid they’ll take off and not come back.
Backup
I have a big enough investment so far that I need to save what I’ve done. This is an excellent how-to for backing up VMs. I backed up all my VMs in short order. I’ll delete and restore a test VM to validate the procedure.
I’m mostly concerned about a hard drive failure. I think the procedure will be to install ProxMox from scratch then restore all the VMs from the backup drive. I suppose this means defining the backup device prior to restoring the VMs.
Dashboards
I’m anxious to customize dashboards for each tablet kiosk in the house as well as my smart phone and the kitchen monitor which was Magic Mirror. I also need to get Fully Browser Plus on each tablet. I want to get to know and use HACS Frontends Mini-graph-card, Mushroom, Stack In Card, Swipe Card, Button-card and Card-mod.
There are a handful of YouTubers that publish really good tutorials for Home Assistant. Mark Watt is one of them. I have been using his tutorials to build a dashboard for a mobile phone. I started with this one and moved on to part 2. His video on integrating Alexa devices with Alexa Media Player is a good one. I’m hoping this will help, too.
This video on custom button cards is worth a look.
I have a Fire HD 8 tablet acting up and I’m going to start from scratch using Aaron’s Make It Work video. It uses the Fire Toolbox from XDA Developers and some custom Home Assistant scripts from xstrex. The first step is to do a factory reset on the Fire HD. Avoid registering it with Amazon by selecting a network, cancelling before entering passwork, then skipping registration.
Home Assistant Templates
As I struggle to build dashboards, I learned that templates were a valuable Home Assistant tool. Jeff at SlackerLabs has a great tutorial.
Offline Smart Home
I read an article that discussed issues that concern me and that I want to address. A lot of the devices I use are manufactured in China and they call home frequently. In particular, I would like to implement my Tuya devices using the Local Tuya HACS Integration. I need to investigate how to make my other devices work independent of an internet connection.
Wyze Cameras and RTSP
Wyzecam video is not available to Home Assistant although other attributes are. This amounts to waiting and hoping that a full integration will eventually be available or…
Blink cameras are also not well integrated with Home Assistant. My Reolink video doorbell, maybe. It look like Real Time Streaming Protocol (RTSP) is really friendly with HA. My WyzeCam V2s and WyzeCam Pan can be flashed with RTSP firmware and here are instructions. Here are Ed’s (Smart Home Junkie) instructions for adding RTSP cameras using WebRTC. Mark Watt might also have some helpful ideas.
Proxmox
Implement proxmoxbackup plan and resolve error:
read-only proxmox system.
Routine for when I leave the house and arrive home.
Meross Integration
Meross devices are added to Home Assistant through a HACS integration. I have four plugs (MSS10), an outdoor duplex plug (MSS620) and a garage door opener (MSG100) from Meross. In order for HA to discover all my Meross devices, I removed them using the Meross mobile app and re-added them. One report suggested removing them using an iPhone, which I did, but I don’t think that mattered.
Once the devices were re-added, HA discovered them but required configuration. Device key was required and articles suggested getting them from the Meross Cloud. It wasn’t obvious, but I had to submit the updated configuration missing the device key. Then, I was prompted to retrieve the device key from the cloud. This was successful although I had to restart HA a couple of times to clear other errors.
Node-RED
These instructions from XDA should get me started.
Aqara Cube
Update: I’m not getting any Home Assistant reaponce from the Magic Cube so I’ll try to revive it with this video.
I read an article about the Aqara Cube T1 Pro and had to have one. It can trigger home automation tasks in 28 different ways such as shaking it or flipping it until a particular number is on top. Cool. I grabbed one on from Amazon for $23.
Then I wondered how to make it work. It’s a zigbee device that requires an Aqara $30-$50 hub which I don’t have. The bloggers seem to like the Sonoff Zigbee 3.0 USB Dongle (CC2652P + CP2102N) that can be flashed with improvements for $21.
Since I’m trying to migrate form SmartThings/ActionTiles to Home Assistant, I plugged the dongle into my Home Assistant server. It was discovered immediately as a Zigbee Home Automation integration. I opened the integration, selected devices then “+” to add device. I put the Cube in pairing mode and it was discovered. Selected the new device and was presented with the page to add a new Automation. I chose the “Device Shaken” trigger and “Toggle Den Lamp 1” as the action. It worked.
I solved one other problem along the way. I have several TreatLife (Tuya) WiFi Smart Light Bulbs that I added using the TreatLife app. I also have three other Smart (Tuya) devices that I added using the Smart Life app. The Smart Life devices are discovered by Home Assistant as Tuya devices but not the TreatLife devices. The TreatLife Light Bulbs can now be discovered by the Smart Life app. Once done, they are also discovered by Home Assistant.