API SDK: Wake-on-LAN via Gladys core

Context

External integrations are executed in an isolated Docker container. They can send a unicast Wake-on-LAN packet, but cannot broadcast a packet on the local network.

Problem

Some devices (in my case an LG webOS TV) no longer respond to unicast Wake-on-LAN after prolonged sleep, likely due to the expiration of the ARP entry.

Wake-on-LAN works perfectly in broadcast (`192.168.1.255`), but this broadcast cannot be sent from an external integration.

Proposal

Add an API in the SDK to request that the Gladys core send a Wake-on-LAN packet.

Example:


await gladys.network.wake({

  mac: '64:e4:a5:b4:88:74',

  address: '192.168.1.255', // optional

  port: 9,                  // optional

});

The Gladys core running in `network=host` can send the broadcast on the local network without the container’s limitations.

Use Cases

  • TV (LG webOS, Samsung, …)

  • PC / NAS

  • Servers

  • Any integration requiring reliable Wake-on-LAN