Files
hermes-ice/IoT Device Reorganization Plan.md
Hermes Agent e4d91aadf9 Initial commit: homelab infrastructure wiki
- Full Obsidian vault content
- Host configs (ice, grizzley, ubuntu, proxmox, truenas, panda, hyte)
- Media stack documentation
- Traefik HA setup
- Automation scripts
- Bachelor party planning
2026-05-24 16:08:40 -07:00

11 KiB

IoT Device Reorganization Plan

Created: 2026-04-20 Status: Draft — requires review before execution

Problem Statement

  1. Duplicate naming — Three Aqara Light Switch H2 US devices with no way to tell which is which. Light entities numbered arbitrarily (light.aqara_light_switch_h2_us_2 through _16) with no relation to physical location.
  2. Relay vs. physical switch confusion — Aqara H2 switches have both relay outputs AND physical button inputs. The ceiling light in the Baby Room is controlled by an Aqara H2 switch relay, but the physical wall switch also has a button event. These are mixed together.
  3. Ecosystem overlap — The same physical lights are controlled by multiple systems:
    • Shelly relays (Bedroom/Office ceiling lights)
    • Aqara H2 switches (Baby Room, Front Door, Entrance)
    • TP-Link smart plugs (Left Lamp, Right Lamp, Tall Lamp)
    • Govee LED strips (H6076, H60A4, H60A1)
    • Aqara ceiling light fixture (Colorful Ceiling Light 36W)
  4. Entity suffix chaos — Matter re-commissioning appends _2, _3, etc. to entity IDs, making them meaningless. Duplicate entities (e.g., lock.aqara_smart_lock_u100 AND lock.aqara_smart_lock_u100_2) suggest double-commissioning.

Current Inventory (44 devices, 339 entities)

Lighting — 12 devices, HEAVILY OVERLAPPED

Location Physical Device Integration Entity Issue
Bedroom Ceiling light (wired to Shelly 1PM) Shelly switch.shelly1pmg4_a085e3bb2898 Good name, but entity ID is MAC-based
Bedroom Govee LED strip Govee light.h60a1 Named "Ceiling Light" — conflicts with actual ceiling light
Bedroom Left Lamp (TP-Link HS103 plug) TP-Link switch.left_lamp Good name
Bedroom Right Lamp (TP-Link HS103 plug) TP-Link switch.right_lamp Good name
Office Ceiling light (wired to Shelly 1PM) Shelly switch.shelly1pmg4_a085e3b7fc74 MAC-based entity ID
Office Grizzley Pi Power (TP-Link HS103 plug) TP-Link switch.bug_zapper Controls grizzley host power — entity name misleading
Living Room Tall Lamp (TP-Link KP115 plug) TP-Link switch.tall_lamp Good name
Living Room Govee H6076 strip #1 Govee light.h6076 No friendly name
Living Room Govee H6076 strip #2 Govee light.h6076_2 Duplicate model, no distinction
Living Room Govee H60A4 strip Govee light.h60a4 No friendly name
Baby Room Aqara H2 switch (dual relay) Matter light.aqara_light_switch_h2_us, _2 Which relay is main light vs ring light?
Baby Room Aqara Ceiling Light 36W (fixture) Matter light.colorful_ceiling_light_36w, _2, _3, _4 4 light entities for 1 fixture (main + ring?) — needs clarification

Aqara Switches (H2 US) — 3 IDENTICAL DEVICE NAMES

Area Device Relays Physical Buttons Entity Count
Baby Room Aqara Light Switch H2 US 2 relays: light._us, light._us_2 2 button events 24 entities
Front Door Aqara Light Switch H2 US 2 relays: light._us_6 through _us_8? Multiple buttons 36 entities
Entrance Aqara Light Switch H2 US 2 relays: light._us_3 through _us_5? Multiple buttons 36 entities

Key confusion: Each H2 has 2 physical buttons + 2 relays, but the entity numbering (_us_3, _us_6, _us_7, etc.) doesn't map to which physical button controls which relay. After re-commissioning, these will all reset and need clear naming.

