blob: c8e372273822f35c9e100538067673c91175b6f2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
substitutions:
device_name: powerplug-awp07l
friendly_name: "Power Plug AWP07L"
#current_resistor: 0.001
#voltage_divider: 1886
current_resistor: 0.000995585395670478
voltage_divider: 1913.830752419618
current_multiply: 0.8667070272988949
# max power is 3450W for 15A and 2300W for 10A
max_power: "2300"
esphome:
name: ${device_name}
friendly_name: ${friendly_name}
esp8266:
board: esp01_1m
# Enable logging
logger:
# make RXD / TXD available
baud_rate: 0
# Enable Home Assistant API
api:
encryption:
key: !secret api_encryption_key
# OTA
ota:
- platform: esphome
password: !secret ota_password
# WiFi Credentials
wifi:
domain: .lan
ssid: !secret wifi_ssid
password: !secret wifi_password
# see https://github.com/esphome/issues/issues/1532
power_save_mode: HIGH
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "${device_name} Hotspot"
password: !secret wifi_ap_password
captive_portal:
binary_sensor:
- platform: gpio
name: "Button"
device_class: power
pin:
number: GPIO13
inverted: true
on_press:
- switch.toggle: relay
internal: true
sensor:
- platform: hlw8012
model: BL0937
sel_pin:
number: GPIO12
inverted: true
cf_pin: GPIO5
cf1_pin: GPIO14
current_resistor: ${current_resistor}
voltage_divider: ${voltage_divider}
current:
name: "Current"
unit_of_measurement: "A"
accuracy_decimals: 3
icon: "mdi:flash-outline"
filters:
- multiply: ${current_multiply}
- throttle_with_priority:
timeout: 10s
value:
- nan
- 0
voltage:
name: "Voltage"
unit_of_measurement: "V"
icon: "mdi:flash-outline"
filters:
- throttle_with_priority:
timeout: 10s
value:
- nan
- 0
power:
name: "Power"
unit_of_measurement: "W"
icon: "mdi:flash-outline"
filters:
- throttle_with_priority:
timeout: 10s
value:
- nan
- 0
on_value_range:
- above: ${max_power}
then:
- switch.turn_off: relay
- output.turn_off: led
energy:
name: "Energy"
unit_of_measurement: "Wh"
icon: "mdi:flash-outline"
update_interval: 1s
change_mode_every: 4
switch:
- platform: gpio
name: "Relay"
pin: GPIO15
id: relay
on_turn_on:
- output.turn_on: led
on_turn_off:
- output.turn_off: led
output:
- platform: esp8266_pwm
id: led
pin: GPIO0
inverted: true
- platform: gpio
id: unused_gpio1
pin:
number: GPIO1
mode: INPUT_PULLUP
- platform: gpio
id: unused_gpio2
pin:
number: GPIO2
mode: INPUT_PULLUP
- platform: gpio
id: unused_gpio3
pin:
number: GPIO3
mode: INPUT_PULLUP
- platform: gpio
id: unused_gpio4
pin:
number: GPIO4
mode: INPUT_PULLUP
- platform: gpio
id: unused_gpio16
pin:
number: GPIO16
mode: INPUT_PULLDOWN
|