This cluster provides an interface for managing low power mode on a device that supports the Wake On LAN or Wake On Wireless LAN (WLAN) protocol (see [Wake On LAN]).

This cluster would be supported on IP devices that have a low power mode AND support the ability to be woken up using the Wake on LAN or Wake on WLAN protocol. This cluster provides the device MAC address which is a required input to the Wake on LAN protocol. Besides the MAC address, this cluster provides an optional link-local IPv6 address which is useful to support "Wake on Direct Packet" used by some Ethernet and Wi-Fi devices.

Acting on the MAC address or link-local IPv6 address information does require the caller to be in the same broadcast domain as the destination. To wake the destination up, the caller sends a multicast-based magic UDP packet that contains destination’s MAC address in the UDP payload to FF02::1, the IPv6 all-nodes link-local multicast group address. If the optional link-local address is provided by the destination through this cluster, the caller also sends the magic UDP packet in unicast to that link-local address. This unicast-based method is particularly useful for Wi-Fi devices, since due to lack of MAC layer retransmission mechanism, multicast over Wi-Fi is not as reliable as unicast. If a device provides the link-local address in this cluster, its Ethernet controller or Wi-Fi radio shall respond to the IPv6 neighbor solicitation message for the link-local address without the need to wake host CPU up. In order to receive the magic or neighbor solicitation packets in multicast, the Wi-Fi devices must support Group Temporal Key (GTK) rekey operation in low power mode.

Most devices automatically enter low power mode based upon inactivity.

The cluster server for Wake on LAN or Wake on WLAN is implemented by a device that supports the Wake on LAN/WLAN protocol, such as a TV, Set-top Box, or Smart Speaker.

MatterSpecification.v13.Cluster § 1.12

interface Cluster {
    attributes: Merge<{
        linkLocalAddress: OptionalFixedAttribute<Uint8Array, any>;
        macAddress: OptionalFixedAttribute<string, any>;
    }, GlobalAttributes<{}>>;
    base: undefined;
    commands: {};
    events: {};
    extensions: undefined;
    features: {};
    id: Branded<1283, "ClusterId">;
    name: "WakeOnLan";
    revision: 1;
    supportedFeatures: {};
    unknown: false;
    alter<const AlterationsT>(alterations: AlterationsT): WithAlterations<Of<{
        attributes: {
            linkLocalAddress: OptionalFixedAttribute<Uint8Array, any>;
            macAddress: OptionalFixedAttribute<string, any>;
        };
        id: 1283;
        name: "WakeOnLan";
        revision: 1;
    }>, AlterationsT>;
    enable<const FlagsT>(flags: FlagsT): WithFlags<Of<{
        attributes: {
            linkLocalAddress: OptionalFixedAttribute<Uint8Array, any>;
            macAddress: OptionalFixedAttribute<string, any>;
        };
        id: 1283;
        name: "WakeOnLan";
        revision: 1;
    }>, FlagsT>;
    set<const ValuesT>(values: ValuesT): WithValues<Of<{
        attributes: {
            linkLocalAddress: OptionalFixedAttribute<Uint8Array, any>;
            macAddress: OptionalFixedAttribute<string, any>;
        };
        id: 1283;
        name: "WakeOnLan";
        revision: 1;
    }>, ValuesT>;
    with<const SelectionT>(...selection: SelectionT): Of<Of<{
        attributes: {
            linkLocalAddress: OptionalFixedAttribute<Uint8Array, any>;
            macAddress: OptionalFixedAttribute<string, any>;
        };
        id: 1283;
        name: "WakeOnLan";
        revision: 1;
    }>, SelectionT>;
}

Hierarchy (view full)

Properties

attributes: Merge<{
    linkLocalAddress: OptionalFixedAttribute<Uint8Array, any>;
    macAddress: OptionalFixedAttribute<string, any>;
}, GlobalAttributes<{}>>

Type declaration

  • ReadonlylinkLocalAddress: OptionalFixedAttribute<Uint8Array, any>

    Indicates the current link-local address of the device. Only 128-bit IPv6 link- local addresses shall be used for this attribute.

    NOTE

    Some companies may consider MAC Address to be protected data subject to PII handling considerations and will therefore choose not to include it or read it. The MAC Address can often be determined using ARP in IPv4 or NDP in IPv6.

    MatterSpecification.v13.Cluster § 1.12.4.2

  • ReadonlymacAddress: OptionalFixedAttribute<string, any>

    Indicates the current MAC address of the device. Only 48-bit MAC Addresses shall be used for this attribute as required by the Wake on LAN protocol.

    Format of this attribute shall be an upper-case hex-encoded string representing the hex address, like 12345678ABCD.

    MatterSpecification.v13.Cluster § 1.12.4.1

base: undefined
commands: {}
events: {}
extensions: undefined
features: {}
id: Branded<1283, "ClusterId">
name
revision
supportedFeatures: {}
unknown

Methods

  • Modify elements using ElementModifier.set.

    Type Parameters

    • const ValuesT extends {
          linkLocalAddress?: {};
          macAddress?: string;
      }

    Parameters

    Returns WithValues<Of<{
        attributes: {
            linkLocalAddress: OptionalFixedAttribute<Uint8Array, any>;
            macAddress: OptionalFixedAttribute<string, any>;
        };
        id: 1283;
        name: "WakeOnLan";
        revision: 1;
    }>, ValuesT>