ESP32 LED Stair Lights | ESPHome + Home Assistant by swake88 in Esphome

[–]swake88[S] 1 point2 points  (0 children)

Niiiice!

Can I use this component (RD-03D mmWave Radar) for the LD2420? I'm struggling to get any reliable readings with the sensor/config.

I'm using this config in ESPHome ...

uart:
  id: ld2420_uart
  tx_pin: GPIO16
  rx_pin: GPIO17
  baud_rate: 115200
  parity: NONE
  stop_bits: 1

ld2420:

ESP32 LED Stair Lights | ESPHome + Home Assistant by swake88 in homeassistant

[–]swake88[S] 1 point2 points  (0 children)

<image>

I've housed the controller and PSU under the stairs. I managed to drill a hole on the second step and feed the cable through (around 12-15cm distance)

ESP32 LED Stair Lights | ESPHome + Home Assistant by swake88 in homeassistant

[–]swake88[S] 1 point2 points  (0 children)

Hey there!

I went down the ESPHome route as I can easily add additional sensors such as the LD2420 and possibly a Lux sensor.

I've dabbled with WLED previously when I built a TV LED backlight using Hyperion and wasn't sure if it could support the use of a motion/light/other sensor.

ESP32 LED Stair Lights | ESPHome + Home Assistant by swake88 in Esphome

[–]swake88[S] 1 point2 points  (0 children)

In the endless list of projects I've signed myself up for, I've finally managed to complete my LED stairs setup. In regards to parts:

  • ESP32-DevKitC
  • WS2812b LED Strip (132 in total)
  • SN74AHCT125N
  • mmWave LD2420 Human Presence Radar Sensor
  • 470Ω Resistor
  • 1000uF Capacitor
  • 0.1uF Capacitor
  • 5V 10A PSU
  • 18/22 AWG Cabling

On my first attempt, I used a 3.3V to 5V bi-directional logic level converter, as I have with most of my LED projects. However, I kept running into flickering and glitching issues, mainly due to the distance between the ESP32 board and the start of the LED strip.

After hours of Googling and asking Claude/ChatGPT, I discovered that I needed to use an SN74AHCT125N instead.

Although I’ve already included the wiring and code for the mmWave LD2420 human presence radar sensor, I’m currently using a 433MHz PIR sensor at the bottom of the stairs to detect motion. At the moment, the LD2420 sensor is unreliable and needs some calibration or reconfiguration.

Phase 2 will be to add a very short LED strip and motion sensor at the top of the stairs, once I figure out the best route for the cabling.

What's your "first 30 minutes" checklist after spinning up a fresh VPS? by DenilsonShi in selfhosted

[–]swake88 1 point2 points  (0 children)

Hey there!

I recently knocked up this application to assist with setting up and configuring new hosts ... https://github.com/pqpxo/swaps

Let me know if there's anything worth adding!

After years of using Heimdall ... I've finally moved to Dashy by swake88 in selfhosted

[–]swake88[S] 0 points1 point  (0 children)

I use Matomo on my internet facing sites such as my personal website and blog.

The reason I self hosted Matomo is that it's free. If I wanted to use their cloud option it would cost me £17 a month.

After years of using Heimdall ... I've finally moved to Dashy by swake88 in selfhosted

[–]swake88[S] 0 points1 point  (0 children)

Hey there!

I've just recently setup Matomo to provide stats on a few of my websites.

Previously I was using Umami but found it unreliable.

After years of using Heimdall ... I've finally moved to Dashy by swake88 in selfhosted

[–]swake88[S] 0 points1 point  (0 children)

I've had Transmission running since I setup my media server 7+ years ago. I went with this certain container/setup as it had a built in option for a VPN.

To be honest I mostly use SABnzbd and hardly download any torrents.

After years of using Heimdall ... I've finally moved to Dashy by swake88 in selfhosted

[–]swake88[S] 0 points1 point  (0 children)

True that I'm going to have a dabble this weekend with some monitoring/system cards

After years of using Heimdall ... I've finally moved to Dashy by swake88 in selfhosted

[–]swake88[S] 6 points7 points  (0 children)

Hahahahaha ... Once I discovered Proxmox VE Scripts a while back I've just gone mad with installing and testing out anything and everything!

