8.4 KiB
Configuration Parameters Reference
Any information about this page goes here.
| logger | [] | |
| api | [] | |
esphome
============================================================================== ESP32-C3 SUPER MINI - CT RELAY CONTROLLER WITH OLED & ROTARY ENCODERS ============================================================================== UPDATED GPIO ASSIGNMENTS OVERVIEW: ------------------------------------------------------------------------------ GPIO 0 : Rotary Encoder 1 - Phase A (Current Threshold) GPIO 1 : Rotary Encoder 1 - Phase B (Current Threshold) GPIO 2 : Rotary Encoder 1 - Push Button (Toggle Display On/Off) GPIO 3 : Rotary Encoder 2 - Phase A (Off-Delay) GPIO 4 : CT Current Sensor (Analog Input ADC1_CH4) [MOVED FROM GPIO7] GPIO 7 : Rotary Encoder 2 - Phase B (Off-Delay) [MOVED FROM GPIO4] GPIO 5 : I2C - SCL (SH1106 Display) GPIO 6 : I2C - SDA (SH1106 Display) GPIO 8 : Relay Output (Active High) ==============================================================================
Member variables:
| Key | Value | Information |
|---|---|---|
name |
afzuiginglageweg |
esp32
Member variables:
| Key | Value | Information |
|---|---|---|
board |
esp32-c3-devkitm-1 |
|
variant |
esp32c3 |
preferences
Member variables:
| Key | Value | Information |
|---|---|---|
flash_write_interval |
1min |
ota
Member variables:
| Key | Value | Information |
|---|---|---|
platform |
esphome |
wifi
Member variables:
| Key | Value | Information |
|---|---|---|
ssid |
!secret wifi_ssid |
|
password |
!secret wifi_password |
|
manual_ip |
||
ap |
manual_ip
Member variables:
| Key | Value | Information |
|---|---|---|
static_ip |
192.168.1.173 |
|
gateway |
192.168.1.1 |
|
subnet |
255.255.255.0 |
|
dns1 |
192.168.1.1 |
ap
Member variables:
| Key | Value | Information |
|---|---|---|
ssid |
"CT-Relay Fallback AP" |
|
password |
!secret ap_password |
i2c
Member variables:
| Key | Value | Information |
|---|---|---|
sda |
GPIO6 |
|
scl |
GPIO5 |
|
scan |
true |
font
Member variables:
| Key | Value | Information |
|---|---|---|
file |
"gfonts://Roboto" |
|
id |
font_main |
|
size |
10 |
globals
Member variables:
| Key | Value | Information |
|---|---|---|
id |
current_threshold |
|
type |
float |
|
restore_value |
true |
|
initial_value |
'0.5' |
|
id |
off_delay_seconds |
|
type |
int |
|
restore_value |
true |
|
initial_value |
'5' |
|
id |
display_timeout_timer |
|
type |
int |
|
restore_value |
false |
|
initial_value |
'0' |
binary_sensor
Member variables:
| Key | Value | Information |
|---|---|---|
platform |
gpio |
|
pin |
||
id |
encoder_1_button |
|
name |
"Display Toggle Button" |
|
on_press |
||
id |
load_detected |
|
platform |
template |
|
name |
"Load Detected" |
|
lambda |
` | -` |
return id(ct_current).state >= id(current_threshold); |
||
on_state |
pin
Member variables:
| Key | Value | Information |
|---|---|---|
number |
GPIO2 |
|
mode |
INPUT_PULLUP |
on_press
Member variables:
| Key | Value | Information |
|---|---|---|
then |
then
Member variables:
| Key | Value | Information |
|---|---|---|
lambda |
` | -` |
id(display_timeout_timer) = 10; |
||
id(main_display).turn_on(); |
on_state
Member variables:
| Key | Value | Information |
|---|---|---|
then |
then
Member variables:
| Key | Value | Information |
|---|---|---|
if |
if
Member variables:
| Key | Value | Information |
|---|---|---|
condition |
||
then |
||
else |
condition
Member variables:
| Key | Value | Information |
|---|---|---|
binary_sensor.is_on |
load_detected |
then
Member variables:
| Key | Value | Information |
|---|---|---|
switch.turn_on |
relay_output |
|
script.stop |
delay_off_script |
else
Member variables:
| Key | Value | Information |
|---|---|---|
script.execute |
delay_off_script |
sensor
Member variables:
| Key | Value | Information |
|---|---|---|
# Current Transformer Reading on valid ADC Pin (GPIO4) |
||
platform |
ct_clamp |
|
sensor |
adc_sensor |
|
name |
"CT Measured Current" |
|
id |
ct_current |
|
update_interval |
500ms |
|
sample_duration |
200ms |
|
accuracy_decimals |
0 |
|
force_update |
true |
|
filters |
||
platform |
adc |
|
pin |
GPIO4 |
|
id |
adc_sensor |
|
attenuation |
12db |
|
# Rotary Encoder 1 |
Threshold Control |
|
platform |
rotary_encoder |
|
name |
"Threshold Setting" |
|
pin_a |
GPIO0 |
|
pin_b |
GPIO1 |
|
id |
encoder_threshold |
|
on_value |
||
# Rotary Encoder 2 |
Delay Control |
|
platform |
rotary_encoder |
|
name |
"Delay Setting" |
|
pin_a |
GPIO3 |
|
pin_b |
GPIO7 |
|
id |
encoder_delay |
|
on_value |
filters
Member variables:
| Key | Value | Information |
|---|---|---|
calibrate_linear |
['0.01 -> 0', '1 -> 1'] |
on_value
Member variables:
| Key | Value | Information |
|---|---|---|
then |
then
Member variables:
| Key | Value | Information |
|---|---|---|
lambda |
` | -` |
static int last_val = 0; |
||
int diff = x - last_val; |
||
last_val = x; |
||
id(current_threshold) += (diff * 0.1); |
||
if (id(current_threshold) < 0.0) id(current_threshold) = 0.0; |
||
id(display_timeout_timer) = 10; |
||
id(main_display).turn_on(); |
on_value
Member variables:
| Key | Value | Information |
|---|---|---|
then |
then
Member variables:
| Key | Value | Information |
|---|---|---|
lambda |
` | -` |
static int last_val = 0; |
||
int diff = x - last_val; |
||
last_val = x; |
||
id(off_delay_seconds) += diff; |
||
if (id(off_delay_seconds) < 0) id(off_delay_seconds) = 0; |
||
id(display_timeout_timer) = 10; |
||
id(main_display).turn_on(); |
switch
Member variables:
| Key | Value | Information |
|---|---|---|
platform |
gpio |
|
pin |
GPIO8 |
|
inverted |
true |
|
name |
"Relay Output" |
|
id |
relay_output |
script
Member variables:
| Key | Value | Information |
|---|---|---|
id |
delay_off_script |
|
mode |
restart |
|
then |
then
Member variables:
| Key | Value | Information |
|---|---|---|
delay |
!lambda "return id(off_delay_seconds) * 1000;" |
|
switch.turn_off |
relay_output |
display
Member variables:
| Key | Value | Information |
|---|---|---|
platform |
ssd1306_i2c |
|
model |
"SH1106 128x64" |
|
address |
0x3C |
|
id |
main_display |
|
update_interval |
0.1s |
|
lambda |
` | -` |
it.printf(0, 0, id(font_main), "Current |
%.2f A", id(ct_current).state); |
|
it.printf(0, 11, id(font_main), "Threshold |
%.1f A", id(current_threshold)); |
|
it.printf(0, 22, id(font_main), "Delay Set |
%d s", id(off_delay_seconds)); |
|
it.printf(0, 33, id(font_main), "Relay State |
%s", id(relay_output).state ? "ON" : "OFF"); |
|
it.printf(0, 44, id(font_main), "Delay |
%d s", id(display_timeout_timer)); |
interval
Member variables:
| Key | Value | Information |
|---|---|---|
interval |
1s |
|
then |
then
Member variables:
| Key | Value | Information |
|---|---|---|
lambda |
` | -` |
if (id(display_timeout_timer) > 0) { |
||
id(display_timeout_timer)--; |
||
if (id(display_timeout_timer) == 0) { |
||
id(main_display).turn_off(); |
||
} |
||
} |
Generated by yamldoc v0.4.1 on 2026-09-07