Skip to content

Hardware Inventory

Last Updated: 2026-07-19 Purpose: Single source of truth for all physical hardware. All other docs link here.


Servers

Primary Unraid NAS — Lotus(office outbuilding)

Hostname Lotus
IP 192.168.1.80
OS Unraid
CPU Intel Core i3-N305 (8 cores)
RAM 32GB
Boot device 28.9GB USB flash drive
Parity 1× 12.7TB
Data drives 1× 3.6TB (disk1), 1× 7.3TB (disk2), 1× 7.3TB (disk3)
Cache pool 2× 931.5GB NVMe SSD
Usable storage ~18.2TB
UPS backed Yes — Back-UPS ES 850G2 (Office 1)
Always on Yes

Backup Unraid NAS — Cooper(living room)

Hostname Cooper
IP 192.168.1.60
OS Unraid
CPU Intel Celeron J4125 (4 cores, 2.0GHz)
RAM 24GB
Boot device 59.8GB
Parity 1× 3.6TB
Data drives 1× 3.6TB (disk1), 1× 3.6TB (disk2)
Cache pool 1× 512GB SSD (2.5" SATA, bay 4)
Usable storage ~7.2TB
UPS backed Yes — Back-UPS ES 650G2 (Living Room)
Always on Yes (backup target)

Proxmox NUC — Pacific(bedroom)

Hostname Pacific (proxmox.local)
Model Intel NUC NUC6CAYS (corrected 2026-07-19 — previously listed as NUC6CAYH, confirmed via dmidecode during the disk rebuild)
IP 192.168.1.10
OS Proxmox VE 9.2.2 (Debian 13 Trixie, kernel 7.0.2-6-pve) — reinstalled 2026-07-19, was 8.4.17
CPU Intel Celeron J3455 (4 cores, 1.5GHz)
RAM 16GB
Storage 512GB Samsung 860 PRO SSD (primary, replaced 2026-07-19) + 29.1GB eMMC (onboard, unused) — original 238.5GB SanDisk SSD failed (climbing SMART uncorrectable-sector count), see Lessons Learned
UPS backed Yes — Back-UPS ES 650G2 (Bedroom), USB direct to Pacific, NUT runs on the host itself — see Pacific server doc
Always on Yes
Known issue Cooling fan (AVC BAZB0508R5U) has worn-bearing noise, discovered 2026-07-19 — still functional, replacement part identified but not yet fitted

Proxmox VMs / LXC Containers:

ID Type Role IP
VM 112 VM Home Assistant OS — ⚠️ currently running on Lotus instead as of 2026-07-19, see Pacific server doc 192.168.1.12
LXC 101 LXC AdGuard Home — primary DNS 192.168.1.11
LXC 103 LXC Tailscale exit node
LXC 108 LXC Frigate NVR (Docker inside) 192.168.1.18
LXC 130 LXC GMUPS-27 — UPS/NUT monitoring

Desktop PC

Brabham(office outbuilding)

Hostname Brabham
IP 192.168.1.40
OS Windows 11
UPS backed Yes — BVX2200Li-GR (Office 2)
Notes Dan's main workstation. Backed up to Lotus via Veeam.

Network Equipment

UniFi UCG Ultra — Gateway / Router

Model UniFi Cloud Gateway Ultra (UDRULT)
IP 192.168.1.1 (LAN) / 192.168.99.81 (WAN1)
MAC 9c:05:d6:59:ac:a3
Firmware 5.0.16
Ports 3 × GE LAN + 1 × GE WAN2 (port 4) + 1 × 2.5GE WAN1
Location Bedroom wardrobe
UPS backed Yes — Bedroom UPS
Admin URL https://192.168.1.1
WAN1 Vodafone ADSL — modem on 192.168.99.x subnet
WAN2 Three LTE (backup) — Zyxel LTE3302-M432 on 192.168.2.x subnet, port 4

Zyxel LTE3302-M432 — Backup WAN Router

Model Zyxel LTE3302-M432
IP 192.168.2.254 (LAN management)
Firmware V1.00(ABKQ.1)C0
SIM Three UK — LTE
Signal -56 dBm RSSI (excellent)
Mode Router mode (intentional — avoids management lockout; double NAT is harmless with Tailscale)
Location Bedroom wardrobe
Connected to UCG Ultra port 4 (WAN2)
Subnet 192.168.2.0/24
Admin URL http://192.168.2.254

Switches

Name Model IP Location Ports Firmware Uplink to
Bedroom Switch UniFi USW Mini 5 (USMINI) 192.168.1.2 Bedroom wardrobe 5 × GE 2.1.6 UCG Ultra Port 3
Living Room Switch UniFi Switch 8 60W (US8P60) 192.168.1.3 Living room 8 × GE (ports 5–8 PoE) 7.2.123 Bedroom Switch Port 5
Office Switch UniFi USW Mini 5 (USMINI) 192.168.1.4 Office outbuilding 5 × GE 2.1.6 Living Room Switch Port 2

Access Points

Name Model IP Location Firmware Uplink to
Bedroom AP UniFi U7LT 192.168.1.171 (DHCP) Bedroom 6.8.2 UCG Ultra Port 2
Living Room AP UniFi U7PG2 192.168.1.123 (DHCP) Living room 6.8.2 Living Room Switch Port 6
Office AP UniFi U7LT 192.168.1.101 (DHCP) Office outbuilding 6.8.2 Office Switch Port 3

All three APs broadcast all four SSIDs on both 2.4 GHz and 5 GHz.


UPS Devices

Location Model Protects
Bedroom APC Back-UPS ES 650G2 Pacific, router, switch, AP
Living Room APC Back-UPS ES 650G2 Cooper, switch, AP
Office 1 APC Back-UPS ES 850G2 Lotus, desk, switch, AP
Office 2 APC BVX2200Li-GR Brabham

Smart Home Hardware

Device Location Protocol
Sonoff Zigbee Bridge (Tasmota) Living room WiFi → HA — http://192.168.20.10/ — UPS backed
Coral TPU (PCIe M.2) Pacific / Frigate LXC AI inference for Frigate — passed through to LXC 108
Reolink doorbell camera Porch WiFi / RTSP — https://192.168.20.132/ (IoT VLAN)
Awair Element (air quality) Living Room WiFi
Everything Presence One Kitchen ESPHome / WiFi
Zigbee TRVs All rooms Zigbee
Shelly Plus 2PM Utility Room / Boiler WiFi — powered from the boiler unit itself, not a separate mains socket
Boiler Plug (Third Reality UZ1) Utility Room Zigbee — in service 2026-07-29, replaced the Tasmota plug that failed 2026-07-24. Firmware updated on install. power_on_behavior: on (boiler regains power after an outage) and metering_only_mode: on (relay forced ON, cannot be switched off). Direct link to the coordinator. sensor.boiler_plug_power reads 0 W at boiler standby — below the plug's resolution, so never use power > 0 to test for mains; use plug availability or sensor.boiler_plug_voltage.
Lotus Plug (Third Reality UZ1) Office Zigbee — in service 2026-07-28, replaced the Tasmota "Lotus Server Plug" whose watchdog resets were rebooting Lotus. metering_only_mode: on (relay forced ON, cannot cut power to the NAS). Feeds the Homelab Dashboard infrastructure power tiles via sensor.lotus_plug_power. Typical draw 14–75 W, avg ~29 W.
~~Boiler smart plug (Tasmota)~~ Utility Room RETIRED. WiFi, NoT VLAN, firmware v10 (early purchase batch). Failed 2026-07-24 — see Lessons Learned. Also the confirmed source of three days of WiFi channel-6 jamming (2026-07-29 entry). Binned 2026-07-27.
Smart plugs (all protocols) Various 24 plugs across 5 protocol families — see the Smart Plug Register below. All 5 Tasmota units were brought to firmware 15.5.0 with fixed telemetry on 2026-07-29.
Kitchen Pi (Raspberry Pi CM4, Waveshare carrier) Kitchen WiFi (USB dongle), IoT VLAN 20 — 192.168.20.254. Debian 12 with the Pi kernel; HiFiBerry Pi Zero MiniAMP (PCM5102A + TPA3118) driving the kitchen speakers as a Squeezelite player — see Multiroom Audio
Sony HT-A9 Living Room WiFi, IoT VLAN 20 — 192.168.20.21. No wired audio input available (HDMI occupied, no optical or analogue), so Chromecast built-in is the only usable audio endpoint — see Multiroom Audio
Govee H5074 sensors Office Bluetooth
Home Assistant Voice Preview Office
Alexa Echo devices Kitchen, various rooms WiFi
Motorised blind (Aqara E1) Living Room Zigbee
Develco ZHEMI101 (electricity meter interface) Meter cupboard Zigbee — optical pulse counter clipped to the meter's flash LED, configured for 2000 imp/kWh (replaced 2026-07)

Smart Plug Register

Adopted 2026-07-29. Every plug carries a permanent tag encoding its connection type. Connection type is fixed in hardware, so the tag can never go stale; the role follows the tag and changes freely when a plug is redeployed.

Prefix Connection
Pw WiFi (Tasmota, TP-Link Kasa)
Pz Zigbee (Third Reality, Tuya, Salus)
Pmw Matter over WiFi (Meross)
Pmt Matter over Thread — reserved
Pv Z-Wave — reserved (unlikely; Ring's Z-Wave is a closed ecosystem)
Pb Bluetooth/BLE — reserved

Only the P is capitalised. Numbers are zero-padded and restart per category. Format: Pw01 - Living Room Switch.

Why: an audit on 2026-07-29 found four independent naming layers had drifted apart — Tasmota DeviceName, the MQTT topic that seeds the HA entity ID, HA name_by_user, and the UniFi alias. One plug simultaneously claimed to be a dishwasher, a media plug and a network-switch plug. Trust the device name and area; never the entity ID or the UniFi alias.

Rules

  • Entity IDs are permanent identifiers, not descriptions. They stay frozen at each plug's original role and must not be renamed — templates, dashboards and automations reference them (sensor.cooper_energy_power feeds Infrastructure Total Power).
  • Never rename a Zigbee device's Z2M friendly name. It changes the MQTT topic and therefore the HA entity IDs. Put the tag in Z2M's description field instead.
  • Setting a Z2M description needs no restart — publish to zigbee2mqtt/bridge/request/device/options with {"id":"<ieee>","options":{"description":"..."}}. It applies live and persists to configuration.yaml.
  • Tasmota DeviceName/FriendlyName1 are safe to change — the MQTT topic is tasmota_%06X, independent of the name.
  • Physically label the plug body. Neither the register nor an IP address tells you what a plug feeds without walking to it — that was the actual difficulty the audit ran into.

Register

Tag Role Address Vendor Area
Pw01 Spare — in the drawer (ex-Living Room Switch) 192.168.30.52 (reserved) Tasmota LocalBytes
Pw02 Living Room TV 192.168.30.53 Tasmota LocalBytes Living Room
Pw03 Spare — labelled, in drawer 192.168.30.54 Tasmota LocalBytes
Pw04 Kettle 192.168.30.57 Tasmota LocalBytes Kitchen
Pw05 Cooper 192.168.30.59 Tasmota LocalBytes Living Room
~~Pw06~~ FAILED — bin it (ex-Desktop) 4c:eb:d6:11:11:23 Tasmota LocalBytes
Pw07 Spare — prepared, in drawer 192.168.30.62 Tasmota LocalBytes
Pw08 undeployed (ex-Dehumidifier) e0:98:06:f0:a9:74 Tasmota LocalBytes Loft
Pw09 Printer KP105 TP-Link Kasa Office
Pw10 Kitchen Speakers KP105 TP-Link Kasa Kitchen
Pw11 Christmas Tree Bottom KP105 TP-Link Kasa Living Room
Pw12 Christmas Tree Top P100 TP-Link Kasa Living Room
Pz01 Lotus 0x4ce1755274040000 Third Reality UZ1 Office
Pz02 Boiler 0x4ce17552707b0000 Third Reality UZ1 Utility Room
Pz03 Turbo Trainer 0x4ce1755270000000 Third Reality UZ1 Loft
Pz04 Dishwasher 0x70b3d52b6005096d Tuya TS011F Kitchen
Pz05 WasherDryer 0x70b3d52b6005098c Tuya TS011F Kitchen
Pz06 Shield TV Media 0x70b3d52b60050efc Tuya TS011F Living Room
Pz07 Fridge 0x001e5e090216a0ef Salus Kitchen
Pz08 undeployed (ex-Bedroom NUC) — identity resolved 2026-07-30, see below 0x70b3d52b6004b608 Tuya TS011F Bedroom
Pz09 undeployed (ex-Turbo Trainer) 0x70b3d52b6001b1b6 Tuya TS011F Loft
Pmw01 Pacific NUC serial 510801240106766 Meross Mini Bedroom
Pmw02 Brabham serial 510801240108438 Meross Mini Office
Pmw03 Desk Power Strip serial 510801240105010 Meross Mini Office

Binned: the boiler's Tasmota plug — dead, and the confirmed source of three days of 2.4 GHz channel-6 jamming (2026-07-27).

Redeployment warning: Pw08 shares the LocalBytes v10 batch with two units that have now died. Fine for a lamp or occasional monitoring; not for anything continuous or critical. See the load-correlation rule in Lessons Learned.

Individual plug histories

Pw01 — removed from service 2026-07-29, stored as a spare (working, not failed). It fed the living-room network switch, which is now on a plain socket; Powercalc's daily_fixed_energy "Living Room Switch" entry (7 W, no source entity) covers that load, so nothing was lost from the energy picture. Its entities read unavailable while unplugged — expected, not a fault.

Its entity IDs were renormalised to the tag on 2026-07-30 — the first use of the spare-plug exception. All 20 entities went *.dishwasher**.pw01* (e.g. switch.dishwasherswitch.pw01), because the old IDs were fossils of a long-gone dishwasher role — the dishwasher runs on Pz04 now. Five references were rewritten in the same change: /config/.storage/energy (an energy-dashboard source) and cards in lovelace.claude_dev, lovelace.lovelace and lovelace.dc_tablet. Backups *.bak-20260730-pw01. Tasmota DeviceName was set to Pw01 - Spare the same day; MQTT rediscovery did not re-create the old IDs, because the unique_ids were unchanged, and the 214.575 kWh Total carried through. Fifteen stale per-entity friendly-name overrides were also cleared rather than re-set, so the next device rename propagates by itself.

Pw06 — confirmed FAILED 2026-07-29, binned. The second confirmed death in the LocalBytes v10 batch. On retest after ~7 months offline a 40-second button factory reset worked (it returned as a blank tasmota-111123-4387), it authenticated to 2SVT-NoT at −47 dBm and took its reserved DHCP address — but then passed essentially no traffic (rx_bytes/tx_bytes 0, receive rate stuck at 1.00 Mbps, UniFi reporting AP/Client Signal Balance: Poor), answered neither ICMP nor HTTP, and repeatedly dropped and re-associated. The fault is below the configuration layer — a reset cannot fix it.

Diagnostic worth reusing: UniFi's client detail panel gives Rx/Tx Rate and AP/Client Signal Balance. A strong RSSI combined with a 1 Mbps rate and "Poor" balance means the client's transmitter is weak — the AP can't hear it even though it hears the AP. That distinguishes a failing radio from a config or range problem, and neither RSSI alone nor a ping test would show it.

Don't leave a suspect plug powered "for testing." The boiler plug was left plugged into a living-room socket after it died and jammed 2.4 GHz channel 6 for three days before anyone connected the two. Unplug on diagnosis, not later.

Removing it from HA cleanly meant clearing its retained MQTT discovery messages, not deleting the registry entry — publish an empty retained payload to tasmota/discovery/<MAC>/config and /sensors, and HA removes the device and all 20 entities itself, with no chance of it reappearing on the next MQTT reload. Its 8 orphaned long-term statistics were cleared via websocket recorder/clear_statisticsthat call returns clear_statistics timed out but still succeeds, asynchronously; re-check with recorder/list_statistic_ids rather than retrying.

Pw07 — recommissioned 2026-07-29 as a light-duty spare. Found already on 15.5.0, so its old Software Watchdog resets may have been the v10 firmware fault that the kettle's upgrade also cured — unproven, since it has never been re-tested under sustained load. Given it once took Lotus down twice, treat it as light-duty until it has run something non-critical for a good while. Its HA entities are still sensor.lotusserverplug_* / switch.lotusserverplug and came back to life on plug-in — they are not dead and must not be deleted.

Pz08 — identity resolved 2026-07-30; it was never actually a conflict. Pacific sits in the bedroom wardrobe, so Z2M's Plug Wardrobe Rack (naming the location) and HA's Bedroom NUC Plug (naming the load) were always the same plug described two ways. It is the superseded predecessor of Pmw01, the Meross Mini now monitoring Pacific — the same pattern as Pw06 → Pmw02 for Brabham. Its unavailable state is simply because it is unplugged; it has not dropped off the Zigbee mesh. Pacific's power monitoring is unaffected and live.

Technique worth reusing: recorder/statistics_during_period with period: month shows a sensor's coverage window even when the values come back empty. Here it dated the changeover independently of any naming evidence — sensor.bedroom_nuc_plug_energy has stats from Jan 2025 ending ~Jun 2025, and sensor.pacific_nuc_plug_energy runs from Jun 2025 to present. One stops where the other starts. This reaches far beyond the ~9-day recorder retention.

⚠️ Pz08 and Pz09 are physically MISLAID as of 2026-07-30. Both undeployed Tuya TS011F units, whereabouts unknown — the two the physical-label pass could not cover. No functional impact. To identify one when it turns up: plug it in and see which entity family leaves unavailable in HA — Pz08 (0x70b3d52b6004b608) or Pz09 (0x70b3d52b6001b1b6). Faster than reading the IEEE off the body, and the two are otherwise indistinguishable. Note five plugs share the TS011F model (Pz04–Pz06, Pz08, Pz09) and are physically identical — the IEEE address is the only reliable way to tell them apart.

Standard Tasmota settings

Applied to all five WiFi plugs on 2026-07-29:

Setting Value Why
TelePeriod 60 300 hid every event shorter than 5 minutes
PowerDelta1 20 forces an immediate publish on a 20 W change
Sleep 0 dynamic sleep caused thousands of MQTT reconnects
SetOption56 1 scan for the strongest AP at boot
NtpServer1/2 192.168.1.80 / 192.168.1.60 NoT has no internet; pool.ntp.org never resolves