RSS Feeds (for Magic Mirror)

https://feeds.npr.org/####/rss.xml

Searching on that, I’ve generated the following list. Keep in mind that some are archived and not updated, some seem abandoned; most over number 2000 are empty, but included for completion’s sake.

 ####	Title
 1001	News
 1002	News
 1003	National
 1004	World
 1005	Summer Reading 2006
 1006	Business
 1007	Science
 1008	Culture
 1009	Middle East
 1010	Archived Topic: Iraq
 1011	Election 2004
 1012	Politics
 1013	Education
 1014	Politics
 1015	Race
 1016	Religion
 1017	Economy
 1018	Your Money
 1019	Technology
 1020	Media
 1023	Radio Expeditions
 1024	Research News
 1025	Environment
 1026	Space
 1027	Health Care
 1028	On Aging
 1029	Mental Health
 1030	Children's Health
 1031	Global Health
 1032	Books
 1033	Author Interviews
 1034	Book Reviews
 1039	Music
 1040	In Performance
 1045	Movies
 1046	Performing Arts
 1047	Art & Design
 1048	Pop Culture
 1051	Diversions
 1052	Humor & Fun
 1053	Food
 1054	Gardening
 1055	Sports
 1056	World Story of the Day
 1057	Opinion
 1059	Analysis
 1061	From Our Listeners
 1062	Obituaries
 1064	Summer Reading 2006: Excerpts
 1065	Holidays
 1066	Your Health
 1067	Election 2006
 1068	Summer Reading 2006: Cookbooks
 1070	Law
 1071	Summer Olympics '04
 1072	Democratic Convention 2004
 1073	Republican Convention 2004
 1074	Lost & Found Sound
 1076	Low-Wage America
 1077	The Second Term
 1078	The Impact of War
 1081	Indian Ocean Tsunami 2004-05
 1083	Social Security Debate
 1084	Summer Reading 2005
 1085	Summer Reading: Fiction
 1086	Summer Reading: Kids
 1087	Summer Reading: Cooking
 1088	Summer
 1089	Summer Reading: Nonfiction
 1090	Story of the Day
 1092	Winter Olympics '06
 1093	Katrina & Beyond
 1095	Business Story of the Day
 1096	Holiday Story of the Day
 1097	Holiday Books 2005
 1098	Holiday Music 2005
 1099	Holiday Food 2005
 1100	World Cup 2006
 1101	Archived Topic: Israeli-Palestinian Coverage
 1102	Election 2008
 1103	Studio Sessions
 1104	Music Reviews
 1105	Music Interviews
 1106	Music News
 1107	Music Lists
 1108	New Music
 1109	Concerts
 1110	Music Videos
 1111	Election 2008: Issues
 1112	Election 2008: Voting Groups
 1113	Election 2008: Money, Media & Influence
 1114	Election 2008: Congressional & State Races
 1115	Election 2008: On the Campaign Trail
 1116	Sen. Hillary Clinton (D-NY)
 1117	Sen. Barack Obama (D-IL)
 1118	Sen. John McCain (R-AZ)
 1119	Sen. Joseph Biden (D-DE)
 1120	Gov. Sarah Palin
 1121	Election 2008: Voting Problems
 1122	National Security
 1124	Europe
 1125	Asia
 1126	Africa
 1127	Latin America
 1128	Health
 1131	Energy
 1132	Animals
 1133	On Disabilities
 1134	Fitness & Nutrition
 1135	Medical Treatments
 1136	History
 1137	Movie Interviews
 1138	Television
 1139	Recipes
 1141	Fine Art
 1142	Architecture
 1143	Photography
 1144	Theater
 1145	Dance
 1146	Strange News
 1149	Archived Topic: Afghanistan
 1150	Investigations
 1151	Music Quizzes
 1161	Book News & Features
 1162	Impact
 1163	TV Reviews
 1164	Family
 1165	Weather
 1166	Perspective
 1167	Climate
 2000	Arts
 2001	Design
 2002	Fashion & Beauty
 2003	Food
 2004	Books
 2005	Performing Arts
 2006	Visual Arts
 2007	Business
 2008	Business News
 2009	Careers
 2010	Investing
 2011	Management & Marketing
 2012	Shopping
 2013	Comedy
 2014	Education
 2015	Education Technology
 2016	Higher Education
 2017	K-12
 2018	Language Courses
 2019	Training
 2020	Leisure
 2021	Automotive
 2022	Aviation
 2023	Hobbies
 2024	Other Games
 2025	Video Games
 2026	Government
 2027	Local
 2028	National
 2029	Non-Profit
 2030	Regional
 2031	Health & Fitness
 2032	Alternative Health
 2033	Fitness & Nutrition
 2034	Self-Help
 2035	Sexuality
 2036	Kids & Family
 2037	Music
 2038	News
 2039	Religion & Spirituality
 2040	Buddhism
 2041	Christianity
 2042	Hinduism
 2043	Islam
 2044	Judaism
 2045	Other
 2046	Spirituality
 2047	Science
 2048	Medicine
 2049	Natural Sciences
 2050	Social Sciences
 2051	Society & Culture
 2052	History
 2053	Personal Journals
 2054	Philosophy
 2055	Places & Travel
 2056	Sports
 2057	Amateur
 2058	College & High School
 2059	Outdoor
 2060	Professional
 2061	Technology
 2062	Gadgets
 2063	Tech News
 2064	Podcasting
 2065	Software How-To
 2066	TV & Film
 2067	Fiction
 2068	History
 2069	True Crime
 2070	Drama
 2071	Science Fiction
 2072	Comedy Fiction
 2073	Management
 2074	Marketing
 2075	Improv
 2076	Comedy Interviews
 2077	Standup
 2078	Language Learning
 2079	How To
 2080	Self Improvement
 2081	Courses
 2082	Crafts
 2083	Games
 2084	Home & Garden
 2085	Animation & Manga
 2086	Fitness
 2087	Nutrition
 2088	Mental Health
 2089	Education for Kids
 2090	Stories for Kids
 2091	Parenting
 2092	Pets & Animals
 2093	Music Commentary
 2094	Music History
 2095	Music Interviews
 2096	Daily News
 2097	Politics
 2098	Sports News
 2099	News Commentary
 2100	Entertainment News
 2101	Religion
 2102	Mathematics
 2103	Nature
 2104	Astronomy
 2105	Chemistry
 2106	Earth Sciences
 2107	Life Sciences
 2108	Physics
 2109	Documentary
 2110	Relationships
 2111	Soccer
 2112	Football
 2113	Basketball
 2114	Baseball
 2115	Hockey
 2116	Running
 2117	Rugby
 2118	Golf
 2119	Cricket
 2120	Wrestling
 2121	Tennis
 2122	Volleyball
 2123	Swimming
 2124	Fantasy Sports
 2125	Fantasy
 2126	TV Reviews
 2127	After Shows
 2128	Film Reviews
 2129	Film History
 2130	Film Interviews
 2131	Entrepreneurship
 2132	Medicine

