Family Work Car Pool

Today my eldest daughter went to work with me, not as some bring your daughter work event, but she had her own work thing (a conference) where I work it. I was proud of her today.

Need Reflection Time, Memorial day weekend 2025, for me it is a 4 day weekend.

Tomorrow I do have some stuff to do, but I want to reserve some time for reflection and to plan. Something I have not done with profound effect for a while now.

So not sleeping in late tomorrow because of errands. But an opportunity to get ahead of my weekend errands.

I did hit the rare fitbit goals today.

Weight: 344.8

Posted in Fitbit, Milestone, Training, Weigh In | Leave a comment

Last Kid Home

My youngest son is home for the summer from. Cool, he can help me with my weight loss, but even more so, do work around the house.

On another note, at a burger, onion ring and a shake from Carl’s Jr. I think I over did it though, felt sick afterwards.

The food wasn’t bad, just that I think my body wants smaller portions.

Also starting to load my nearstore with data.

Weight: 348.6

Posted in New Toys, Technical, Training, Weigh In | Leave a comment

New Weight Loss Journey

Today got my first set of shots for Zepbound. Holding off till Saturday because this will be a once a week medications.

Also makes for a nice starting point. Rest of the week I will be forecasting and planning because this weekend is Memorial Day May 26, 2025 to Thanksgiving November 26, 2026.

This will be an interesting set of time, more than a year. Hoping to drop under 250. Maybe even triple digit weight loss.

Also wanted to add a note on the programming front. I got a python script displaying Zigbee and 433mhz events in my home. Hoping to leverage that into a database.

Weight: 348.2

Posted in Coding, Technical, Training, Weigh In | Leave a comment

Out of Groove

Haven’t been myself lately regarding work.

I was able to get back a bit into it today, I need to really get into the rock and roll of it.

I am in another funk for sure.

Need to get on some sort of schedule.

Weight: 347.6

Posted in Training, Weigh In | Leave a comment

Catching Up With Stuff

Sunday’s are starting to be the days I catch up with things, be it sleep or paperwork etc.

Today, woke up late, I needed the sleep, but also worked on some financial planning.

Normally done Friday.

Tonight going to Casino then dropping off my son at PLU, so evening will be busy.

Weight: 347.4

Posted in Technical, Weigh In | Leave a comment

Planning vs Reactive

Been thinking about what my new nearstore server, and some other things that happened to me today.

But I realized I do way more planning then doing. I just want everything to be right.

For this nearstore server, going to change it up a bit. I will follow established documentation, but will “do” more, rather then “plan” more.

I think there should be a balance, but I think I am too much into the planning side. I have lost the ability to accomplish and do.

Weight: 350.6

Posted in Training, Weigh In | Leave a comment

Nearstore Ahead Of Schedule

I was thinking of building this box next weekend, but I am so far ahead I think I will take a crack at some of the steps this weekend.

I got the OS installed, need to do some hard drive and RAM checks.

May go for 32GB, minimum 16, so this can be done in another machine while I stage things.

Weight: 349.2

Posted in New Toys, Technical, Training, Weigh In | Leave a comment

ZFS it is

I been checking out ZFS, got it working in a lab.

Side note with the lab, with my use of images instead of kickstart, my builds and rebuilds are faster.

Was able to document ZFS on Rocky 9, the install, full backups, differential backups, how they restore, piping it to be encrypted and even allowing snapshots via samba.

Cool deep stuff.

I think this weekend I will put together the nearstore server I was planning.

Weight going down. Woot.

Weight: 346.6

Posted in New Toys, Technical, Training, Weigh In | Leave a comment

JIT Battery

The UPS battery came just in time, the UPS that needed its battery replacing was a major one holding up a bunch of network gear.

The battery came in today and it was installed after it became clear, the unit was gonna keep going down.

I started a maintenance database, to track these things. This battery was 4 years old, the OEM ones should be replaced at 4, 3 if it is a cyberpower (which this was) and 3 more also if it is 3rd party, maybe 2.

