M-Bus HTTPD API icon

M-Bus HTTPD API

Connect to M-Bus HTTPD API with 1 MCP tools for AI-powered API automation.

COMMUNITYNO AUTH0 INSTALLS
OpenAPI Specificationv3.0
{
  "openapi": "3.0.3",
  "servers": [
    {
      "url": "http://mbus.local"
    },
    {
      "url": "/"
    }
  ],
  "info": {
    "title": "M-Bus HTTPD API",
    "version": "0.3.5",
    "x-apisguru-categories": [
      "iot"
    ],
    "x-origin": [
      {
        "format": "openapi",
        "url": "https://raw.githubusercontent.com/packom/mbus-api/master/api/openapi.yaml",
        "version": "3.0"
      }
    ],
    "x-providerName": "mbus.local",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_apis.guru_assets_images_no-logo.svg"
    }
  },
  "paths": {
    "/mbus/api": {
      "get": {
        "description": "Returns this API specification",
        "operationId": "mbus_api",
        "responses": {
          "200": {
            "content": {
              "text/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/yaml"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "text/plain": {
                "example": "File not found",
                "schema": {
                  "$ref": "#/components/schemas/textError"
                }
              }
            },
            "description": "Not found"
          }
        }
      }
    },
    "/mbus/get/{device}/{baudrate}/{address}": {
      "post": {
        "description": "Gets data from the slave identified by {address}",
        "operationId": "get",
        "parameters": [
          {
            "description": "The serial device to scan - /dev/ is pre-pended to {device} by M-Bus HTTPD before scanning",
            "example": "ttyAMA0",
            "explode": false,
            "in": "path",
            "name": "device",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/device"
            },
            "style": "simple"
          },
          {
            "description": "Baudrate to communicate with M-Bus devices",
            "example": 2400,
            "explode": false,
            "in": "path",
            "name": "baudrate",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/baudrate"
            },
            "style": "simple"
          },
          {
            "description": "The slave device to get data from",
            "example": 48,
            "explode": false,
            "in": "path",
            "name": "address",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/address"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/mbusData"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "text/plain": {
                "example": "Baudrate {baudrate} is invalid",
                "schema": {
                  "$ref": "#/components/schemas/textError"
                }
              }
            },
            "description": "Bad request"
          },
          "404": {
            "content": {
              "text/plain": {
                "example": "Slave {address} not responding",
                "schema": {
                  "$ref": "#/components/schemas/textError"
                }
              }
            },
            "description": "Not found (or M-Bus HTTPD is unauthorized to access it, or to change baud rate to that specified, etc)"
          }
        }
      }
    },
    "/mbus/getMulti/{device}/{baudrate}/{address}/{maxframes}": {
      "post": {
        "description": "Gets data from the slave identified by {address}, and supports multiple responses from the slave",
        "operationId": "getMulti",
        "parameters": [
          {
            "description": "The serial device to scan - /dev/ is pre-pended to {device} by M-Bus HTTPD before scanning",
            "example": "ttyAMA0",
            "explode": false,
            "in": "path",
            "name": "device",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/device"
            },
            "style": "simple"
          },
          {
            "description": "Baudrate to communicate with M-Bus devices",
            "example": 2400,
            "explode": false,
            "in": "path",
            "name": "baudrate",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/baudrate"
            },
            "style": "simple"
          },
          {
            "description": "The slave device to get data from",
            "example": 48,
            "explode": false,
            "in": "path",
            "name": "address",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/address"
            },
            "style": "simple"
          },
          {
            "description": "The slave device to get data from",
            "example": 16,
            "explode": false,
            "in": "path",
            "name": "maxframes",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/maxframes"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/mbusData"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "text/plain": {
                "example": "Baudrate {baudrate} is invalid",
                "schema": {
                  "$ref": "#/components/schemas/textError"
                }
              }
            },
            "description": "Bad request"
          },
          "404": {
            "content": {
              "text/plain": {
                "example": "Slave {address} not responding",
                "schema": {
                  "$ref": "#/components/schemas/textError"
                }
              }
            },
            "description": "Not found (or M-Bus HTTPD is unauthorized to access it, or to change baud rate to that specified, etc)"
          }
        }
      }
    },
    "/mbus/hat": {
      "get": {
        "description": "Gets Raspberry Pi Hat information",
        "operationId": "hat",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/hat"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "text/plain": {
                "example": "Hat information not found",
                "schema": {
                  "$ref": "#/components/schemas/textError"
                }
              }
            },
            "description": "Not found"
          }
        }
      }
    },
    "/mbus/hat/off": {
      "post": {
        "description": "Turns off power to the M-Bus",
        "operationId": "hatOff",
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "content": {
              "text/plain": {
                "example": "M-Bus Master Hat not installed",
                "schema": {
                  "$ref": "#/components/schemas/textError"
                }
              }
            },
            "description": "Not found"
          }
        }
      }
    },
    "/mbus/hat/on": {
      "post": {
        "description": "Turns on power to the M-Bus",
        "operationId": "hatOn",
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "content": {
              "text/plain": {
                "example": "M-Bus Master Hat not installed",
                "schema": {
                  "$ref": "#/components/schemas/textError"
                }
              }
            },
            "description": "Not found"
          }
        }
      }
    },
    "/mbus/scan/{device}/{baudrate}": {
      "post": {
        "description": "Scan the specified device for slaves",
        "operationId": "scan",
        "parameters": [
          {
            "description": "The serial device to scan - /dev/ is pre-pended to {device} by M-Bus HTTPD before scanning",
            "example": "ttyAMA0",
            "explode": false,
            "in": "path",
            "name": "device",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/device"
            },
            "style": "simple"
          },
          {
            "description": "Baudrate to communicate with M-Bus devices",
            "example": 2400,
            "explode": false,
            "in": "path",
            "name": "baudrate",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/baudrate"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/plain": {
                "example": "Found a M-Bus device at address 1",
                "schema": {
                  "$ref": "#/components/schemas/slaves"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "text/plain": {
                "example": "Baudrate {baudrate} is invalid",
                "schema": {
                  "$ref": "#/components/schemas/textError"
                }
              }
            },
            "description": "Bad request"
          },
          "404": {
            "content": {
              "text/plain": {
                "example": "Device /dev/{device} does not exist",
                "schema": {
                  "$ref": "#/components/schemas/textError"
                }
              }
            },
            "description": "Not found (e.g. device not found, or M-Bus HTTPD is unauthorized to access it, or to change baud rate to that specified, device not responding etc)"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "address": {
        "description": "Slave address (primary or secondary)",
        "example": "48",
        "format": "string",
        "maxLength": 16,
        "minLength": 1,
        "type": "string"
      },
      "baudrate": {
        "description": "Baudrate to use for the communication - valid values 300, 600, 1200, 2400, 4800, 9600",
        "enum": [
          300,
          600,
          1200,
          2400,
          4800,
          9600
        ],
        "example": 2400,
        "format": "int32",
        "type": "integer"
      },
      "device": {
        "description": "The device the M-Bus is connected to - /dev/ is prepended to {device} by M-Bus HTTPD",
        "example": "ttyAMA0",
        "type": "string"
      },
      "hat": {
        "description": "Raspberry Pi Hat Information",
        "example": {
          "addr": 30,
          "enabled": true,
          "index": 1
        },
        "properties": {
          "product": {
            "description": "Product",
            "example": "M-Bus Master",
            "type": "string"
          },
          "productId": {
            "description": "Product ID",
            "example": 1,
            "type": "string"
          },
          "productVer": {
            "description": "Product Version",
            "example": 2,
            "type": "string"
          },
          "uuid": {
            "description": "Hat UUID",
            "example": "148fa981-a33b-a07a-a13f-a2405d08e0fe",
            "type": "string"
          },
          "vendor": {
            "description": "Hat Vendor",
            "example": "packom.net",
            "type": "string"
          }
        }
      },
      "maxframes": {
        "description": "Max frames to listen for",
        "example": 16,
        "format": "int32",
        "maximum": 250,
        "minimum": 1,
        "type": "integer"
      },
      "mbusData": {
        "description": "M-Bus device data as an XML document",
        "example": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>...",
        "type": "string"
      },
      "slaves": {
        "description": "Output of libmbus scan command",
        "example": "Found a M-Bus device at address 1",
        "type": "string"
      },
      "textError": {
        "description": "Some error text",
        "example": "Device /dev/{device} does not exist",
        "type": "string"
      },
      "yaml": {
        "description": "A YAML file",
        "example": "A YAML file",
        "type": "string"
      }
    }
  }
}