-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathesp-pump-r2-mqtt.yaml
103 lines (90 loc) · 2.66 KB
/
esp-pump-r2-mqtt.yaml
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
# Константы для удобства настроек.
substitutions:
name: esp-pump-r2
friendly_name: pump-r2
project: Sonoff Mini R2
sensor_gpio: GPIO04 #
relay_gpio: GPIO12
prefix: "esphome/${name}"
# Описание платы, в моём реле стоит esp8285.
esphome:
name: ${name}
platform: ESP8266
board: esp8285
# Отключаем сторожевой таймер, чтобы контроллер
# реле не перезапускадся каждые 15 минут из-за того,
# что нет подключений по API
api:
reboot_timeout: 0s
# Чтобы обновлять прошивку по воздуху.
ota:
password: "ваш_пароль_ota"
# Подключение к Wi-Fi
wifi:
ssid: "WB-LAB"
password: "ваш_пароль_wifi"
ap:
ssid: Fallback ${name}
password: "ваш_пароль_резервная_точка_доступа"
# Если не получится подключиться к Wi-Fi,
# то поднять свой веб-интерфейс с логином
# и паролем указанным выше в разделе «ap:».
captive_portal:
# Подключение к MQTT
mqtt:
broker: wirenboard-ascmdm6q.local
port: 1883
username: ''
password: ''
discovery: false
id: mqtt_client
topic_prefix: "${prefix}"
# Сообщения с текущим статусом устройства
birth_message:
topic: "${prefix}/text_sensor/status/state"
payload: online
will_message:
topic: "${prefix}/text_sensor/status/state"
payload: offline
shutdown_message :
topic: "${prefix}/text_sensor/status/state"
payload: shutdown
# Датчик расхода воды
sensor:
- platform: wifi_signal
name: "WiFi Signal"
update_interval: 60s
- platform: uptime
name: "Uptime"
update_interval: 5s
- platform: pulse_counter
name: "Flow Sensor"
id: flow_sensor
pin:
number: $sensor_gpio
mode: INPUT_PULLUP
unit_of_measurement: "impulses"
update_interval: 500ms
# Если датчик расхода присылает больше 100 имульсов,
# то включаем реле, иначе — выключаем.
on_value:
if:
condition:
sensor.in_range:
id: flow_sensor
above: 100.0
then:
- output.turn_on: pump_relay
else:
- output.turn_off: pump_relay
# Состояние выхода реле, для MQTT
binary_sensor:
- platform: gpio
pin: $relay_gpio
name: "State"
id: pump_state
# Выход реле
output:
- platform: gpio
id: pump_relay
pin: $relay_gpio