Device Discovery

Automatic Device Discovery (mDNS)

TOMMY uses multicast DNS (mDNS) to automatically discover devices on your network. This is the default and recommended method for device discovery, requiring no manual configuration.

Recommended Method

Automatic mDNS discovery requires zero configuration and automatically handles network changes.

How mDNS Discovery Works

TOMMY Instance Advertisement

When the TOMMY instance starts (Home Assistant add-on or Docker):

  1. Service Advertisement: TOMMY instance advertises itself as _tommy._tcp.local service via mDNS
  2. Network Information: Broadcasts its IP address and required ports
  3. Service Details: Includes metadata like version, startup time, and process ID

Device Discovery Process

  1. Network Listening: Devices with TOMMY firmware listen for _tommy._tcp.local broadcasts
  2. Instance Detection: When devices detect the TOMMY instance advertisement, they extract:
    • Instance IP Address: Where to send data and heartbeats
    • Communication Ports: MQTT, file server, and other service ports
    • Service Availability: Confirms TOMMY instance is running and accessible
  3. Automatic Connection: Devices automatically connect to the discovered TOMMY instance
  4. Dashboard Integration: Connected devices appear in the TOMMY dashboard within seconds

Requirements for mDNS Discovery

Network Configuration

  • Same Network Segment: TOMMY instance and devices must be on the same network
  • mDNS Support: Network infrastructure must allow multicast traffic
  • No mDNS Blocking: Firewall or router settings must permit mDNS packets

Compatible Networks

Works Well With:

  • Home Wi-Fi networks
  • Simple router setups
  • Mesh networks (most configurations)
  • Unmanaged switches

May Have Issues With:

  • Enterprise networks with mDNS filtering
  • VLANs with multicast restrictions
  • Some managed switches with IGMP snooping
  • Networks with aggressive multicast filtering

Troubleshooting Automatic Discovery

Device Not Appearing

If your device doesn't appear in the dashboard:

  1. Check TOMMY Instance

    • Verify TOMMY instance is running and accessible
    • Ensure TOMMY has started successfully (check logs)
    • Confirm mDNS advertisement is active
  2. Check Device Network Connection

    • Verify device connected to Wi-Fi (check router's connected devices)
    • Ensure device and TOMMY are on same network segment
  3. Verify mDNS Functionality

    • Test with other mDNS services (like AirPlay or Chromecast)
    • Check if router supports multicast/broadcast traffic
    • Ensure no firewall is blocking port 5353 (mDNS port)