moondeck-switchbot-wol
Wake your PC from the Steam Deck with a SwitchBot.
For MoonDeck, when Wake-on-LAN does not work. And the PC logs in on its own, but only for the Deck.
Install | How to use | Report a bug
Install
You need a SwitchBot Bot on the power button, and a SwitchBot hub with Cloud Services on for the Bot.
Steam Deck
In Desktop Mode, open Konsole:
curl -fsSL https://raw.githubusercontent.com/Felitendo/moondeck-switchbot-wol/main/install.sh | bash
PC that gets woken
git clone https://github.com/Felitendo/moondeck-switchbot-wol.git
cd moondeck-switchbot-wol
make && sudo make install
Optional: msgfmt for translations, scdoc for the man page.
How to use
On the PC:
moondeck-switchbot-wol host
Press 1 to turn the login trigger on, then 2 to pair with the Deck. Say yes to the SwitchBot question, and the Deck gets everything from the PC.
On the Deck, the installer opens the menu. Later it is ~/.local/bin/moondeck-switchbot-wol.
Press 1 and pick Pair with the PC. The PC finds the Deck on its own, and both show the same code. Press y on both.
Then switch to Game Mode. MoonDeck wakes your PC ✨just like that✨.
More
How it works
| Wake-up | MoonDeck runs this instead of sending a magic packet. It asks the SwitchBot cloud to press the button. |
| MoonDeck | enable sets it up for you: this program, one wake-up only (a second press turns the PC off), and 3 minutes to boot. disable puts back what was there. |
| Pairing | The PC looks for the Deck on its network. The code on both comes from a key they share, so you know they found each other. What the PC sends is encrypted with it. |
| Login | The Deck proves that it woke the PC, with the secret from pairing. On a wake-up, the secret never goes over the network. The PC logs you in once. Switched on by hand, it still asks for the password. |
| Address | The Deck uses the address MoonDeck has for the PC, so a new one from your router changes nothing. |
| Push | Optional: a push through ntfy once the PC is ready to stream. |
The login works with Plasma Login and SDDM.
Commands
moondeck-switchbot-wol |
The menu on the Deck |
… enable |
Let MoonDeck use the SwitchBot |
… disable |
Give MoonDeck its Wake-on-LAN back |
… pair [CODE] |
Pair with the PC, or paste its code |
… press |
Press the button now |
… log |
The last wake-ups |
moondeck-switchbot-wol host |
The menu on the PC |
… host enable |
Turn the login trigger on |
… host disable |
Turn it off |
… host pair |
Find the Deck and pair with it |
… host code |
A pairing code, for when the PC cannot find the Deck |
Help
- The device list is empty. Pair the Bot with a hub and turn on Cloud Services for it in the SwitchBot app.
- The Bot clicks, but the PC stays off. Check that the arm reaches the button, and the battery.
- The PC does not find the Deck. Both have to be on the same network, and guest Wi-Fi often keeps devices apart. Pick Show a pairing code instead on the PC, and press c on the Deck to paste it.
- MoonDeck says the wake-up failed.
moondeck-switchbot-wol logsays why. - The PC stays at its login screen. The log on the Deck says what the PC answered.
journalctl -u 'moondeck-switchbot-wol-login@*'shows the PC's side. - A password window pops up after the login. Your keyring is unlocked with your password, and
nobody typed it. Remove the keyring's password, or start the app with
--password-store=basic.
Uninstall
On the Deck:
curl -fsSL https://raw.githubusercontent.com/Felitendo/moondeck-switchbot-wol/main/install.sh | bash -s -- --uninstall
On the PC: sudo moondeck-switchbot-wol host disable, then sudo make uninstall.
GPL-3.0-or-later.