Another things I was looking at was zfs, I had a test server going to test it out.

I am rethinking my new nearstore system. Thinking it should be ZFS instead of EXT or XFS.

Took doggie to vet today, when he got home he was acting weird, not hungry.

Good news, weight going down.

Weight: 347.6

Posted in Coding, New Toys, Technical, Training, Weigh In | Leave a comment

UPS Dying

My lastman project worked, got a bunch of SMS messages when the UPS for my stack of switches died.

I looked at when I purchased this UPS, July 2021, so yeah 4 years, need to be replaced.

I got quality batteries, this is a very important stack.

Another thing I got done was listing devices and entities via python. Yesterday I got it working with curl/bash. Here is my code for python

#!/usr/bin/python3
"""
hassquery.py
Simple Python Script that uses websockets API to query devices in home assistant
By Larry Apolonio
Date : 2025-05-13
"""
import argparse
import asyncio
import json
import websockets

# === CONFIGURATION ===
HA_WS_URL = "ws://homeassistant.local:8123/api/websocket"
ACCESS_TOKEN = "TOKENGOESHERE" # Replace with your token

# === PARSE ARGUMENTS ===
parser = argparse.ArgumentParser(description="List Home Assistant devices by integration.")
parser.add_argument(
"-i", "--integration",
type=str,
default="all",
help="Integration to filter by (e.g. zha, tplink, mqtt, hue). Use 'all' to list everything."
)
args = parser.parse_args()
filter_integration = args.integration.lower()

async def list_devices_by_integration():
"""
list_devices_by_integration
Actual function to list devices
"""
async with websockets.connect(HA_WS_URL, max_size=10 * 1024 * 1024) as ws:
# Step 1: Authenticate
await ws.recv()
await ws.send(json.dumps({"type": "auth", "access_token": ACCESS_TOKEN}))
auth_response = json.loads(await ws.recv())
if auth_response.get("type") != "auth_ok":
print("Authentication failed.")
return
print(f"Authenticated. Listing devices for integration: '{filter_integration}'\n")

# Step 2: Get device registry
await ws.send(json.dumps({"id": 1, "type": "config/device_registry/list"}))
while True:
msg = json.loads(await ws.recv())
if msg.get("id") == 1 and msg.get("type") == "result":
devices = msg.get("result", [])
break

# Step 3: Get entity registry
await ws.send(json.dumps({"id": 2, "type": "config/entity_registry/list"}))
while True:
msg = json.loads(await ws.recv())
if msg.get("id") == 2 and msg.get("type") == "result":
entities = msg.get("result", [])
break

# Step 4: Build entity map
entity_map = {}
for ent in entities:
device_id = ent.get("device_id")
if device_id not in entity_map:
entity_map[device_id] = []
entity_map[device_id].append(ent)

# Step 5: Filter and print
matched_count = 0
for device in devices:
device_id = device.get("id")
related_entities = entity_map.get(device_id, [])
platforms = {e.get("platform", "").lower() for e in related_entities}

if filter_integration != "all" and filter_integration not in platforms:
continue

matched_count += 1
name = device.get("name_by_user") or device.get("name") or "Unnamed"
manufacturer = device.get("manufacturer", "Unknown")
model = device.get("model", "Unknown")
identifiers = device.get("identifiers", [])
area = device.get("area_id", "N/A")

print(f"Name : {name}")
print(f"Manufacturer : {manufacturer}")
print(f"Model : {model}")
print(f"Area : {area}")
print(f"Identifiers : {identifiers}")
print(f"Platforms : {', '.join(sorted(platforms)) or 'N/A'}")
print("Entities :")
for ent in related_entities:
print(f" - {ent['entity_id']} ({ent['platform']})")
print("-" * 60)

print(f"\nTotal devices found: {matched_count}")

if __name__ == '__main__':
asyncio.run(list_devices_by_integration())

Weight: 347.8

Posted in Coding, New Toys, Technical, Training, Weigh In | Leave a comment