差别

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

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
developmentboard:esphome_smart_light_bulb [2024/11/30 02:12] admindevelopmentboard:esphome_smart_light_bulb [2024/12/18 14:41] (当前版本) admin
行 31: 行 31:
 **Yaml File:** **Yaml File:**
  
-{{ :developmentboard:yaml.zip |}}+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.1732932746.txt.gz
  • 最后更改: 2024/11/30 02:12
  • admin