Service to remote control linux devices over MQTT.
pip install paho-mqtt- Copy
mqtt_agent.pyto/opt/mqtt_agent/mqtt_agent.py - Copy
mqtt_agent.serviceto/etc/systemd/system/mqtt_agent.service - Set your
UserandGroupinmqtt_agent.service sudo systemctl daemon-reloadsudo systemctl enable mqtt_agentsudo 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:

