Crates.io | mbus-api |
lib.rs | mbus-api |
version | 0.3.5 |
source | src |
created_at | 2019-04-06 08:03:58.836131 |
updated_at | 2021-05-06 09:36:58.02357 |
description | A RESTful HTTP API exposing (wired) M-Bus functionality |
homepage | https://github.com/packom/mbus-api |
repository | https://github.com/packom/mbus-api |
max_upload_size | |
id | 126123 |
size | 247,679 |
mbus-api is an HTTP RESTful API designed to control a wired M-Bus. This repo includes:
A fully-featured server implementation for Linux, in Rust, can be found at https://github.com/packom/mbus-httpd.
The text below was automatically generated by the openapi-generator.
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
This client/server was generated by the [openapi-generator] (https://openapi-generator.tech) project. By using the OpenAPI-Spec from a remote server, you can easily generate a server stub.
To see how to make this your own, look here:
API version: 0.3.5
Build date: 2021-05-06T09:31:40.740451Z[Etc/UTC]
This autogenerated project defines an API crate openapi_client
which contains:
Api
trait defining the API in Rust.Client
type which implements Api
and issues HTTP requests for each operation.Api
method for each operation.It also contains an example server and client which make use of openapi_client
:
openapi_client
router, and supplies a trivial implementation of Api
which returns failure
for every operation.openapi_client
client by passing appropriate
arguments on the command line.You can use the example server and client as a basis for your own code. See below for more detail on implementing a server.
Run examples with:
cargo run --example <example-name>
To pass in arguments to the examples, put them after --
, for example:
cargo run --example client -- --help
To run the server, follow these simple steps:
cargo run --example server
To run a client, follow one of the following simple steps:
cargo run --example client Get
cargo run --example client GetMulti
cargo run --example client Hat
cargo run --example client HatOff
cargo run --example client HatOn
cargo run --example client MbusApi
cargo run --example client Scan
The examples can be run in HTTPS mode by passing in the flag --https
, for example:
cargo run --example server -- --https
This will use the keys/certificates from the examples directory. Note that the
server chain is signed with CN=localhost
.
The generated library has a few optional features that can be activated through Cargo.
server
client
conversions
See https://doc.rust-lang.org/cargo/reference/manifest.html#the-features-section for how to use features in your Cargo.toml
.
All URIs are relative to http://localhost
Method | HTTP request | Description |
---|---|---|
get | POST /mbus/get/{device}/{baudrate}/{address} | |
getMulti | POST /mbus/getMulti/{device}/{baudrate}/{address}/{maxframes} | |
hat | GET /mbus/hat | |
hatOff | POST /mbus/hat/off | |
hatOn | POST /mbus/hat/on | |
mbus_api | GET /mbus/api | |
scan | POST /mbus/scan/{device}/{baudrate} |
Endpoints do not require authorization.