Skip to content

schneebonus/MQTT-Python-Remote

Repository files navigation

MQTT-Python-Remote

Service to remote control linux devices over MQTT.

Install

  • 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 and Group in mqtt_agent.service
  • sudo systemctl daemon-reload
  • sudo systemctl enable mqtt_agent
  • sudo systemctl start mqtt_agent
  • Optional: for media keys install xdotool

Change MQTT commands

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",
}

Node-RED integration

Just add a function, set payload and topic and direct everything to your mqtt node:

nodered integration

nodered_alexa integration

Credits

About

MQTT service to remote control my laptops

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages