Skip to content

Morlej/NST_HA_integration

Repository files navigation

NST Home Assistant Integration (Phase 1)

This repository contains a read-only Home Assistant custom integration for NST Audio DSP devices.

What Phase 1 Includes

  • Config flow with connectivity validation (Get Device Information, command 1)
  • UDP protocol read support for commands 1,2,3,4,7,8
  • Fast polling (3,4) and slow polling (7,8,2)
  • Read-only entities:
    • Connection + device metadata sensors
    • Group volume sensors
    • Group mute binary sensors
    • Preset state sensors (used list/name attributes)
  • Diagnostics endpoint

What Phase 1 Excludes

  • No write commands (1001, 1002, 1003)
  • No writable entities (select, number, switch)
  • No write services

Install (custom component)

  1. Copy custom_components/nst into your Home Assistant config directory:
    • <config>/custom_components/nst
  2. Restart Home Assistant.
  3. Add integration via Settings > Devices & Services > Add Integration > NST Audio.

Options (UI)

  • poll_interval (seconds, default 3)
  • preset_refresh_interval (seconds, default 60)
  • output_groups_json (JSON list of group definitions)

Example output_groups_json:

[
  {
    "group_id": "main_lr",
    "name": "Main L/R",
    "channels": [1, 2],
    "trim_offsets_db": {
      "1": 0.0,
      "2": 0.0
    }
  }
]

Channel numbers are 1-based output channels.

Manual Device Validation

See MANUAL_TEST_PLAN.md.

Test Outside Home Assistant

Use the standalone probe script:

cd /Users/morlej/git/NST_HA_integration
PYTHONPATH=. python3 scripts/nst_probe.py --host 192.168.1.50 --port 7090

With group-state checks:

PYTHONPATH=. python3 scripts/nst_probe.py \
  --host 192.168.1.50 \
  --port 7090 \
  --groups-json examples/output_groups.example.json

The probe reads commands 1,2,3,4,7,8 and prints parsed values and derived group states.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages