Skip to content

[tr064] macOnline Channel ON on Mesh Router even Client only connected to different Mesh Access Point #20163

@quensen

Description

@quensen

Expected Behavior

For TR-064 WiFi Things representing FRITZ!Box routers and FRITZ!Mesh access points, the channel

tr064:subdeviceLan:{thing}:LAN:macOnline_{device-mac}

should indicate ON (online) only for the specific Wi-Fi Thing (router or access point) to which the client device is actually connected.

In a FRITZ!Mesh setup, this means:

  • If a client (e.g. an iPhone) is connected to a Mesh Access Point,
    macOnline_{mac} should be ON only on the AP’s WiFi Thing
  • On the Mesh Master / Router WiFi Thing, the same macOnline_{mac} channel should be OFF

This allows correct and unambiguous detection of:

  • which Mesh node a client is currently associated with
  • accurate per-AP presence and connectivity logic in openHAB

Current Behavior

The channel

tr064:subdeviceLan:{router}:LAN:macOnline_{iphone-mac}

is reported as ON on the router WiFi Thing, even though the iPhone is not connected to the router, but to a different Mesh Access Point in the same FRITZ!Mesh network.

At the same time, the channel

tr064:subdeviceLan:{ap}:LAN:macOnline_{iphone-mac}

on the actual Access Point WiFi Thing is also ON, which is correct.

As a result:

  • The same client MAC is shown as online on multiple WiFi Things simultaneously
  • The router falsely reports the device as locally connected, although it is only reachable via the Mesh backhaul

This makes it impossible to reliably determine where a client is really connected.

Steps to Reproduce

  1. Set up a FRITZ!Mesh network with:
    • one FRITZ!Box acting as Mesh Master / Router
    • one or more FRITZ!Mesh Access Points
  2. Configure the TR-064 binding in openHAB for:
    • the router WiFi Thing
    • the access point WiFi Thing(s)
  3. Connect a client device (e.g. an iPhone) to a Mesh Access Point, not to the router itself
  4. Observe the channels:
    • tr064:subdeviceLan:{ap}:LAN:macOnline_{client-mac}ON (correct)
    • tr064:subdeviceLan:{router}:LAN:macOnline_{client-mac}ON (incorrect)

Impact

This behavior breaks several common use cases:

  • Determining which AP a device is connected to
  • Presence detection per access point
  • Roaming analysis and Wi-Fi diagnostics
  • Automation logic that depends on actual client association, not just general mesh reachability

Effectively, macOnline behaves like “reachable somewhere in the mesh” instead of “connected to this WiFi interface”.

Possible Root Cause

The TR-064 binding appears to evaluate client presence at the mesh / LAN level on the router, instead of restricting macOnline to:

  • the specific WLAN interface
  • or the actual AP reporting the association

The router seems to expose mesh-wide client visibility via TR-064, which the binding currently interprets as a local connection.

Possible Solution

Refine the logic behind macOnline_* so that it reflects actual association, not mesh-wide reachability.

Potential approaches:

  • Use WLAN-specific TR-064 data that indicates association to a specific AP / WLAN interface
  • Filter router-side macOnline results to exclude clients that are:
    • connected via downstream Mesh APs
  • Ensure that macOnline is true on exactly one WiFi Thing at a time (the real attachment point)

If such differentiation is not technically possible via TR-064, this limitation should at least be documented explicitly, as the current channel name strongly implies AP-local connectivity.

Context

I’m using macOnline_* channels to detect where devices are connected within a FRITZ!Mesh network and to drive automations based on AP-local presence.

While this works correctly on Mesh Access Points, the router reporting the same client as online at the same time leads to ambiguous and misleading results.

Your Environment

  • openHAB version: 5.1.1
  • TR-064 binding: 5.1.1
  • OS: openHABian / Linux (Raspberry Pi)
  • FRITZ!Box router: FRITZ!Box 5690 Pro
  • Mesh Access Points: Fritz!Repeater 2700 and 1700 and Fritz!Box 5690 Pro
  • Client example: iPhone

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugAn unexpected problem or unintended behavior of an add-on

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions