Skip to content

Diagnostic Device Discovery

anotherjulien edited this page Sep 14, 2026 · 4 revisions

Overview

Diagnostic Device Discovery is the process used to determine which physical Devices are present within a Diagnostic WHO domain before they are individually interviewed or configured.

Two principal discovery methods are used:

                     Device Discovery
                            │
             ┌──────────────┴──────────────┐
             │                             │
             ▼                             ▼
     By Hardware ID                 By Domain Address
             │                             │
             ▼                             ▼
      Physical Devices              Occupied Addresses
             │                             │
             └──────────────┬──────────────┘
                            ▼
                    Individual Device
                         Interview

The two methods answer slightly different questions:

  • Hardware-ID discovery asks which physical Devices are present.
  • Address discovery asks which addresses within a diagnostic domain are occupied.

Once a Device has been found, MyHOME Suite can proceed with a Diagnostic Device Interview.

If the hardware ID or address of the Device is already known, the discovery phase can be skipped entirely.

Discovery by Hardware ID

Hardware-ID discovery enumerates physical Devices independently of their configured functional address.

This is particularly useful because a hardware ID remains capable of identifying a Device even when the Device is unconfigured or its normal system address is unknown.

DIM13 discovery is Device-oriented and that native A/PL discovery is documented in Diagnostic Address Discovery

General Sequence

Under the Automation Diagnostic domain (WHO1001), a complete scan begins with:

*1001*12*0##
*#1001*0*13##

The second frame requests DIM13, which carries the hardware ID.

Devices respond with frames of the general form:

*#1001*WHERE*13*DEVICE_ID##

For example:

*#1001*0015*13*147801279##

The value 147801279 is the Device's hardware ID represented as a decimal integer on the wire.

The same identifier can conventionally be represented as an eight-character hexadecimal value:

147801279 decimal
        ↓
08CF44BF hexadecimal

Hardware IDs should therefore be normalized in documentation and tooling as eight-character, zero-padded, uppercase hexadecimal values.

Discovery State

Hardware-ID enumeration is not simply a broadcast DIM13 request repeated indefinitely.

Captured MyHOME Suite sessions indicate that the diagnostic protocol maintains discovery state.

Two WHAT commands are particularly associated with this process:

WHAT Current interpretation Confidence
11 Acknowledge/suppress an already discovered Device Strong
12 Reset/release discovery suppression Strong

A typical discovery cycle therefore begins with:

*1001*12*0##

followed by:

*#1001*0*13##

As Devices are discovered, MyHOME Suite can use the discovery-state mechanism to prevent already processed Devices from repeatedly participating in enumeration.

The exact formal meanings of WHAT11 and WHAT12 are not yet documented, so these interpretations should be treated as behavioral descriptions rather than official command names.

See Diagnostic WHAT Reference.

Configured and Unconfigured Devices

WHO1001 hardware-ID discovery supports filtering according to whether a Device is configured.

Three forms have been observed:

Request Result
*#1001*0*13## All Devices
*#1001*0*13#0## Unconfigured Devices
*#1001*0*13#1## Configured Devices

Therefore:

                  DIM13 Discovery
                        │
          ┌─────────────┼─────────────┐
          │             │             │
          ▼             ▼             ▼
     No parameter   Parameter 0   Parameter 1
          │             │             │
          ▼             ▼             ▼
     All Devices   Unconfigured   Configured
                      Devices       Devices

This behavior has been directly observed for WHO1001.

Equivalent filtering should not yet be assumed for other Diagnostic WHO domains without additional capture evidence.

Discovery by Domain Address

Hardware ID is not the only way to discover Devices.

MyHOME Suite can also enumerate Devices according to the native addressing topology of the selected Diagnostic WHO domain.

This mechanism has been investigated in detail under WHO1001.

Address Enumeration

The Automation domain uses A/PL addressing. Address-based discovery can be performed over an Ambient rather than querying every possible point individually.

For example:

*#1001*00*1##

was observed when MyHOME Suite scanned addresses within Ambient A=0.

For Ambient A=1, the corresponding request was:

*#1001*1*1##

These are DIM1 requests using a WHERE that represents an Ambient/range scope rather than an individual Device address.

Address Enumeration Responses

Devices at occupied addresses respond to the Ambient discovery request with their DIM1 information.

