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

Internal helpers shared by the hub implementation .cpp files. More...

#include "hub_core.h"
#include "log_frame.h"
#include "esphome/core/log.h"
#include <cstdio>
Include dependency graph for hub_internal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

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

Functions

void esphome::home_io_control::detail::clear_status_poll_tracking (IoDevice &dev)
 Clear all bounded follow-up polling state for a device.
bool esphome::home_io_control::detail::status_poll_tracking_active (const IoDevice &dev, uint32_t now)
 Check whether a device remains inside its bounded follow-up polling window.
bool esphome::home_io_control::detail::is_binary_entity_position (uint8_t position)
 Is the given position value an on/off binary encoding?
bool esphome::home_io_control::detail::known_device_matches_entity_class (const IoDevice &dev, DeviceCapabilityClass expected)
 Does the device's type match the expected HA entity class?
bool esphome::home_io_control::detail::known_device_supports_status_requests (const IoDevice &dev)
 Does the device support status requests?
bool esphome::home_io_control::detail::known_device_accepts_execute_position (const IoDevice &dev, uint8_t position)
 Can this device accept an execute (position) command?
bool esphome::home_io_control::detail::known_device_accepts_execute_tilt (const IoDevice &dev)
 Can this device accept a tilt command?
uint32_t esphome::home_io_control::detail::status_poll_retry_delay_ms (uint8_t consecutive_failures, bool auth_like_failure)
 Compute the next background status-poll retry delay after a failed exchange.
void esphome::home_io_control::detail::log_rejected_operation (const std::string &device_id, const IoDevice &dev, const char *operation, const char *expected)
 Log a rejected operation with capability mismatch details.
void esphome::home_io_control::detail::log_component_capture (const RadioDriver *radio, const char *stage, const uint8_t *buf, uint8_t len, const IoFrame *frame=nullptr)
 Log a frame at the "io_capture" tag with structured fields.
void esphome::home_io_control::detail::log_frame_issue (IOHomeControlComponent *component, const char *direction, const char *reason, const IoFrame &frame, uint8_t len)
 Log a frame‑level issue (unregistered endpoints, unsupported commands).
void esphome::home_io_control::detail::normalize_stopped_state (IoDevice &dev)
 Normalize stopped state: some devices briefly report stopped before target/current converge.
void esphome::home_io_control::detail::log_status_update (const std::string &id, const IoDevice &dev, const char *suffix="")
 Log a concise status‑update line used by inbound handlers.

Variables

constexpr const char * esphome::home_io_control::detail::TAG = "home_io_control"
 Shared log tag for hub-level messages.
constexpr uint32_t esphome::home_io_control::detail::STATUS_RETRY_AFTER_FAIL_MS = 5000
 First retry after a silent status-poll failure.
constexpr uint32_t esphome::home_io_control::detail::STATUS_RETRY_AFTER_FAIL_STEP2_MS
 Second retry after a silent status-poll failure.
constexpr uint32_t esphome::home_io_control::detail::STATUS_RETRY_AFTER_FAIL_STEP3_MS
 Third retry after a silent status-poll failure.
constexpr uint32_t esphome::home_io_control::detail::STATUS_RETRY_AFTER_FAIL_STEP4_MS
 Fourth retry after a silent status-poll failure.
constexpr uint32_t esphome::home_io_control::detail::STATUS_RETRY_AFTER_FAIL_MAX_MS
 Steady-state backoff for repeated silent status-poll failures.
constexpr uint32_t esphome::home_io_control::detail::STATUS_AUTH_RETRY_AFTER_FAIL_MS
 First retry after a challenge-seen auth-like failure.
constexpr uint32_t esphome::home_io_control::detail::STATUS_AUTH_RETRY_AFTER_FAIL_STEP2_MS
 Second retry after a challenge-seen auth-like failure.
constexpr uint32_t esphome::home_io_control::detail::STATUS_AUTH_RETRY_AFTER_FAIL_MAX_MS
 Steady-state backoff after repeated auth-like failures.
constexpr uint32_t esphome::home_io_control::detail::INITIAL_STATUS_REQUEST_DELAY_MS
 Delay before the first post-boot status request from an entity.
constexpr uint32_t esphome::home_io_control::detail::REMOTE_ACTIVITY_STATUS_POLL_DELAY_MS
 Delay before polling after overheard remote traffic.
constexpr uint32_t esphome::home_io_control::detail::MAX_TRACKED_STATUS_POLL_WINDOW_MS
 Hard stop for follow-up polling after a command or remote activity.
constexpr uint32_t esphome::home_io_control::detail::PAIRING_DISCOVERY_RESPONSE_TIMEOUT_MS = 2000
 Discovery wait window after sending 0x28.
constexpr uint32_t esphome::home_io_control::detail::PAIRING_KEY_CHALLENGE_TIMEOUT_MS = 500
 Wait window for the device's 0x3C challenge.
constexpr float esphome::home_io_control::detail::BINARY_ENTITY_ON_POSITION_THRESHOLD
 Shared 0-100 cutoff: values below this mean binary "on".
constexpr uint8_t esphome::home_io_control::detail::BINARY_ENTITY_ON_POSITION = 0
constexpr uint8_t esphome::home_io_control::detail::BINARY_ENTITY_OFF_POSITION = 100

Detailed Description

Internal helpers shared by the hub implementation .cpp files.

This header is intentionally private to the component implementation. It keeps small cross-file helpers in one place while leaving hub_core.h focused on the public component shape and the member-function declarations.

Definition in file hub_internal.h.