Home Assistant Kitchen Kiosk

Magic Mirror made a really nice kitchen kiosk but it’s time to move on. I installed Raspbian on an old Raspberry Pi 2 and followed a nice tutorial at PiMyLifeUp to set up the kiosk using the Chromium browser. The browser will rotate through a set of web pages on a schedule. In this case it will be my Home Assistant pages.

I stumbled across a Magic Mirror forum post of a build by a non-programmer that used some modules, some custom modules, and a Google Calendar API written by ChatGPT. Very interesting! Installation begins with this.

Back to my kiosk, SSH is a good remote interface but a GUI would help. Real VNC Viewer is the old standby, but I’ll try Microsoft Remote Desktop too.

Charging RV House Batteries

The opportunity when off-grid is that there are several options for dealing with a limited supply of electricity. There are 12V and 120V needs.

My Sprinter Class C motorhome has a diesel engine. The onboard generator (Onan) runs on propane. The diesel version was unreliable and was discontinued. Therefore, when off-grid, the refrigerator, furnace, range and generator all run on propane. Running out of propane (40 lbs / 9 gal) would be a problem. The generator (120V AC) will run for about 20 hours at 50% load. Using the A/C requires 120V AC and using it for very long is not practical.

Propane Generator

Option one is to install an propane adapter and use a 20 lb supplimental propane tank. These tanks are easy to transport and easy to exchange. The onboard propane tank is permanently mounted hand has a 40 lb capacity. Transporting 20 lb tanks in the basement storage requires ventilation and is a safety concern.

“Suitcase” Generator(s)

Option two is to use “suitcase” inverter generators that use gasoline. A 2000 watt generator will run all appliances except the A/C and can charge the house batteries. A second 2000 watt generator can be run in parallel and will supply enough power to run A/C. A single 3600 watt generator will also work. Carrying gasoline cans in the basement storage is also a safety concern.

Solar / Engine Charging