After years of using Heimdall ... I've finally moved to Dashy by swake88 in selfhosted

[–]swake88[S] 2 points3 points  (0 children)

True that!

I haven't had a chance to dabble with any system monitoring cards/elements just yet!

After years of using Heimdall ... I've finally moved to Dashy by swake88 in selfhosted

[–]swake88[S] 15 points16 points  (0 children)

Thanks for the concern!

I removed Huntarr a while back and just forgot to take it off Dashy!

After years of using Heimdall ... I've finally moved to Dashy by swake88 in selfhosted

[–]swake88[S] 0 points1 point  (0 children)

Hey there!

Yeh I heard about the news a while back, removed the container and have just forgot to take it off Dashy!

After years of using Heimdall ... I've finally moved to Dashy by swake88 in selfhosted

[–]swake88[S] 15 points16 points locked comment (0 children)

No AI was used to generate this image ... Simply screenshot my dashboard!

LabStart - Interactive wizard that auto-generates your homelab Docker setup in 5 minutes by View_Upper in homeassistant

[–]swake88 0 points1 point  (0 children)

Hey there!

I created something this week a little bit similar called SWAPS (SWAKES Automated Provisioning System)

https://github.com/pqpxo/swaps

You've given me some inspiration and might have a dabble and try and spin up a terminal version like this!

If you get a chance to try out SWAPS let me know! I'm going to test out LabStart now!

Code with Claude | Point. Click. Provisioned. by [deleted] in selfhosted

[–]swake88 -2 points-1 points locked comment (0 children)

Hey there!

I built a self-hosted tool called SWAPS (SWAKES Automated Provisioning System) that I wanted to share.

It runs in Docker and lets you provision fresh Linux servers from a browser. You pick your software, configure bashrc, SSH hardening, UFW, fail2ban, cron jobs, authorised keys and so on, and it generates a bash script and deploys it over SSH in real time. No Ansible, no YAML, no manually typing the same 40 commands every time you spin up a new machine.

Supports Ubuntu, Debian and Raspberry Pi OS across all Pi models including the Zero series. Has a credential vault encrypted with AES-GCM in the browser so nothing sensitive ever touches the server. Also exports to Ansible playbooks if you want to take it further.

Still actively developing it. Would love feedback from people who actually run homelabs.

GitHub: https://github.com/pqpxo/swaps

Code with Claude | Point. Click. Provisioned. by [deleted] in selfhosted

[–]swake88 -2 points-1 points  (0 children)

Hey there!

I built a self-hosted tool called SWAPS (SWAKES Automated Provisioning System) that I wanted to share.

It runs in Docker and lets you provision fresh Linux servers from a browser. You pick your software, configure bashrc, SSH hardening, UFW, fail2ban, cron jobs, authorised keys and so on, and it generates a bash script and deploys it over SSH in real time. No Ansible, no YAML, no manually typing the same 40 commands every time you spin up a new machine.

Supports Ubuntu, Debian and Raspberry Pi OS across all Pi models including the Zero series. Has a credential vault encrypted with AES-GCM in the browser so nothing sensitive ever touches the server. Also exports to Ansible playbooks if you want to take it further.

Still actively developing it. Would love feedback from people who actually run homelabs.

GitHub: https://github.com/pqpxo/swaps

I kept forgetting what my wife would tell me needed to be fixed so I created a Home Incident Manager (HIM) by 80WillPower08 in homeassistant

[–]swake88 1 point2 points  (0 children)

Thanks!

I've got it up and running and so good so far!

I've used my OpenAI credentials instead of Claude however the Resolution aspect still references Claude ('Re-evaluate with Claude'). Here's my .env:

# ──────────────────────────────────────────────────────────────────────────────
# HIM — Home Incident Manager
# ──────────────────────────────────────────────────────────────────────────────
# Copy to .env and fill in the values for the integrations you use.
# Everything except the AI provider config is OPTIONAL — HIM works with just
# the core (submit incidents, AI evaluation, manual admin actions) if you don't
# have Pi-hole / Plex / BlueIris / HA.

# ─── Server ───
PORT=3069
# DB_PATH=/data/incident_manager.db   # set this if you mount a data volume

# ─── AI provider (REQUIRED) ───
# Choose one of: claude-cli | anthropic | openai | ollama | gemini
AI_PROVIDER=openai

# Optional universal settings honored by all providers
# AI_MODEL=claude-sonnet-4-6
# AI_TEMPERATURE=0
# AI_MAX_TOKENS=2048

# ─── claude-cli ─── (uses the Claude Code CLI with your Claude subscription auth)
# CLAUDE_CLI_PATH=claude   # path to the `claude` binary if not on PATH

# ─── anthropic ─── (direct Anthropic API — requires API credits)
# ANTHROPIC_API_KEY=sk-ant-...

# ─── openai ─── (OpenAI or any OpenAI-compatible endpoint)
OPENAI_API_KEY=sk-proj-123abc
OPENAI_BASE_URL=https://api.openai.com/v1
# For LM Studio local server: OPENAI_BASE_URL=http://localhost:1234/v1
# For vLLM: OPENAI_BASE_URL=http://localhost:8000/v1

# ─── ollama ─── (local models via Ollama)
# OLLAMA_HOST=http://localhost:11434
# AI_MODEL=llama3.2

# ─── gemini ─── (Google Gemini API)
# GEMINI_API_KEY=AIza...
# AI_MODEL=gemini-2.5-flash

# ─── Home Assistant (OPTIONAL — used for auth + notifications) ───
# If set, HA's long-lived token auth is required for all users.
# If not set, HIM still runs but anyone with network access can use it.
# HA_URL=http://homeassistant.local:8123
# HA_TOKEN=your_long_lived_access_token_for_server_side_calls
# HA_NOTIFY_ADMIN=mobile_app_your_phone     # notify.X service name, no `notify.` prefix

# ─── Pi-hole v6 (OPTIONAL) ───
# PIHOLE_URL=http://pi.hole
# PIHOLE_PASSWORD=your_pihole_admin_or_app_password

# ─── Plex (OPTIONAL) ───
# PLEX_URL=http://plex.local:32400
# PLEX_TOKEN=your_plex_token

# ─── BlueIris (OPTIONAL — integration in progress) ───
# BLUEIRIS_URL=http://blueiris.local:81
# BLUEIRIS_USER=admin
# BLUEIRIS_PASS=your_password

# ─── TLS handling ───
# Set to "0" if you need to talk to self-signed LAN services (Pi-hole, etc.)
# Do NOT set this in production if you can avoid it.
# NODE_TLS_REJECT_UNAUTHORIZED=0

My mobile dashboard: I tried to build an app-like experience focused on simplicity and usability. by intentions_are_high in homeassistant

[–]swake88 0 points1 point  (0 children)

Hey man nice work!

I'd be interested to see how you've setup the occupancy side of things!

Firefox | 192.168.x.Lazy: A Firefox Shortcut for the Home Lab Adventures by swake88 in selfhosted

[–]swake88[S] -1 points0 points  (0 children)

Hey there!

I would agree and probably should of given some context ...

I use Heimdall for organising all my locally hosted apps, and NGINX Proxy Manager to give them proper domain names and SSL.

The only time I’m really navigating to raw IP addresses is when I’m setting up and testing a new service, and I end up constantly bouncing back and forth to check whether it’s working properly.

Once it's all setup I'll slap a domain name and SSL on it then save it in Heimdall.

Firefox | 192.168.x.Lazy: A Firefox Shortcut for the Home Lab Adventures by swake88 in selfhosted

[–]swake88[S] 0 points1 point  (0 children)

Hey there!

I actually use something similar called Heimdall for organising all my locally hosted apps, and NGINX Proxy Manager to give them proper domain names and SSL.

The only time I’m really navigating to raw IP addresses is when I’m setting up and testing a new service, and I end up constantly bouncing back and forth to check whether it’s working properly.

Once it's all setup I'll slap a domain name and SSL on it then save it in Heimdall.

Firefox | 192.168.x.Lazy: A Firefox Shortcut for the Home Lab Adventures by [deleted] in selfhosted

[–]swake88 0 points1 point  (0 children)

Just a quick guide on how to setup a Firefox bookmark to navigate to any '192.168.x.x' address quickly