# Generated Berry code from Animation DSL # Source: sunrise_sunset.anim # # This file was automatically generated by compile_all_examples.sh # Do not edit manually - changes will be overwritten import animation # Sunrise Sunset - Warm color transition # Gradual transition from night to day colors #strip length 60 # Define time-of-day color palette # Auto-generated strip initialization (using Tasmota configuration) var engine = animation.init_strip() var daylight_colors_ = bytes("00000011" "20001133" "40FF4400" "60FFAA00" "80FFFF88" "A0FFAA44" "C0FF6600" "E0AA2200" "FF220011") # Main daylight cycle - very slow transition var daylight_cycle_ = animation.rich_palette_animation(engine) daylight_cycle_.palette = daylight_colors_ daylight_cycle_.cycle_period = 60000 # Add sun position effect - bright spot that moves var sun_position_ = animation.beacon_animation(engine) sun_position_.color = 0xFFFFFFAA # Bright yellow sun sun_position_.pos = 5 # initial position sun_position_.beacon_size = 8 # sun size sun_position_.slew_size = 4 # soft glow sun_position_.priority = 10 sun_position_.pos = (def (engine) var provider = animation.smooth(engine) provider.min_value = 5 provider.max_value = 55 provider.duration = 30000 return provider end)(engine) # Sun arc across sky sun_position_.opacity = (def (engine) var provider = animation.smooth(engine) provider.min_value = 0 provider.max_value = 255 provider.duration = 30000 return provider end)(engine) # Fade in and out # Add atmospheric glow around sun var sun_glow_ = animation.beacon_animation(engine) sun_glow_.color = 0xFFFFCC88 # Warm glow sun_glow_.pos = 5 # initial position sun_glow_.beacon_size = 16 # larger glow sun_glow_.slew_size = 8 # very soft sun_glow_.priority = 5 sun_glow_.pos = (def (engine) var provider = animation.smooth(engine) provider.min_value = 5 provider.max_value = 55 provider.duration = 30000 return provider end)(engine) # Follow sun sun_glow_.opacity = (def (engine) var provider = animation.smooth(engine) provider.min_value = 0 provider.max_value = 150 provider.duration = 30000 return provider end)(engine) # Dimmer glow # Add twinkling stars during night phases var stars_ = animation.twinkle_animation(engine) stars_.color = 0xFFFFFFFF # White stars stars_.density = 6 # density (star count) stars_.twinkle_speed = 1000 # twinkle speed (slow twinkle) stars_.priority = 15 stars_.opacity = (def (engine) var provider = animation.smooth(engine) provider.min_value = 255 provider.max_value = 0 provider.duration = 30000 return provider end)(engine) # Fade out during day # Start all animations engine.add_animation(daylight_cycle_) engine.add_animation(sun_position_) engine.add_animation(sun_glow_) engine.add_animation(stars_) engine.start() #- Original DSL source: # Sunrise Sunset - Warm color transition # Gradual transition from night to day colors #strip length 60 # Define time-of-day color palette palette daylight_colors = [ (0, 0x000011), # Night - dark blue (32, 0x001133), # Pre-dawn (64, 0xFF4400), # Sunrise orange (96, 0xFFAA00), # Morning yellow (128, 0xFFFF88), # Midday bright (160, 0xFFAA44), # Afternoon (192, 0xFF6600), # Sunset orange (224, 0xAA2200), # Dusk red (255, 0x220011) # Night - dark red ] # Main daylight cycle - very slow transition animation daylight_cycle = rich_palette_animation(palette=daylight_colors, cycle_period=60s) # Add sun position effect - bright spot that moves animation sun_position = beacon_animation( color=0xFFFFAA # Bright yellow sun pos=5 # initial position beacon_size=8 # sun size slew_size=4 # soft glow ) sun_position.priority = 10 sun_position.pos = smooth(min_value=5, max_value=55, duration=30s) # Sun arc across sky sun_position.opacity = smooth(min_value=0, max_value=255, duration=30s) # Fade in and out # Add atmospheric glow around sun animation sun_glow = beacon_animation( color=0xFFCC88 # Warm glow pos=5 # initial position beacon_size=16 # larger glow slew_size=8 # very soft ) sun_glow.priority = 5 sun_glow.pos = smooth(min_value=5, max_value=55, duration=30s) # Follow sun sun_glow.opacity = smooth(min_value=0, max_value=150, duration=30s) # Dimmer glow # Add twinkling stars during night phases animation stars = twinkle_animation( color=0xFFFFFF # White stars density=6 # density (star count) twinkle_speed=1s # twinkle speed (slow twinkle) ) stars.priority = 15 stars.opacity = smooth(min_value=255, max_value=0, duration=30s) # Fade out during day # Start all animations run daylight_cycle run sun_position run sun_glow run stars -#