From 5d3164847a9b8b6d9a0ee6b0a0ef63fa54f339e5 Mon Sep 17 00:00:00 2001 From: Andrew Villeneuve Date: Fri, 8 May 2026 14:59:13 -0700 Subject: [PATCH] Layout tinkering --- waveshare-test.yaml | 193 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 155 insertions(+), 38 deletions(-) diff --git a/waveshare-test.yaml b/waveshare-test.yaml index fd5b51d..7a3315d 100644 --- a/waveshare-test.yaml +++ b/waveshare-test.yaml @@ -112,6 +112,22 @@ image: id: home_lock_open - file: "mdi:home-lock" id: home_lock + - file: "mdi:ceiling-fan" + id: ceiling_fan + - file: "mdi:ceiling-fan-light" + id: ceiling_fan_light + - file: "mdi:fan-off" + id: fan_off + - file: "mdi:fan-speed-1" + id: fan_speed_1 + - file: "mdi:fan-speed-2" + id: fan_speed_2 + - file: "mdi:fan-speed-3" + id: fan_speed_3 + - file: "mdi:floor-lamp-torchiere" + id: floor_lamp + - file: "mdi:home-off" + id: away_button # Force a full display refresh when we press the "boot" button on the devboard binary_sensor: @@ -163,51 +179,152 @@ lvgl: label: text_color: 0x000000 button: - bg_color: 0xAAAAAA - text_color: 0xFFFFFF + # bg_color: 0xAAAAAA + bg_color: 0xFFFFFF + text_color: 0x000000 height: 64 width: 64 pad_all: 0 - border_width: 5 - border_color: 0xFFFFFF + border_width: 2 + border_color: 0x000000 + checked: + bg_color: 0x555555 obj: bg_color: 0xFFFFFF widgets: - - label: - text: 'Test 2bpp 1636' - align: TOP_LEFT - text_font: font1 - - button: - id: button0 - align: TOP_RIGHT - on_click: - - logger.log: "button0 clicked (unlock)" + - obj: + width: 100% + height: 100% + pad_all: 0 + # pad_row: 0 + # pad_column: 0 + border_width: 0 + bg_color: 0xFFFFFF + layout: + type: GRID + grid_rows: [fr(1), fr(1)] + grid_columns: [fr(1), fr(1), fr(1), fr(1)] widgets: - - image: - src: home_lock_open - outline_width: 1 - - button: - id: button1 - align: BOTTOM_RIGHT - on_click: - - logger.log: "button1 clicked (lock)" - widgets: - - image: - src: home_lock - outline_width: 1 - - slider: - id: slider0 - align: LEFT_MID - width: 180 - height: 16 - min_value: 0 - max_value: 100 - value: 50 - on_value: - - logger.log: - format: "Slider: %.0f" - args: ['x'] - - lambda: 'id(display0).display_partial();' + - button: + grid_cell_row_pos: 0 + grid_cell_column_pos: 0 + on_click: + - logger.log: "ceiling_fan" + widgets: + - image: + src: ceiling_fan + - button: + grid_cell_row_pos: 0 + grid_cell_column_pos: 1 + on_click: + - logger.log: "ceiling_fan_light" + - lambda: 'id(display0).display_partial();' + checkable: true + widgets: + - image: + src: ceiling_fan_light + - button: + grid_cell_row_pos: 0 + grid_cell_column_pos: 2 + on_click: + - logger.log: "fan_off" + - component.update: display0 + checkable: true + widgets: + - image: + src: fan_off + - button: + grid_cell_row_pos: 0 + grid_cell_column_pos: 3 + checkable: true + on_click: + - logger.log: "fan_speed_1" + - lvgl.widget.update: + id: fan_speed_2 + state: + checked: false + - lvgl.widget.update: + id: fan_speed_3 + state: + checked: false + - component.update: display0 + widgets: + - image: + src: fan_speed_1 + - button: + grid_cell_row_pos: 1 + grid_cell_column_pos: 0 + on_click: + - logger.log: "fan_speed_2" + - component.update: display0 + checkable: true + widgets: + - image: + src: fan_speed_2 + - button: + grid_cell_row_pos: 1 + grid_cell_column_pos: 1 + on_click: + - logger.log: "fan_speed_3" + - component.update: display0 + checkable: true + widgets: + - image: + src: fan_speed_3 + - button: + grid_cell_row_pos: 1 + grid_cell_column_pos: 2 + on_click: + - logger.log: "floor_lamp" + - component.update: display0 + checkable: true + widgets: + - image: + src: floor_lamp + - button: + grid_cell_row_pos: 1 + grid_cell_column_pos: 3 + on_click: + - logger.log: "away_button" + checkable: true + widgets: + - image: + src: away_button + # - label: + # text: 'Test 2bpp 1636' + # align: TOP_LEFT + # text_font: font1 + # - button: + # id: button0 + # align: TOP_RIGHT + # on_click: + # - logger.log: "button0 clicked (unlock)" + # widgets: + # - image: + # src: home_lock_open + # outline_width: 1 + # - button: + # id: button1 + # align: BOTTOM_RIGHT + # on_click: + # - logger.log: "button1 clicked (lock)" + # widgets: + # - image: + # src: home_lock + # outline_width: 1 + # - slider: + # id: slider0 + # align: LEFT_MID + # width: 180 + # height: 16 + # min_value: 0 + # max_value: 100 + # value: 50 + # on_value: + # - logger.log: + # format: "Slider: %.0f" + # args: ['x'] + # - lambda: 'id(display0).display_partial();' # - label: # text: "0xFFFFFF" # text_color: 0xFFFFFF