forked from athom-tech/athom-configs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
athom-rgbww-light.yaml
143 lines (123 loc) · 3.26 KB
/
athom-rgbww-light.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
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
substitutions:
name: "athom-rgbww-light"
friendly_name: "Athom RGBWW Light"
project_name: "athom.rgbww-light"
project_version: "1.1"
light_restore_mode: RESTORE_DEFAULT_ON
color_interlock: 'true'
globals:
- id: fast_boot
type: int
restore_value: yes
initial_value: '0'
esphome:
name: "${name}"
name_add_mac_suffix: true
project:
name: "${project_name}"
version: "${project_version}"
on_boot:
then:
- script.execute: fast_boot_script
esp8266:
board: esp8285
restore_from_flash: true
preferences:
flash_write_interval: 1min
api:
ota:
logger:
mdns:
disabled: false
web_server:
port: 80
wifi:
ap: {} # This spawns an AP with the device name and mac address with no password.
captive_portal:
dashboard_import:
package_import_url: github://athom-tech/athom-configs/athom-rgbww-light.yaml
binary_sensor:
- platform: status
name: "${friendly_name} Status"
sensor:
- platform: uptime
name: "${friendly_name} Uptime"
button:
- platform: factory_reset
name: Restart with Factory Default Settings
id: Reset
output:
- platform: esp8266_pwm
id: red_output
pin: GPIO4
min_power: 0.000499
max_power: 1
- platform: esp8266_pwm
id: green_output
pin: GPIO12
min_power: 0.000499
max_power: 1
- platform: esp8266_pwm
id: blue_output
pin: GPIO14
min_power: 0.000499
max_power: 1
- platform: esp8266_pwm
id: warm_white_output
pin: GPIO13
min_power: 0.000499
max_power: 1
- platform: esp8266_pwm
id: white_output
pin: GPIO5
min_power: 0.000499
max_power: 1
light:
- platform: rgbww
id: rgbww_light
name: "${friendly_name}"
restore_mode: ${light_restore_mode}
red: red_output
green: green_output
blue: blue_output
warm_white: warm_white_output
cold_white: white_output
cold_white_color_temperature: 6000 K
warm_white_color_temperature: 3000 K
color_interlock: ${color_interlock}
text_sensor:
- platform: wifi_info
ip_address:
name: "${friendly_name} IP Address"
disabled_by_default: true
script:
- id: fast_boot_script
then:
- if:
condition:
lambda: return ( id(fast_boot) >= 3 );
then:
- lambda: |-
ESP_LOGD("athom-rgbww-light.yaml", "Now the counter is greater than or equal to 3, perform reset device and reboot");
id(fast_boot) = 0;
fast_boot->loop();
global_preferences->sync();
auto call = id(rgbww_light).turn_on();
call.set_transition_length(500);
call.set_brightness(1.0);
call.set_color_mode(ColorMode::RGB);
call.set_rgb(0.0, 0.0, 1.0);
call.perform();
- delay: 5s
- button.press: Reset
- lambda: |-
id(fast_boot) += 1;
fast_boot->loop();
global_preferences->sync();
ESP_LOGD("athom-rgbww-light.yaml", "Now the counter is %d. Reset the device when the counter is greater than or equal to 3", id(fast_boot));
- delay: 10s
- lambda: |-
ESP_LOGD("athom-rgbww-light.yaml", "Reset counter");
id(fast_boot) = 0;
fast_boot->loop();
global_preferences->sync();