aboutsummaryrefslogtreecommitdiff

Kiki's Dispatch Service

A Webhook & MQTT dispatch server.

TODO:

  • variable substitution.
  • MQTT triggers.
  • time triggers?

Config

For example,

{
  "rules": {
    "update Catbus UI": {
      "triggers": [
        {
          "url": "/gitolite-repo-updated",
          "formValues": {
            "repo": "catbus-web-ui"
          }
        }
      ],
      "actions": [
        {
          "url": "https://build.eth.moe/deploy",
          "formValues": {
            "project": "catbus-web-ui"
          }
        }
      ]
    },
    "turn lights on": {
      "triggers": [
        {
          "url": "/living-room/lights-on",
          "formValues": {
            "power": "on"
          }
        },
        {
          "schedule": "20:00 daily"
        }
      ],
      "actions": [
        {
          "mqtt": "tcp://catbus.eth.moe/home/living-room/sofa-light/power",
          "value": "on"
        },
        {
          "mqtt": "tcp://catbus.eth.moe/home/living-room/front-light/power",
          "value": "on"
        }
      ]
    }
  }
}