Option three is to charge the house batteries using a DC to DC charger. This charger uses both solar power (future plan) and engine power to charge the house batteries. If propane is low, it’s a cloudy day and there’s no suitcase generator, this is a good fallback. Here’s a list of resources for implementation:

Renogy DC TO DC Charger Install
DIY Sprinter Camper Van Electrical Install
Install Steps
How To Install Solar Panels On Your Van Conversion

Sprinter notice:

For further study: House Battery Charging from Alternator

Charge Time

I have two 100 Ah LiFePO4 batteries for 200Ah total. Charging at 20A from empty to full would take 10 hours. Charging at 60A would take 3 hours and 20 mintues. While my house charger is rated at 60A, shore power is only 30A. Charging time should therefore be 6 hours and 40 minutes. The 2000 watt inverter generator should generate about 10A. It would take 20 hours for a full charge cycle at this rate. The generator should run as much as 10 hours with a light load. The low voltage cutoff is 8.8V.

My Sprinter alternator is rated at 220A. The maximum LiFePO4 battery charge rate is 100A. There is a Renogy 50A DC to DC charger that should charge my batteries in 4 hours.

LiFePO4 Voltage/Capacity Chart

LiTime LiFePO4 Chart

T-Mobile Hotspot

I want to provide cheap remote surveillance for my motorhome that is in a storage facility. I think a wifi camera and mobile hotspot is the answer. I found a hidden T-Mobile 30gb hotspot plan for $10/month and a T-Mobile Franklin T9 mobile hotspot device for $20. I have a spare Blink Mini indoor camera. Both devices use minimal 12V power. So far, so good.

The problem is that the hotspot shuts down after a few days to save the battery. With the battery removed, the hotspot shuts down after a few days because it “charged too long”. Power cycling the hotspot fails because the power button must be manually pressed to restart the hotspot. Using a timer to charge only part of the day may work but that requires 120v. I want to use power from the 12v RV house batteries without using an inverter. This should extend how long the house batteries last.

It’s time to hack. Rooting and unlocking the T9 is a start. I hope hacking it yields a solution to my problem.

Quicken 2017

Quicken went to an annual subscription in about 2020 which is the year my version expired. Although I can no longer automatically synchronize Quicken with my financial accounts, I have chosen to update the transactions manually. This is not much of a burden when using memorized transactions.

I just got a new laptop with Windows 11. I installed Quicken 2017 and got a blank page when I tried to open a copy of my Quicken Data File. I was able to get it to work by installing QW2017R20.5MPatch and copying Quicken.ini from a working system to C:\Program Data\Intuit\Quicken\Config.

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.

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.

Summer Air Conditioning Pre-cooling

An article by Rosie on the House suggests a plan to save on electricity if you have a tiered rate plan. Supercooling. Cool your house as much as you can stand during off-prime hours and allow the temperature to rise as much as you can stand during prime hours. Another idea is to pre-cool three degrees below normal for three hours before prime. Then allow temperature to rise to three degrees above normal during prime. You get the idea.

For me, 75 degrees is the ideal daytime temperature in the summer. It looks like I’ll be able to drop the temperature to 72 with one hour of pre-cooling. I’ll let it rise to 78 during prime hours which is a bit warm but still comfortable. Then it’s back to 75 before dropping to 72 for sleep.

Home Assistant Implementation 2.0

I started from scratch (again) and installed Home Assistant Operating System as a VM under Proxmox using an excellent tutorial from TinkerDad. I previously installed Proxmox using an Andreas Spiess tutorial. He convinced me a Lenovo ThinkCentre with Proxmox was an excellent alternative to the Raspberry Pi for Home Assistant. He also recommend some post install tweaks.

Home Assistant Community Store

The next step was to install HACS. HACS is an HAOS integration for installing custom add-ons, integrations, etc. That’s where I found the Emporia Vue integration that I was anxious to install. Mark Watt Tech provided the guide for this installation. The Advanced SSH & Web Terminal add-on was needed for this install.

Home Power Monitoring with the Emporia VUE and Home Assistant

mostlychris helped me with a video on installing the emporia_vue Home Assistant Integration.

Ecobee integration…

Wyze integration (HACS)…

Spotify integration guide

Mushroom (HACS)…

Mark Watt Tech guides

Temperature Feels Like seems like interesting repository for HACS Home Assistant…

On the Road Again

I joined my sister Dana, and her husband Gary on the beach in Biloxi, MS in my Solera moterhome. We moved on to Natchez, MS briefly and then they headed home. We stayed busy with sightseeing, beach combing, movie watching, game playing and seafood eating. It’s time to carry forth my remote electronics plan.

I really just want to watch some of my recorded movies. This is most simply done by plugging the USB drive with my movies into my TV. However, the recording format is not compatable with my Jensen TV. There are several simpler ways to do this, but I want to use my Chromecast for Google TV and Plex.

Home Networking

The Domain Name System (DNS) has been and still is mostly a mystery to me. What the heck are A records and cnames? I know it doesn’t work well for my homelab servers. I do appreciate the convenience of remembering and referencing a computer name versus a four-octet number (IP address).

On a network, when references to computer names are not reliable, fixed IP addresses are a requirement. An easy but unmanageable solution is to put server names and IP addresses in a hosts file on each computer and to hard code static IP addresses on each computer. Using permanent IP reservations on the DHCP (dynamic host configuration protocol) server is a big improvement, but name resolution is still spotty. If you throw in a Microsoft computer on you network, it has a separate name resolution process – WINS (Windows internet name service). This can help for computers that talk “Microsoft” that are either Windows or have SAMBA (server message block networking protocol) installed (Linux computers).

For convenience, I use my AT&T modem/router’s DHCP server to dole out IP addresses. It provides permanent IP address reservations which is essential for servers. When I embarked on the hypervisor/virtual machine endeavor, I saw the benefit of installing one service on one server. Therefore, MQTT, Plex, Pihole and other services each have their own server. I learned this lesson the hard way. As I busily doled out servers, each with it’s own IP address reservation, I quickly hit the limit of 16 on my DHCP server.

I dislike the inconvenience of managing static IP addresses. However, fixed IP address for servers are really importantI’m hoping Pihole

I need to update my DNS entry for lynnhargrove.com at NameCheap.

DNS for Internet Access to my HomeLab

I’m ready to share some of my homelab services outside my home network. Personal photos and home videos are near the top of the list. With this in mind, I got a domain name from NameCheap – lynnhargrove.com. The Domain Name System (DNS) will convert my domain name to my ip address. I used this video to point lynnhargrove.com to my router. I don’t want to get caught with my shorts down so I used the port scanner from Gibson Research to see what ports are open into my network. My router did not respond to any of it’s probes. That’s good.

As a test,

Since I get a dynamic ip address from my internet provider, it can change periodically. That means I need to check occasionally and update my ip address when it changes. Dynamic DNS (DDNS) is the service that does this and ddclient is the program that makes it happen. I found this setup and installed ddclient on a server that is always on. It uses sendmail for success and failure notifications so I installed sendmail.

ProxMox Upgrade

I have experience with KVM/Qemu on an Ubuntu server. ProxMox puts a solid frontend on KVM/Qemu. It is much easier to administer. After installing ProxMox for HomeAssist, I couldn’t stop adding useful VMs until I ran out of space.I shouldn’t have been surprised that I would run out of space on both systems. Then I decided to install ProxMox on my Plex server and make Plex a guest. I will use the second ProxMox (ProxMox2) server when I travel in my RV. Both systems are Lenovo M73 tiny computers that are easy to port and don’t require much power. I will migrate Proxmox from a 250GB SSD to a new 500GB SSD and ProxMox2 from a 120GB SSD to the 250GB SSD.

As usual, I searched for a good reference for the migration. I founda good one at OSTechNix and another one at Craft Computing.. I plugged a 500GB USB drive into ProxMox2 and mounted the drive using the node shell. My strategy is to backup all nodes on the original ProxMox cluster to an external drive and restore them to the new Proxmox cluster. It turned out to be surprisingly easy.

Heimdall Dashboard

Update 2

I used the Heimdall install which also installs docker before installing Heimdall.

Install Redux

I used the Pi My Life Up procedure to install the docker version of Heimdall. It required installation of docker on my Ubuntu 22.04 server.

Original Install

I did the Docker install that worked until I rebooted. I started over using the Variable How-Tos tutorial. This procedure installed PHP 7.4.3 but PHP 7.4.32 was required. I found the update process using the DigitalOcean procedure. It added the Personal Package Archives:ondrej/php or ppa:ondrej/php repository so I could include it as an additional software source. Then I was able to update/upgrade to php 7.4.33. I also had to install php7.4-cli to use the PHP command line.

I edited /etc/systemd/system/heimdall.service adding the suggest configuration. I changed the user, group and working directory to mine. I changed the –port to 8443 and added — host 0.0.0.0. The last catch was to not use https in the url: http://<ip addr>:8443. I think my previous Heimdall bookmark failed because I used https. Hopefullly, a lesson learned. This is my work in progress:

Convert Physical Windows 10 to Virtual Machine

My ProxMox computer is a Lenovo M73 Tiny and is licensed for Windows 10 Pro. I want to use this Windows license for a VM on the same hardware. I upgraded the CPU but I don’t think that’s an issue with Windows licensing. I did try to install a new copy of Windows as a VM without the product key. I hoped this would activate as a reinstallation on the same hardware but it didn’t work. Next up is to try cloning the physical drive and importing it to ProxMox.

Login to Linux Server with SSH Key File

This assumes that PuTTY is used for SSH access to the servers.

The first step is to generate a public/private key pair. PuTTY Key Generator will do this. I used all defaults and clicked “Generate”. I “saved the public key” and “saved the private key”. The public key is concatenated to /user/home/.ssh/authorized_keys on the server. If it’s the first key, you’ll need to create this hidden directory and the authorized_keys file. The access permissions (chmod) are 700 for the .ssh directory and 600 for the authorized_keys file. It’s odd that the saved public key file is not the right format for concatenation to the authorized_keys file. Instead you must copy and paste the key from the Putty Key Generator Key. It’s identified as the public key for pasting into OpenSSH authorized_keys file. This is easiest done with a SSH session to the server.

Next, open the PuTTY entry for the server and add the user name under “Connection/Data”. Add the private key file to the Connection/SSH/Auth. It’s best to avoid moving the private key file around. Save the session.

The last step is to accept ssh-rsa public key algorithms on the server. Do this by editing /etc/ssh/sshd_config and adding “PubkeyAcceptedAlgorithms +ssh-rsa” to the bottom of the file. Restart ssh service.

Briefly

mkdir .ssh
chmod 700 .ssh
nano .ssh/authorized_keys
<paste public key>
sudo nano /etc/ssh/sshd_config
PubkeyAcceptedAlgorithms +ssh-rsa
sudo systemctl restart ssh.service
add user name and private key to PuTTY

Troubleshooting

There are many tutorials on using SSH key files to log into a Linux server without a password. None of them worked for me. Here’s the problem I found and how I found the solution.

The error was “Server refused our key”. This led me to adding “LogLevel DEBUG3” in /etc/ssh/sshd_config. Then used the command “journalctl | grep key” or “journalctl -xe” to locate any issues when logging in with a private key. (The public key is stored on the server.) I found that “key type ssh-rsa not in PubkeyAcceptedAlgorithms” for the server. My key was an rsa key. I removed “LogLevel DEBUG3” from sshd_config and added “PubkeyAcceptedAlgorithms +ssh-rsa”. This fixed the problem. Oddly, this failed and was not needed for Raspbian. The mystery remains why none of the tutorials warned of this problem.

Plex Server

I turned to Linux Hint for this one. I used a previous post to setup the NFS share to media on file1 file server.

In order to add the Plex Media Server repository, I found the following to work from the Plex.tv website:

If the firewall is enabled, allow Plex with:

sudo ufw allow 32400

The problem with using a NFS share is that user plex has no rights on the file server and no password on the Plex server. I created user plex on the file server with a password to no avail. I brute-forced it by giving all files on the file server read access to everyone:

sudo chmod o+r /media/storage/protected plex -R

A more elegant solution is on my todo list.

block settings?

File Server

I have used Raspberry Pi file servers for several years. Of course this means attaching USB storage for files. My Lenovo M73 tiny computer has room for one 2.5″ hard drive which is an SSD with Ubuntu 22.10 Linux and minimal room for file storage. I’ll move 4TB and 5TB USB HDDs from my Raspberry Pi 4 to the M73. I’ll use a new tutorial from LinuxConfig to take me through the steps.

After installing Ubuntu server and updating it, I gave it a permanent ip reservation. My AT&T router only allows for 16 permanent ip reservations and I’ve hit the limit. It looks like some static ip addresses are in my future.

I attached the two USB3 drives to the M73. They will be outside the ProxMox storage pool and dedicated to the file server. To do this I modified the virtual machine to include new hardware. I added a USB passthrough device for each drive. Unfortunately, the M73 supports only one USB3 device so the second HDD will operate at USB2 speeds. On second thought, the two drives will go back on the Raspberry Pi server and a single 12TB USB3 drive will be storage for my file server.

I’m comfortable with the Samba install. It allows Windows computers to map drives to my file server. There’s a couple of other posts describing the Samba install.

