6#ifdef USE_BINARY_SENSOR
33static constexpr uint8_t MAX_LINE_LENGTH = 80;
34static constexpr uint8_t MAX_COMMAND_LENGTH = 40;
35static constexpr uint8_t MAX_RESPONSE_VALUES = 3;
101#ifdef USE_BINARY_SENSOR
102 SUB_BINARY_SENSOR(has_target)
105 SUB_SENSOR(target_distance)
106 SUB_SENSOR(target_speed)
107 SUB_SENSOR(target_energy)
109#ifdef USE_TEXT_SENSOR
110 SUB_TEXT_SENSOR(version)
111 SUB_TEXT_SENSOR(hardware_version)
114 SUB_SELECT(out_pin_level)
117 SUB_BUTTON(factory_reset)
125 void setup()
override;
126 void loop()
override;
127 void dump_config()
override;
138 void control_out_pin_level(
size_t index);
143 void factory_reset();
183 std::array<number::Number *, NUMBER_COUNT>
numbers_{};
187 std::array<switch_::Switch *, SWITCH_COUNT>
switches_{};
BedjetMode mode
BedJet operating mode.
Helper class to deduplicate items in a series of values.
void log_bad_frame_(const LogString *problem, const char *line)
char command_[MAX_COMMAND_LENGTH]
std::array< switch_::Switch *, SWITCH_COUNT > switches_
void publish_switch_(SwitchSetting setting, bool state)
void handle_frame_(char *line)
bool build_command_(Operation operation, Param param)
void parse_response_(const char *args)
std::array< bool, SWITCH_COUNT > switch_states_
float response_[MAX_RESPONSE_VALUES]
void forget_number_changes_(Param param, bool unknown)
uint16_t deferred_writes_
bool apply_read_(Param param)
char line_[MAX_LINE_LENGTH]
Deduplicator< float > energy_dedup_
bool is_aux_operation_() const
void hold_(uint32_t duration_ms)
uint16_t wanted_reads_() const
void queue_configuration_()
std::array< float, NUMBER_COUNT > number_values_
uint16_t changed_numbers_
void publish_number_(NumberSetting setting, float value)
void readline_(uint8_t c)
void request_write_(Param param)
std::array< number::Number *, NUMBER_COUNT > numbers_
bool factory_reset_pending_
Deduplicator< float > distance_dedup_
void check_frames_(uint32_t now)
void handle_line_(char *line)
void publish_target_(float distance, float speed, float energy)
Deduplicator< float > speed_dedup_
Base-class for all numbers.
Base class for all switches.
NumberSetting
Settings shown as number entities.
@ NUMBER_THRESHOLD_FACTOR
@ NUMBER_HOLD_SENSITIVITY
@ NUMBER_TRIGGER_SENSITIVITY
Param
Module parameters; a write or read of each is one command. Pending work runs in this order.
@ RUN_MODE_SPEED_AND_DISTANCE
@ OPERATION_FACTORY_RESET
SwitchSetting
Settings shown as switch entities.