forked from athom-tech/athom-configs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
athom-rgbct-light.yaml
145 lines (126 loc) · 3.35 KB
/
athom-rgbct-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
144
145
substitutions:
name: "athom-rgbct-light"
friendly_name: "Athom RGBCT Light"
project_name: "athom.rgbct-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-rgbct-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
zero_means_zero: true
- platform: esp8266_pwm
id: green_output
pin: GPIO12
min_power: 0.000499
max_power: 1
zero_means_zero: true
- platform: esp8266_pwm
id: blue_output
pin: GPIO14
min_power: 0.000499
max_power: 1
zero_means_zero: true
- platform: esp8266_pwm
id: white_output
pin: GPIO5
min_power: 0.01
max_power: 1
zero_means_zero: true
- platform: esp8266_pwm
id: ct_output
inverted: true
pin: GPIO13
light:
- platform: rgbct
id: rgbct_light
name: "${friendly_name}"
restore_mode: ${light_restore_mode}
red: red_output
green: green_output
blue: blue_output
white_brightness: white_output
color_temperature: ct_output
cold_white_color_temperature: 153 mireds
warm_white_color_temperature: 500 mireds
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-rgbct-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(rgbct_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-rgbct-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-rgbct-light.yaml", "Reset counter");
id(fast_boot) = 0;
fast_boot->loop();
global_preferences->sync();