esphome-api-client 0.5.0
Modern C++17 client for the ESPHome native API (plaintext + Noise)
Loading...
Searching...
No Matches
device_info.hpp
Go to the documentation of this file.
1#pragma once
2
5
7
8#include <cstdint>
9#include <string>
10#include <vector>
11
12namespace esphome::api {
13
14namespace proto {
15class DeviceInfoResponse;
16} // namespace proto
17
24
27struct DeviceInfo {
28 std::string name;
29 std::string friendly_name;
30 std::string mac_address;
32 std::string esphome_version;
33 std::string compilation_time;
34 std::string model;
35 std::string manufacturer;
36 std::string project_name;
37 std::string project_version;
38 std::string suggested_area;
39 bool has_deep_sleep = false;
40 std::uint32_t webserver_port = 0;
42
45 std::uint32_t zwave_proxy_feature_flags = 0;
46 std::uint32_t zwave_home_id = 0;
47
49 std::vector<SerialProxyPortInfo> serial_proxies;
50
52 static DeviceInfo from_proto(const proto::DeviceInfoResponse& msg);
53};
54
55} // namespace esphome::api
Typed mirrors of the ESPHome protobuf enums.
Definition bytes.hpp:10
SerialProxyPortType
Mirror of proto enum SerialProxyPortType.
Definition enums.hpp:13
Ergonomic, copyable snapshot of a device's identity and capabilities, converted from the raw DeviceIn...
Definition device_info.hpp:27
std::string project_version
Definition device_info.hpp:37
bool has_deep_sleep
Definition device_info.hpp:39
std::uint32_t zwave_proxy_feature_flags
Definition device_info.hpp:45
std::string suggested_area
Definition device_info.hpp:38
std::string friendly_name
Definition device_info.hpp:29
std::string project_name
Definition device_info.hpp:36
static DeviceInfo from_proto(const proto::DeviceInfoResponse &msg)
Build a DeviceInfo from a decoded DeviceInfoResponse.
std::uint32_t bluetooth_proxy_feature_flags
Definition device_info.hpp:43
std::string model
Definition device_info.hpp:34
std::string bluetooth_mac_address
Definition device_info.hpp:31
std::string esphome_version
Definition device_info.hpp:32
std::string manufacturer
Definition device_info.hpp:35
std::uint32_t webserver_port
Definition device_info.hpp:40
bool api_encryption_supported
Definition device_info.hpp:41
std::string compilation_time
Definition device_info.hpp:33
std::uint32_t zwave_home_id
Definition device_info.hpp:46
std::vector< SerialProxyPortInfo > serial_proxies
Serial-proxy ports exposed by the device (index = instance).
Definition device_info.hpp:49
std::uint32_t voice_assistant_feature_flags
Definition device_info.hpp:44
std::string mac_address
Definition device_info.hpp:30
std::string name
Definition device_info.hpp:28
One serial-proxy port advertised by the device.
Definition device_info.hpp:20
SerialProxyPortType port_type
Definition device_info.hpp:22
std::string name
Definition device_info.hpp:21