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