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

Pending-operation queue with per-type coalescing and deduplication. More...

#include "proto_device_model.h"
#include <cstdint>
#include <deque>
#include <optional>
#include <string>
Include dependency graph for operation_queue.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  esphome::home_io_control::PendingOperation
 A single queued operation to be dispatched from loop(). More...
class  esphome::home_io_control::OperationQueue
 Serialized pending-operation queue with coalescing, deduplication, and two-band ordering. More...

Namespaces

namespace  esphome
namespace  esphome::home_io_control

Enumerations

enum class  esphome::home_io_control::PendingOperationType : uint8_t {
  esphome::home_io_control::SET_POSITION , esphome::home_io_control::SET_TILT , esphome::home_io_control::SET_POSITION_AND_TILT , esphome::home_io_control::DEVICE_COMMAND ,
  esphome::home_io_control::SET_LIGHT_STATE , esphome::home_io_control::SET_LOCK_STATE , esphome::home_io_control::SET_SWITCH_STATE , esphome::home_io_control::REQUEST_STATUS ,
  esphome::home_io_control::REQUEST_NAME , esphome::home_io_control::DISCOVER_AND_PAIR
}
 Discriminator for entries in the pending-operation deque. More...

Variables

static constexpr uint8_t esphome::home_io_control::BINARY_ENTITY_ON_POSITION = 0
 Position value written for binary ON commands (light on, switch on, lock unlock).
static constexpr uint8_t esphome::home_io_control::BINARY_ENTITY_OFF_POSITION = 100
 Position value written for binary OFF commands (light off, switch off, lock lock).

Detailed Description

Pending-operation queue with per-type coalescing and deduplication.

Owns the PendingOperationType / PendingOperation types and the coalescing rules applied when operations are enqueued. Pure data and logic — no ESPHome dependencies, fully host-testable.

Definition in file operation_queue.h.