Next, something I’m not so comfortable with. I need to share files with a Plex server (Linux) and a Transmission server (Linux). SMB shares are not as efficient as NFS shares that are native to Linux. I’ll again refer to a previous post for the how-to.

My Style

I love most of what the internet has to offer these days. It educates me, informs me and entertains me. It makes life much more interesting. For me though, social media not so much. I know it’s a great way to share your life with family and friends but I think it’s too much at times and misinforms at times. I mostly avoid it.

I’ve used videos and websites to resolve tons of everyday life issues – stuck doors, new car brakes, clothes washer error codes, health and diet issues, household finances, shopping, food recipies to name just a few.

I’m in the midst of virtualizing several servers on a hypervisor for a homelab. I’m using ProxMox on a 2013 Lenovo M73 ThinkCentre tiny computer. I’ve viewed hundreds of videos and articles that have gotten me well along with my project.

Much of my objective is to get biggest bang for the fewest bucks. I’m ecstatic with my progress and where I expect it to go. My expenses have been $50 for the computer, $45 for an SSD upgrade, $40 for a CPU upgrade and $30 for a memory upgrade totaling $165. I’ll have media servers, home automation, VPN, ad blocking, file servers and more. I’ll run more than a dozen virtual machines with processor power, memory and storage to spare for about a dollar a month of electricity.

I contrast, I just watched a fascinating video with some great ideas for a homelab. This guy had rack-mounted servers, networking gear, storage devices and more. He had 50 terabytes of RAID storage configured for speed and redundancy, redundant hypervisors and double or triple redundant servers. His home automation was not likely to fail! Guys and their toys! In my younger days, it was a Holley carbs, Hurst shifters, Edlebrock headers and ’57 Chevys that showed your masculinity. Times have changed! Then again, maybe I should pay more attention to Frank Thomas. The more I think about it, the more I like the idea of rack mounted servers and tens of terabytes of storage. Hmmm.

In any event, I’m really happy with my project and I think it will be really useful and fun. It makes me anxious to get up and get with it each morning.

How to Run Civilization 3 on a Chromebook

I want to run Civilization 3 on a Chromebook. This is an old but special version of Civ and will only run on Windows 7 with a physical CD in the drive. I think I have a solution but it requires jumping through a few hoops.

Here’s the Plan

  1. Install Windows 7 Pro from thie iso as a virtual guest on Proxmox without a product key and extend the trial period to one year.
  2. Install Civ 3 on the Windows 7 guest with the CD in a physical CD drive passed through to the VM.
  3. Enable Remote Desktop Protocol on Windows 7 and port forward the RDP port on my router to the Windows 7 machine.
  4. Install Remote Desktop on the Chromebook.

The Details (soup-to-nuts):

Get a Lenovo M73 tiny computer on eBay for about $50, replace the HDD with an SDD, install Proxmox and run it 24/7. It uses about 12 watts which should cost less than $15/year to operate. This will also be a good platform for Plex server, a file server, Home Assistant, Pi-Hole, Nagios and trying out versions of Linux.

For the Windows 7 installation, skip product key and activation. Slmgr will give 120 days before activation and can be used three or four times.

slmgr -rearm

Include Your DVD and Blu-Ray Movie Library on Your Plex Media Server

My home entertainent system does not include a DVD or Blu-Ray drive nor do most of my current computers. Handbrake and MakeMKV (for Blu-Ray) are a couple of tools to rip and encode the movies so they can be added to Plex. A side benefit is that discs from other regions that will not play on U.S. drives can be ripped and encoded. Category5 Technology TV provides an excellent Handbrake tutorial. They also have a follow-on video for episodic disc sets. I think this video from Maraksot78 describes the Blu-Ray rip. DVDs resolution is 720 x 480 (480p) and Blu-Ray resolution is 1920 x 1080 (1080p).

DVD

To get started, open the source. I generally use one of the HQ presets such as HQ 480p30 Surround. Here, the 30 is frames per second and should match the source as closely as possible. I like to save the file as mp4 and using defaults except for the following changes. Use the H.264 video codec. Since I have an Nvidia graphics card, I use the H.264 (Nvidia NVEnc) codec. H.265 is slightly better but not as widely compatible. I like constant quality of 20. I also like to include subtitles when available.

When encoding an episodic disc, open the source and note the resolution and FPS after the Source: heading. If it’s anamorphic, note the resolution in parentheses. Under Summary select Web Optimized to allow better network playback. Under Dimensions confirm Display Size matches the (anamorphic) disc size from before. Under Video, set the FPS to match the disc with Constant Framerate.

