10 个版本 (4 个稳定版本)
新版本 1.2.0 | 2024年8月23日 |
---|---|
1.1.1 | 2024年8月12日 |
1.0.1 | 2024年6月27日 |
0.2.3 | 2024年6月27日 |
0.1.6 | 2024年6月4日 |
#2275 在 编码 分类中
每月 198 次下载
5KB
Energyleaf Proto - Rust
包含与 energyleaf 后端交互的 protobuf 文件。
安装
安装 energyleaf-proto
cargo add energyleaf-proto
协议
syntax = "proto3";
package energyleaf;
enum SensorType {
ANALOG_ELECTRICITY = 0;
DIGITAL_ELECTRICITY = 1;
GAS = 2;
WATER = 3;
}
message TokenRequest {
string client_id = 1;
SensorType type = 2;
optional bool need_script = 3;
}
message TokenResponse {
optional string access_token = 1;
optional uint32 expires_in =
2; // in seconds (look documentation for correct value)
uint32 status = 3; // In range of 200-299 correct, else bad
optional string status_message = 4;
optional string script = 5;
optional uint32 analog_rotation_per_kwh = 6;
}
message SensorDataRequest {
string access_token = 1;
SensorType type = 2;
double value = 3; // kWh total
optional double value_current = 4; // W currently
optional double value_out = 5; // kWh total out (e.g. pv)
optional uint64 timestamp = 6;
}
message SensorDataResponse {
uint32 status = 1; // In range of 200-299 correct, else bad
optional string status_message = 2;
}
message ScriptAcceptedRequest { string access_token = 1; }
message ScriptAcceptedResponse {
uint32 status = 1;
optional string status_message = 2;
}
依赖
~0.2–2MB
~27K SLoC