On startup, the Modena App will show the user a list of available rooms. To ensure rooms are visible in complex network environments, Modena features a sophisticated discovery system.
If the Modena App is within the same subnet as the Modena Hub(s), and the network is configured to allow it, the room list is populated automatically via the discovery service.
The automatic discovery service mechanism:
- At regular intervals the Modena app sends UDP broadcast packets on port 6000.
- Modena Hubs listen to port 6000 for discovery packets and reply to the sender with discovery information containing its IP address, available rooms, status, etc.
Broadcast packets are not routed outside a subnet and for this reason automatic discovery will only function when both the Modena Hubs and the Modena Apps are in the same subnet.
When UDP broadcast is not permitted, or when Modena Hubs are in different subnets than the Modena App, the automatic discovery service may not be able to reach all Modena units and show their available rooms. For this eventuality the Modena App offers a Find Rooms feature, which allows a user to discover a Modena Hub via its IP address.
- Select the "Find Rooms" feature (magnifier icon) in the Modena App, and add the Modena Hub's IP address. The client will send a UDP broadcast packet on port 6000 to the Hb at this address. The discovery packet is identical to that transmitted by the automatic discovery mechanism.
- Modena Hubs listen to port 6000 for discovery packets and reply to the sender with discovery information containing IP address, rooms, status, etc.
The Modena App records the IP addresses of the manually discovered Modena Hub and, after the initial manual discovery, the app will automatically discover the hub in subsequent sessions.
In complex network environments, the Modena Apps in one subnet will not discover the Modena Hub(s) in another. This may be a desired configuration, as it may be practical to separate groups of units logically (e.g. on a per-floor basis in a larger deployment).
If you wish the user to discover devices automatically across subnets, you can designate one Modena Hub as the primary and configure further devices as secondary hubs; which will share their room lists and IP addresses with the primary. This will allow a user with visibility of the primary Modena Hub to see all available rooms hosted by associated secondary devices.
This option can be selected in the Modena advanced configuration page.
Tick the checkbox to make a device the primary hub. If you wish to configure a device as a secondary hub enter the IP address of the Modena Hub defined as the primary.
Advanced discovery explained:
- All secondary Modena Hubs are configured with the IP address of the primary Modena Hub. Secondary devices send an advanced discovery packet to the primary on port 6000. The primary hub collects the address information from the secondary devices.
- When the Modena App is on the same subnet as the primary device, the primary will deliver a list all of the IP addresses of primary and secondary devices as a response to the common automatic discovery handshake. After collecting the IP addresses, the Modena App silently performs a manual discovery of every device on that list, one by one, in the background.
- The primary Modena Hub will transmit all of the IP information to every secondary device. This means the advanced discovery extends to any subnet containing at least one secondary Modena Hub. At this point any Modena App on the same subnet of a secondary device will receive all the IP addresses for primary and secondary devices in response to the common automatic discovery handshake. After collecting the IP addresses, the Modena Apps silently perform a manual discovery of every device on that list, one by one, in background.
The advanced discovery mechanism allows the Modena App to display all rooms available on the network regardless of the subnets in which they are installed. It is also possible to configure more than one primary and in the case each primary will create its own cluster of Modena units.