Now add the first Title to the queue then individually each remaining Title. Start encoding.

Blu-Ray

Homelab Server

I’ve renewed my interest in setting up servers for various home automation tasks. I’ve taken the one-of-each approach to home automation which is fun but hard to get everybody to play together. I use the Amazon/Echo, SmartThings/ActionTiles and Google Home ecosystems. Amazon is mostly for voice control and routines and SmartThings/ActionTiles for tablet kiosks that conveniently cover the holes in the walls where the old intercom and speakers were. I was never able to make OpenHab fit in well in part because of the learning curve. I’m hoping to pull all this together with Home Assistant.

I pulled out the old ASUS AM1M-A/AMD Athlon 5370 APU system and fired it up again. I replaced the Ubuntu Workstation/KVM/QEMU setup with ProxMox which is a Debian based system also using KVM/QEMU with a nice GUI interface. I’m hoping I’ll manage the learning curve better.

This turned in to be a catchall installation for all the servers I run under ProxMox. I plan to enter a separate post for in-depth installaton procedures.

ProxMox

After a struggle to find some good video tutorials for installing ProxMox and virtual machine guests, I found a good place to start with a video by Andreas Spies. I have a few SBCs including a Raspberry Pi 4 file server but it’s really hard to get new ones. This video suggested a used Lenovo tiny computer instead. I already have an M73 running Plex. I liked the idea and found another M73 on Ebay for $50 so I got it. It is close to the price of a Raspberry Pi 4 and doesn’t use a whole lot more electricity and will run VM guests. One of the M73s will run ProxMox with several VM guests. The other will be a smaller travel version with Plex and a few other VMs. It is small enough to travel with me on RV trips.

BIOS settings to change are to enable CPU Virtualization, maximize C State Support and disable secure boot. Download the ProxMox ISO and burn it to a USB drive using BalenaEtcher. Boot from the USB drive and install. Browse to https://<ip address>:8006. Upload an ISO file selecting local storage group and ISO images.

Select the ProxMox server and Create VM using the uploaded ISO file. Use SeaBIOS and Qemu Agent. Be sure to select Windows OS when installing Windows. Go to Proxmox Helper Scripts to get rid of the “No valid subscription” nag screen. Edit: This has been moved to here. Choose Proxmox VE 7 Post Install. Here’s what it looks like today:

Home Assistant

My first VM is Home Assistant. I started out with it on the Rasbperry Pi 3. I’m going to be happier with the extra resources that are available on the ProxMox server. I was able to load this first VM with excellent help from The Tinker Dad’s video.

Download the KVM/ProxMox (.qcow2) file from the Home Assistant website and transfer it to Proxmox using WinSCP. Create the VM by right clicking the Proxmox node in the Proxmox GUI. Once the VM is created, import the image from the command line:

qm importdisk 100 /root/haos_ova-9.5.qcow2 local-lvm –format qcow2

Cockpit

Cockpit helps administer Ubuntu servers with a web-based GUI. Tech Republic helped with the installation.

Nagios

Nagios Core is a network monitoring tool that I’m anxious to explore.

I used the installation procedure from Its Linux Foss to install Nagios. This procedure was straightforward but did not install the current release. I’m checking Arkit for a procedure for the upgrade.

Starting Nagios Core

  1. Init Script: The easiest way to start the Nagios Core daemon is by using the init script like so: /etc/rc.d/init.d/nagios start.
  2. Manually: You can start the Nagios daemon manually with the -d command line option like so: /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg.

Pi-hole

Pi-hole is network-wide ad blocking program originally designed to run on a Raspberry Pi. It also functions as a DNS server for computer name resolution. With several computers on my network, I’m weary from looking up and typing so many ip addresses. Maybe this DNS server will let me use host names instead.

With resources to burn on the ProxMox server, I installed it as a VM. I used the installation procedure on the Pi-hole website. A lot of websites load noticeable faster using Pi-hole for DNS. Some websites detect it and beg or require you to let their ads show. This tutorial should help me get started with adding DNS records.

Wireguard

This will provide remote access to all my network. Here’s a tutorial from DigitalOcean and a video.

Home Networking

The Domain Name System (DNS) has been and still is mostly a mystery to me. What the heck are A records and cnames? I know it doesn’t work well for my homelab servers. I do appreciate the convenience of remembering and referencing a computer name versus a four-octet number (IP address).