Sensors & Locks

Location Device Integration Entity Status
Living Room Aqara Motion Sensor P1 Matter binary_sensor.aqara_motion_sensor_p1_occupancy Good
Rooftop Door Aqara Door/Window Sensor Matter binary_sensor.*_door Good
Rooftop Door Aqara Vibration Sensor T1 Matter binary_sensor.*_occupancy Good
Front Door Aqara Smart Lock U100 Matter lock.aqara_smart_lock_u100 Has duplicate _2 entities
Front Door Aqara Doorbell G410 Matter button.*_identify only Limited Matter support?
Garage Aqara Camera Hub G3 Matter button.*_identify only Limited Matter support
Entrance IKEA MYGGBETT door sensor Matter binary_sensor.*_door Good
Entrance IKEA MYGGSPRAY motion sensor Matter binary_sensor.*_occupancy Good
Garage IKEA MYGGBETT door sensor Matter binary_sensor.*_door_2 Suffix _2 from re-commissioning
Laundry IKEA KLIPPBOK water leak Matter binary_sensor.*_water_leak Good
Living Room IKEA ALPSTUGA air quality Matter sensor.*_co2, *_pm25, etc. Good
Office IKEA TIMMERFLOTTE temp/humidity Matter sensor.*_temperature, *_humidity Good

Reorganization Plan

Phase 1: Clean Slate — Re-commission Matter (DO THIS FIRST)

Since we already removed the Matter integration:

  1. Add Matter integration in HA Settings > Devices & Services
  2. Commission Aqara M3 hub first — it bridges all Zigbee children
  3. Commission IKEA devices one at a time
  4. Rename EVERY device immediately after commissioning using this convention:

Naming Convention

Format: {Room} {Function}

Old Name New Device Name Primary Entity
Aqara Light Switch H2 US (Baby Room) Baby Room Light Switch light.baby_room_light, light.baby_room_ring_light
Aqara Light Switch H2 US (Front Door) Front Door Light Switch light.front_door_porch_light, light.front_door_hall_light
Aqara Light Switch H2 US (Entrance) Entrance Light Switch light.entrance_hall_light, light.entrance_outside_light
Colorful Ceiling Light 36W Baby Room Ceiling Light light.baby_room_ceiling_main, light.baby_room_ceiling_ring
Aqara Door and Window Sensor Rooftop Door Sensor binary_sensor.rooftop_door
Aqara Vibration Sensor T1 Rooftop Vibration Sensor binary_sensor.rooftop_vibration
Aqara Motion Sensor P1 Living Room Motion Sensor binary_sensor.living_room_motion
Aqara Smart Lock U100 Front Door Lock lock.front_door
Aqara Smart Video Doorbell G410 Front Door Doorbell (limited Matter support)
Aqara Camera Hub G3 Garage Camera Hub (limited Matter support)
ALPSTUGA air quality monitor Living Room Air Quality sensor.living_room_co2, etc.
MYGGBETT door/window sensor (Entrance) Entrance Door Sensor binary_sensor.entrance_door
MYGGBETT door/window sensor (Garage) Garage Door Sensor binary_sensor.garage_door
MYGGSPRAY motion sensor Entrance Motion Sensor binary_sensor.entrance_motion
KLIPPBOK water leak sensor Laundry Leak Sensor binary_sensor.laundry_water_leak
TIMMERFLOTTE temp/hmd sensor Office Climate Sensor sensor.office_temperature, sensor.office_humidity

Phase 2: Fix Non-Matter Devices

Device Action
Shelly Bedroom Ceiling Relay Rename device to "Bedroom Ceiling Light", rename entity to switch.bedroom_ceiling_light
Shelly Office Ceiling Relay Rename device to "Office Ceiling Light", rename entity to switch.office_ceiling_light
Govee "Ceiling Light" (H60A1) Rename to "Bedroom LED Strip", entity to light.bedroom_led_strip
Govee H6076 #1 Rename to "Living Room TV Backlight", entity to light.living_room_tv_backlight
Govee H6076 #2 Rename to "Living Room Shelf Light", entity to light.living_room_shelf_light
Govee H60A4 Rename to "Living Room Ambient Strip", entity to light.living_room_ambient_strip
TP-Link "Grizzley Pi" Rename entity from switch.bug_zapper to switch.grizzley_power, rename device to "Grizzley Host Power" — this is the remote power control for the grizzley Pi (only non-PoE Pi)
LG TV (cast) Merge with webostv device if possible, or accept duplicate

