Service to remote control linux devices over MQTT.
pip install paho-mqtt
- Copy
mqtt_agent.py
to/opt/mqtt_agent/mqtt_agent.py
- Copy
mqtt_agent.service
to/etc/systemd/system/mqtt_agent.service
- Set your
User
andGroup
inmqtt_agent.service
sudo systemctl daemon-reload
sudo systemctl enable mqtt_agent
sudo systemctl start mqtt_agent
- Optional: for media keys install
xdotool
MQTT Commands are defined in mqtt_agent.py
:
actions = {
# (device, state) : command
# mqtt should look like:
# msg.topic = TOPIC/device
# msg.payload = state
# hardware
("monitor", "on") : "xrandr lorem ipsum",
("monitor", "off") : "xrandr lorem ipsum",
("laptop", "off") : "shutdown now",
# keys
("media", "pause") : "xdotool key XF86AudioPlay",
("media", "next") : "xdotool key XF86AudioNext",
("media", "last") : "xdotool key XF86AudioPrev",
("media", "mute") : "xdotool key XF86AudioMute",
("media", "lower") : "xdotool key XF86AudioLowerVolume",
("media", "raise") : "xdotool key XF86AudioRaiseVolume",
}
Just add a function, set payload and topic and direct everything to your mqtt node: