Guest User

esp32 weather config

a guest
Jan 11th, 2026
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 2.59 KB | Source Code | 0 0
  1. sensor:
  2.   - platform: homeassistant
  3.     id: living_room_temperature
  4.     entity_id: sensor.living_room_temperature
  5.   - platform: homeassistant
  6.     id: forecast_high
  7.     entity_id: sensor.forecast_high
  8.   - platform: homeassistant
  9.     id: forecast_low
  10.     entity_id: sensor.forecast_low
  11. text_sensor:
  12.   - platform: homeassistant
  13.     id: forecast_condition_name
  14.     entity_id: sensor.forecast_condition_name
  15.  
  16. lvgl:
  17.   buffer_size: 25%
  18.  
  19.   style_definitions:
  20.     - id: dark_bg
  21.       bg_color: 0x0a0a0a
  22.       bg_opa: COVER
  23.       text_color: 0xFFFFFF
  24.  
  25.   pages:
  26.     - id: main_page
  27.       bg_color: 0x0a0a0a
  28.       widgets:
  29.         - label:
  30.             id: forecast_condition_name_label
  31.             text: "Loading..."
  32.             x: 15
  33.             y: 252
  34.             text_font: montserrat_18
  35.             text_color: 0xFFFFFF  
  36.         - label:
  37.             id: living_room_temperature_label
  38.             text: "-"
  39.             align: TOP_LEFT
  40.             x: 350
  41.             y: 33
  42.             text_font: montserrat_38
  43.         - label:
  44.             id: forecast_high_label
  45.             text: "-"
  46.             align: TOP_MID
  47.             x: 20
  48.             y: 252
  49.             text_font: montserrat_20
  50.             text_color: 0xFFFFFF    
  51.         - label:
  52.             id: forecast_low_label
  53.             text: "-"
  54.             align: TOP_MID
  55.             x: 20
  56.             y: 275
  57.             text_font: montserrat_16
  58.             text_color: 0xCCCCCC  
  59.  
  60. interval:
  61.   - interval: 10s
  62.     then:
  63.       - lvgl.label.update:
  64.           id: living_room_temperature_label
  65.           text: !lambda |-
  66.             return str_sprintf("%.0f°", id(living_room_temperature).state);
  67.           text_color: !lambda |-
  68.             float temp = id(living_room_temperature).state;
  69.             if (temp < 67) return lv_color_hex(0x6666FF);    // blue
  70.             if (temp < 69) return lv_color_hex(0x9999FF);    // blue-gray
  71.             if (temp < 71) return lv_color_hex(0xFFFFFF);    // white
  72.             if (temp < 73) return lv_color_hex(0xFFC266);    // light orange
  73.             return lv_color_hex(0xFF6666);                   // light red
  74.  
  75.       - lvgl.label.update:
  76.           id: forecast_high_label
  77.           text: !lambda |-
  78.             return str_sprintf("%.0f°", id(forecast_high).state);
  79.       - lvgl.label.update:
  80.           id: forecast_low_label
  81.           text: !lambda |-
  82.             return str_sprintf("%.0f°", id(forecast_low).state);
  83.       - lvgl.label.update:
  84.           id: forecast_condition_name_label
  85.           text: !lambda |-
  86.             return id(forecast_condition_name).state.c_str();
Advertisement
Add Comment
Please, Sign In to add comment