When references to computer names are not reliable, fixed IP addresses are a requirement. An easy but unmanageable solution is to put server names and IP addresses in a Hosts file on each computer and to hard code static IP addresses on each computer. Using permanent IP reservations on the DHCP (dynamic host configuration protocol) server is a big improvement, but name resolution is still spotty. If you throw in a Microsoft computer on you network, it has a separate name resolution process – WINS (Windows internet name service). This can help for computers that talk “Microsoft” that are either Windows or have SAMBA (server message block networking protocol) installed (Linux computers).

I dislike the inconvenience of managing static IP addresses. However, fixed IP address for servers are really importantI’m hoping Pihole

I need to update my DNS entry for lynnhargrove.com at NameCheap.

Chrome OS

Try this.

Homelab Dashboard (Heimdall)

I’m going to give it a go with a little help from my friends. I used the the docker install from the Heimdall website – my first docker install. It didn’t make sense but it worked if to browse to https://<ip-address&gt;:8443

Audio Bookshelf

Gotta get it. Or booksonic or bookstack. Do I need filebrowser or handbrake or openwrt?

Unify by Ubiquity

Docker

Rancher

Kubernetics

Grafana

UrBackup

RSync/Grsync

Transmission

Navidrome

OpenWRT

OK, how hard can a BitTorrent server be to install? I eventually used a Raspberry Pi PiMyLifeUp tutorial to install Transmission. Fortunately, it was the current version – 4.0.0. Oh well… I just need to setup a file server VM and point to that for downloads.

Mosquitto

I’m eternally grateful to thousands probably millions of programmers that write useful software that’s available for free on the internet. I need to buy a few more cups of coffee. My frustration with an installation that I can’t make work is a kind of blessing. Installations and configurations that don’t come easy are really just puzzle solving. I love solving puzzles!

To wit: Transmission installation was not difficult, it just took a while to find the instructions. Mosquitto installation was easy but access to the new release not available anonymously or outside the local server. It wasn’t obvious to me. Long story, short – the following additions to mosquitto.conf solved my problem:

listener 1883
allow_anonymous true

That’s all there is to it.

Tiny10 (Stripped Down Windows 10)

Get it here.

Backups

Techno Tim with the professional homelab setup has a way to backup VMs to an NFS share on ProxMox.

Traefik

Need to review.

JellyFin

This seems to be the go-to app for music libraries rather than Plex. I tried the host website but had errors installing. Linux Shout had a simple installation that worked perfectly.

Tag audiobooks with mp3tag or audiobook cutter, also look at booksonic.

Webmin

I tried out Cockpit then decided Webmin would be more useful as a server administration tool. I tried to install it using the website. I had better luck downloading the .deb file from SourceForge and installing it with these commands from Stack Exchange.

Home Automation with Home Assistant

My home automation is a mishmash of devices and software that has served me well. I use Google Assistant for my shopping list and information querries, Alexa for voice commands and SmartThings/ActionTiles for my tablet kiosks in each room.I’m ready to try a little consolidation using Home Assistant.

Mostly a stub for now:

I’m sensitive to the cost of electricity for a 24/7 server so I chose a $50 2015 Lenovo M73 tiny desktop which seems to get by on about 12 watts which is about $1 per month.

I’m reviewing a video from Make It Work that starts out with configuring Amazon Fire HD tablets as the kiosks. Fire Toolbox from XDA Developers is used to configure and remove ads from the tablet.

Need to install Alexa Media Player integration from Hacs.

Setup Alexa in Home Assistant.

Upgrade Wyze Cams with RTSP with Vaclav Chaloupka’s video

Sonoff Switches with SmartThings

Well, I did it again. I got some LED strips for indirect lighting and want to turn them on and off with Sonoff switches, that is, integrate them with SmartThings and Alexa. I’ve done the before, but this time, I’m going to document the process.

I’m using the Sonoff14 switch flashed with Tasmota for the TV LED lights. I previously added Tasmota Connect to SmartThings. Next from that post:

  1. Open SmartThings on mobile device
  2. Under SmartApps, select Tasmota Connect
  3. Under New Tasmota Device, select the Tasmota device you want to add
  4. Fill in the IP address of the new device

Wait 15 or so minutes for the new settings to be effective.

Next, authorize the new devices with ActionTiles by going to My Locations/Home/Add Devices/Home, the select the new devices and click Authorize.

Now, go to the ActionTiles panel and add Hub Tiles for these devices. Rename them in Tile Settings.