Home IO Control
ESPHome add-on for IO-Homecontrol devices
Loading...
Searching...
No Matches
management_actions.cpp File Reference

Hub-level management actions such as device rename, identify, and force-open. More...

#include "management_actions.h"
#include "hub_internal.h"
#include "proto_commands.h"
#include <algorithm>
#include <array>
#include <cctype>
#include <cstdio>
#include <cstring>
#include <functional>
#include <map>
#include <vector>
Include dependency graph for management_actions.cpp:

Go to the source code of this file.

Namespaces

namespace  esphome
namespace  esphome::home_io_control
namespace  esphome::home_io_control::detail

Enumerations

enum class  esphome::home_io_control::ScanAddResult : uint8_t { esphome::home_io_control::ADDED , esphome::home_io_control::DUPLICATE , esphome::home_io_control::FULL }
 Outcome of add_scan_responder(), so callers can tell a harmless repeat from real loss. More...

Functions

static std::string esphome::home_io_control::normalize_device_id_argument (const std::string &device_id)
static std::string esphome::home_io_control::bool_to_string (bool value)
static std::string esphome::home_io_control::format_result_code (uint8_t result_code)
static ManagementActionResult esphome::home_io_control::make_management_result (const std::string &action, const std::string &device_id)
static void esphome::home_io_control::log_multiline_result (const char *tag, bool is_warning, const std::string &prefix, const std::string &message)
 Log prefix followed by message, one line per log call rather than one call for the whole (possibly multi-line) string.
static bool esphome::home_io_control::apply_error_response (const IoFrame &response, ManagementActionResult &result)
 Decode a CMD_ERROR_RESP frame's result code into result.
static std::string esphome::home_io_control::format_scan_reply_line (const ScanResponder &responder, const std::string &device_id, bool known)
 Format one roll-call responder's report line(s).
static ScanAddResult esphome::home_io_control::add_scan_responder (ScanResponder *responders, uint8_t &count, uint8_t capacity, const IoFrame &frame, int16_t rssi_dbm)
 Record a responder unless its address is already present.

Detailed Description

Hub-level management actions such as device rename, identify, and force-open.

This file owns advanced management operations that are not part of the normal entity surface. Operations are exposed as ESPHome native API actions so Home Assistant can trigger them without adding always-visible helper entities. All actions share one API service descriptor (detail::ManagementServiceDescriptor); adding a new action is a registration call, not a new descriptor class.

Definition in file management_actions.cpp.