差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
developmentboard:esphome_smart_light_bulb [2024/11/30 02:10] admindevelopmentboard:esphome_smart_light_bulb [2024/12/18 14:41] (当前版本) admin
行 30: 行 30:
  
 **Yaml File:** **Yaml File:**
 +
 +substitutions:
 +
 +name: "aiyato-rgbcw"
 +
 +friendly_name: "AiYaTo RGBCW"
 +
 +project_name: "doit.aiyato-rgbcw"
 +
 +project_version: "1.0.0"
 +
 +light_restore_mode: RESTORE_DEFAULT_ON
 +
 +color_interlock: 'true'
 +
 +esphome:
 +
 +name: "${name}"
 +
 +name_add_mac_suffix: true
 +
 +project:
 +
 +name: "${project_name}"
 +
 +version: "${project_version}"
 +
 +preferences:
 +
 +flash_write_interval: 1min
 +
 +esp8266:
 +
 +board: esp8285
 +
 +restore_from_flash: true
 +
 +globals:
 +
 +- id: my_global_mode
 +
 +type: bool
 +
 +restore_value: no
 +
 +initial_value: 'true'
 +
 +logger:
 +
 +api:
 +
 +ota:
 +
 +safe_mode: false
 +
 +wifi:
 +
 +ap: {}
 +
 +interval:
 +
 +- interval: 1s
 +
 +then:
 +
 +- lambda: |-
 +
 +static uint32_t cnt = 0;
 +
 +static int flag = 0;
 +
 +static ESPPreferenceObject pref = global_preferences→make_preference(23332500UL, true);
 +
 +if((flag == 1) && (network::is_connected( _FCKG_BLANK_TD_)) )
 +
 +{
 +
 +flag = 0;
 +
 +ESP.restart();
 +
 +}
 +
 +if(cnt == 0){
 +
 +cnt++;
 +
 +uint32_t val = 0;
 +
 +pref.load(&val);
 +
 +val+=1;
 +
 +pref.save(&val);
 +
 +global_preferences→sync();
 +
 +if(val >= 3){
 +
 +my_global_mode→value() = false;
 +
 +}
 +
 +}else if(cnt < 5){
 +
 +cnt++;
 +
 +if(cnt == 5){
 +
 +uint32_t val = 0;
 +
 +pref.save(&val);
 +
 +global_preferences→sync();
 +
 +}
 +
 +}
 +
 +if(!my_global_mode→value()){
 +
 +if(cnt == 1){
 +
 +char a[] = "000000";
 +
 +char b[] = "000000";
 +
 +wifi_wificomponent→clear_sta();
 +
 +wifi_wificomponent→save_wifi_sta(a, b);
 +
 +wifi::WiFiAP wifi_wifiap = wifi::WiFiAP();
 +
 +wifi_wificomponent→set_ap(wifi_wifiap);
 +
 +wifi_wificomponent→set_ap_timeout(5000);
 +
 +flag = 1;
 +
 +rgbww_rgbwwlightoutput→set_color_interlock(false);
 +
 +}
 +
 +static int state = 0;
 +
 +auto call = id(my_light).turn_on();
 +
 +call.set_transition_length(1000);
 +
 +call.set_brightness(1.0);
 +
 +if (state == 0) {
 +
 +call.set_rgb(1.0, 0.0, 0.0);
 +
 +call.set_cold_white(0.0);
 +
 +call.set_warm_white(0.0);
 +
 +} else if (state == 3) {
 +
 +call.set_rgb(0.0, 1.0, 0.0);
 +
 +} else if (state == 5) {
 +
 +call.set_rgb(0.0, 0.0, 1.0);
 +
 +} else if (state == 7) {
 +
 +call.set_color_brightness(0.0);
 +
 +call.set_cold_white(1.0);
 +
 +call.set_warm_white(0.0);
 +
 +} else if (state == 9) {
 +
 +call.set_cold_white(0.0);
 +
 +call.set_warm_white(1.0);
 +
 +} else if (state == 11) {
 +
 +call.set_color_brightness(1.0);
 +
 +call.set_rgb(0.0, 1.0, 0.0);
 +
 +call.set_cold_white(0.0);
 +
 +call.set_warm_white(0.0);
 +
 +}
 +
 +call.perform();
 +
 +state += 1;
 +
 +if (state == 12)
 +
 +{
 +
 +my_global_mode→value() = true;
 +
 +}
 +
 +}
 +
 +web_server:
 +
 +port: 80
 +
 +captive_portal:
 +
 +binary_sensor:
 +
 +- platform: status
 +
 +name: "${friendly_name} Status"
 +
 +sensor:
 +
 +- platform: uptime
 +
 +update_interval: 60s
 +
 +name: "${friendly_name} Uptime"
 +
 +button:
 +
 +- platform: restart
 +
 +name: "${friendly_name} Restart"
 +
 +output:
 +
 +- platform: esp8266_pwm
 +
 +id: red_output
 +
 +pin: GPIO12
 +
 +- platform: esp8266_pwm
 +
 +id: green_output
 +
 +pin: GPIO14
 +
 +- platform: esp8266_pwm
 +
 +id: blue_output
 +
 +pin: GPIO5
 +
 +- platform: esp8266_pwm
 +
 +id: cold_white_output
 +
 +pin: GPIO4
 +
 +- platform: esp8266_pwm
 +
 +id: warm_white_output
 +
 +pin: GPIO13
 +
 +light:
 +
 +- platform: rgbww
 +
 +name: "${friendly_name}"
 +
 +restore_mode: "${light_restore_mode}"
 +
 +red: red_output
 +
 +green: green_output
 +
 +blue: blue_output
 +
 +cold_white: cold_white_output
 +
 +warm_white: warm_white_output
 +
 +cold_white_color_temperature: 6000 K
 +
 +warm_white_color_temperature: 3000 K
 +
 +color_interlock: "${color_interlock}"
 +
 +id: my_light
 +
 +text_sensor:
 +
 +- platform: wifi_info
 +
 +ip_address:
 +
 +name: "${friendly_name} IP Address"
 +
 +disabled_by_default: true
 +
 +{{:developmentboard:yaml.zip|yaml.zip}}
 +
 +----
  
  
  • developmentboard/esphome_smart_light_bulb.1732932643.txt.gz
  • 最后更改: 2024/11/30 02:10
  • admin