For example:

*#1001*01*1*107*6*6*8##
*#1001*03*1*107*6*6*8##
*#1001*05*1*107*6*6*8##
*#1001*06*1*107*6*6*8##

The response WHERE identifies the occupied address.

The important discovery information at this stage is therefore:

Ambient scan
     │
     ▼
DIM1 responses
     │
     ▼
Occupied WHERE values
     │
     ▼
Known Device addresses

The DIM1 values themselves provide additional Device identity information, but their detailed interpretation belongs to DIM1 - Device Identity.

From Address Enumeration to Device Interview

After discovering occupied addresses, MyHOME Suite proceeds to interview each Device individually.

For example, after discovering addresses such as:

01
03
05
06

it sends individual requests such as:

*#1001*01*0##
*#1001*03*0##
*#1001*05*0##
*#1001*06*0##

The resulting interaction is no longer enumeration. It is an individual Diagnostic Device Interview.

During that interview, the Device also reports its hardware ID through DIM13.

This creates a useful association:

Domain address
     │
     ▼
Individual interview
     │
     ├── Device identity
     ├── Firmware
     ├── Hardware ID
     └── Modules

Address-based discovery can therefore ultimately establish the relationship between a Device's native system address and its unique hardware identity.

Known Address versus Address Enumeration

If the desired address is already known, MyHOME Suite does not need to enumerate the entire Ambient.

For example, a manual scan specifically targeting:

A=0
PL=1

used:

*#1001*01*0##

and immediately entered the individual Device interview.

The distinction is therefore:

Unknown addresses
      │
      ▼
Enumerate Ambient
      │
      ▼
Discover occupied WHEREs
      │
      ▼
Interview each address

versus:

Known address
      │
      ▼
Interview address directly

This distinction is important because an individual address scan should not be interpreted as evidence that address discovery itself requires probing every possible A/PL combination.

Hardware-ID Discovery versus Address Discovery

The two enumeration mechanisms can now be compared directly.

Hardware-ID Discovery Address Discovery
Primary purpose Find physical Devices Find occupied domain addresses
WHO1001 discovery DIM DIM13 DIM1
Result Hardware IDs WHERE/address values
Requires configured address No Yes
Useful for unconfigured Devices Yes Generally no
Followed by individual interview Yes Yes
WHO1001 topology Independent of A/PL A/PL
Observed across multiple Diagnostic WHO domains Yes Mechanism assumed; domain syntax not yet established

Conceptually:

               Diagnostic WHO
                     │
          ┌──────────┴──────────┐
          │                     │
          ▼                     ▼
   Hardware-ID scan        Address scan
          │                     │
       DIM13              domain-specific
          │                 enumeration
          ▼                     ▼
    Hardware IDs         Occupied addresses
          │                     │
          └──────────┬──────────┘
                     ▼
             Individual Device
                  Interview

Discovery and Diagnostic Domains

The current working model is that the mechanism is shared across Diagnostic WHO domains while the native address representation is domain-specific.

This gives two largely independent discovery concepts:

Hardware-ID enumeration
        │
        └── common DIM13-based mechanism

and:

Domain-address enumeration
        │
        ├── WHO1001 → Automation A/PL
        ├── WHO1004 → Thermoregulation topology
        ├── WHO1018 → Energy topology
        └── WHO1023 → Access Control topology

The first has already been observed across several Diagnostic WHO domains.

The second is experimentally established for WHO1001, while the corresponding address-discovery syntax for WHO1004, WHO1018, and WHO1023 remains to be determined.

Discovery State Machine

At a high level, a full scan can be represented as:

START
  │
  ▼
Select Diagnostic WHO
  │
  ▼
Reset / initialize discovery
  │
  ├───────────────────────────────┐
  │                               │
  ▼                               ▼
Enumerate by ID             Enumerate by address
  │                               │
  ▼                               ▼
Collect hardware IDs        Collect occupied addresses
  │                               │
  └───────────────┬───────────────┘
                  ▼
           Select one Device
                  │
                  ▼
          Individual interview
                  │
                  ▼
          Enumerate Modules
                  │
                  ▼
        Read configuration

Discovery therefore ends once enough information is available to address an individual physical Device.

Everything after that point belongs to the Device interview and configuration phases rather than to discovery itself.

See Also

Clone this wiki locally