Phase 3: Clarify Relay ↔ Physical Switch Mapping

For each Aqara H2 switch, document the physical wiring:

Baby Room H2 Switch:
  Physical Button 1 (left) → Relay 1 → [what does it control?]
  Physical Button 2 (right) → Relay 2 → [what does it control?]

Front Door H2 Switch:
  Physical Button 1 → Relay 1 → [porch light?]
  Physical Button 2 → Relay 2 → [hall light?]

Entrance H2 Switch:
  Physical Button 1 → Relay 1 → [entrance hall?]
  Physical Button 2 → Relay 2 → [outside light?]

Action: After re-commissioning, physically press each button and observe which relay toggles. Then name accordingly.

Phase 4: Clean Up Duplicate/Misleading Entities

  • Delete duplicate Matter entities (the _2 suffixed ones from double-commissioning)
  • Disable button.*_identify entities (not useful for daily use)
  • Disable sensor.*_battery_type and sensor.*_battery_voltage (keep only *_battery percentage)
  • Disable number.*_on_level and select.*_power_on_behavior (advanced settings)
  • Keep: primary light/switch/lock/sensor entities + battery percentage + firmware update

Device → Integration → Ecosystem Map

Lighting Control Paths (identify conflicts)

Bedroom Ceiling ──→ Shelly 1PM (Wi-Fi) ──→ HA Shelly integration
Bedroom Lamps  ──→ TP-Link HS103 (Wi-Fi) ──→ HA TP-Link integration
Bedroom LEDs   ──→ Govee H60A1 (BLE/Wi-Fi) ──→ HA Govee integration

Baby Room Main ──→ Aqara H2 Relay 1 (Zigbee→M3→Matter) ──→ HA Matter
Baby Room Ring ──→ Aqara H2 Relay 2 (Zigbee→M3→Matter) ──→ HA Matter
Baby Room Fixture ──→ Aqara Ceiling Light 36W (Zigbee→M3→Matter) ──→ HA Matter

Living Room Tall Lamp ──→ TP-Link KP115 (Wi-Fi) ──→ HA TP-Link
Living Room Strips  ──→ Govee (BLE/Wi-Fi) ──→ HA Govee

Office Ceiling ──→ Shelly 1PM (Wi-Fi) ──→ HA Shelly

No actual conflicts — each physical light has ONE control path. The "overlap" is naming confusion, not actual duplicate control.

Infrastructure Controls (not consumer IoT)

Device Integration Purpose Current Name
TP-Link HS103 plug TP-Link Remote power for grizzley Pi (only non-PoE host) switch.bug_zapper

Action: Rename to switch.grizzley_host_power. Consider adding to a "Infrastructure" area in HA and protecting with a confirmation prompt to prevent accidental shutdown.


Execution Checklist

  • Phase 1: Re-commission Matter devices with proper names
    • Add Matter integration in HA
    • Commission Aqara M3 hub (name: "Bedroom Hub M3")
    • Commission each IKEA sensor with location-based name
    • Rename all devices immediately upon discovery
  • Phase 2: Rename non-Matter devices in HA
    • Shelly relays → descriptive names
    • Govee lights → room + function names
    • TP-Link "Grizzley Pi" → "Bug Zapper"
  • Phase 3: Map Aqara H2 physical buttons → relays
    • Baby Room switch
    • Front Door switch
    • Entrance switch
  • Phase 4: Disable noisy entities (identify buttons, battery voltage, power-on behavior)
  • Phase 5: Update HA automations with new entity IDs
  • Phase 6: Update Alexa routines if entity names changed