diff --git a/esphome/esp32cc.yaml b/esphome/esp32cc.yaml new file mode 100644 index 0000000..33e0e3d --- /dev/null +++ b/esphome/esp32cc.yaml @@ -0,0 +1,1903 @@ +--- +esphome: + name: esp32cc + friendly_name: esp32cc + platformio_options: + upload_speed: 921600 + board_build.flash_mode: dio + board_build.f_flash: 80000000L + board_build.f_cpu: 240000000L + +esp32: + board: esp32-s3-devkitc-1 + flash_size: 16MB + framework: + type: esp-idf + sdkconfig_options: + CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240: y + CONFIG_ESP32S3_DATA_CACHE_64KB: y + CONFIG_ESP32S3_DATA_CACHE_LINE_64B: y + CONFIG_SPIRAM_FETCH_INSTRUCTIONS: y + CONFIG_SPIRAM_RODATA: y + +# Enable logging +logger: + +# Enable Home Assistant API +api: + encryption: + key: "" + +ota: + - platform: esphome + password: "" + +wifi: + ssid: !secret wifi_ssid + password: !secret wifi_password + use_address: esp32cc.mateu.be + + # Enable fallback hotspot (captive portal) in case wifi connection fails + ap: + ssid: "Esp32Cc Fallback Hotspot" + password: "" + +captive_portal: + +psram: + mode: octal + speed: 80MHz # 120MHz is not supported and falls back to 40MHz + +spi: + - type: quad + clk_pin: 47 + data_pins: [21, 48, 40, 39] + +i2c: + - sda: 4 + scl: 8 + +output: + - id: gpio_backlight_pwm + platform: ledc + pin: 1 + +light: + - id: backlight + name: Backlight + platform: monochromatic + output: gpio_backlight_pwm + restore_mode: ALWAYS_ON + +display: + - id: main_display + platform: qspi_dbi + dimensions: + height: 480 + width: 320 + model: CUSTOM + data_rate: 40MHz + cs_pin: + number: 45 + ignore_strapping_warning: true + draw_from_origin: true + update_interval: never + auto_clear_enabled: false + +touchscreen: + - id: main_touchscreen + platform: axs15231 + on_release: + - if: + condition: lvgl.is_paused + then: + - lvgl.resume: + - lvgl.widget.redraw: + - light.turn_on: backlight + +font: + - file: "fonts/RobotoCondensed-Regular.ttf" + id: roboto_icons_50 + size: 50 + bpp: 4 + extras: + - file: "fonts/materialdesignicons-webfont.ttf" + glyphs: [ + "\U000F0314", # mdi-kodi + "\U000F07E1", # mdi-switch + "\U000F1393", # mdi-gameboy + "\U000F0960", # mdi-player + "\U000F0EC3", # mdi-record-outine + "\U000F072D", # mdi-wiiu + "\U000F0839", # mdi-tvbox + "\U000F099A", # mdi-recordplayer + "\U000F00B0", # mdi-bluetooth + ] + - file: "fonts/RobotoCondensed-Regular.ttf" + id: roboto_icons_30 + size: 30 + bpp: 4 + extras: + - file: "fonts/materialdesignicons-webfont.ttf" + glyphs: [ + "\U000F0901", # mdi-powertoggle + "\U000F075E", # mdi-volup + "\U000F075D", # mdi-voldown + "\U000F075F", # mdi-volmute + "\U000F0360", # mdi-menu-up + "\U000F035D", # mdi-menu-down + "\U000F035E", # mdi-menu-left + "\U000F035F", # mdi-menu-right + "\U000F035C", # mdi-menu + "\U000F17B1", # mdi-arrow-u-turn + "\U000F02FC", # mdi-info + "\U000F02DC", # mdi-home + "\U000F0765", # mdi-circle + "\U000F040A", # mdi-play + "\U000F03E4", # mdi-pause + "\U000F04AB", # mdi-previous + "\U000F04AC", # mdi-next + "\U000F045F", # mdi-rewind + "\U000F0211", # mdi-forward + "\U000F04DB", # mdi-stop + "\U000F0361", # mdi-speech + "\U000F0A16", # mdi-subtitle + "\U000F01EA", # mdi-eject + "\U000F07C4", # mdi-dots-vertical-circle + "\U000F013D", # mdi-chevron-left + "\U000F013E", # mdi-chevron-right + ] + +lvgl: + on_boot: + - lvgl.page.show: home_page + on_idle: + timeout: 30s + then: + - light.turn_off: backlight + - lvgl.pause: + pages: + - id: home_page + widgets: + - obj: # a properly placed coontainer object for all these controls + align: CENTER + width: 320 + height: 480 + pad_all: 2 + bg_opa: TRANSP + border_opa: TRANSP + layout: # enable the GRID layout for the children widgets + type: GRID # split the rows and the columns proportionally + grid_columns: [FR(1), FR(1)] + grid_rows: [FR(1), FR(1), FR(1), FR(1), FR(1)] + widgets: + # First row + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_50 + text: "\U000F0314" + on_click: + then: + - lvgl.page.show: kodi_page + - homeassistant.action: + action: script.consonance_activities_kodi + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_50 + text: "\U000F07E1 2" + on_click: + then: + - lvgl.page.show: ns2_page + - homeassistant.action: + action: script.consonance_activities_switch2 + # Second row + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_50 + text: "\U000F07E1" + on_click: + then: + - lvgl.page.show: ns_page + - homeassistant.action: + action: script.consonance_activities_switch + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_50 + text: "\U000F1393" + on_click: + then: + - lvgl.page.show: rgb_page + - homeassistant.action: + action: script.consonance_activities_rgb_consoles + # Third Row + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_50 + text: "\U000F072D" + on_click: + then: + - lvgl.page.show: wiiu_page + - homeassistant.action: + action: script.consonance_activities_wii_wiiu + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_50 + text: "\U000F0960" + on_click: + then: + - lvgl.page.show: bluray_page + - homeassistant.action: + action: script.consonance_activities_bluray4k_bluray_dvd_cd + # Fourth Row + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 3 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_50 + text: "\U000F0EC3" + on_click: + then: + - lvgl.page.show: laserdisc_page + - homeassistant.action: + action: script.consonance_activities_laserdisc + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 3 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_50 + text: "\U000F0839" + on_click: + then: + - lvgl.page.show: tv_page + - homeassistant.action: + action: script.consonance_activities_tv + # Fifth Row + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 4 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_50 + text: "\U000F099A" + on_click: + then: + - lvgl.page.show: vynil_page + - homeassistant.action: + action: script.consonance_activities_vynil + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 4 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_50 + text: "\U000F00B0" + on_click: + then: + - lvgl.page.show: bluetooth_page + - homeassistant.action: + action: script.consonance_activities_bluetooth + ## KODI Page + - id: kodi_page + widgets: + - obj: &obj_volume_bar + id: obj_kodi_volume_bar + align: TOP_MID + width: 320 + height: 50 + pad_all: 2 + bg_opa: TRANSP + border_opa: TRANSP + layout: # enable the GRID layout for the children widgets + type: GRID # split the rows and the columns proportionally + grid_columns: [FR(15), FR(35), FR(35), FR(15)] + grid_rows: [FR(1)] + widgets: + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F0901" + on_click: + then: + - lvgl.page.show: home_page + - homeassistant.action: + action: script.consonance_shutdown + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F075E" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: &remote_send_command_data + entity_id: remote.rm4pro + num_repeats: "1" + delay_secs: "0.4" + hold_secs: "0" + device: triangle_ln01a + command: vol_down + + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F075D" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: triangle_ln01a + command: vol_up + - button: + grid_cell_column_pos: 3 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F075F" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: triangle_ln01a + command: mute + - obj: + id: obj_kodi_nav_cluster + align_to: + align: OUT_BOTTOM_MID + id: obj_kodi_volume_bar + width: 180 + height: 180 + pad_all: 2 + bg_opa: TRANSP + border_opa: TRANSP + layout: # enable the GRID layout for the children widgets + type: GRID # split the rows and the columns proportionally + grid_columns: [FR(1), FR(1), FR(1)] + grid_rows: [FR(1), FR(1), FR(1)] + widgets: + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F035C" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: kodi + command: menu + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F0360" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: kodi + command: up + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F02FC" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: kodi + command: info + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F035E" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: kodi + command: left + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F0765" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: kodi + command: select + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F035F" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: kodi + command: right + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F17B1" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: kodi + command: back + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F035D" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: kodi + command: down + - obj: + align_to: + align: OUT_BOTTOM_MID + id: obj_kodi_nav_cluster + width: 180 + height: 180 + pad_all: 2 + bg_opa: TRANSP + border_opa: TRANSP + layout: # enable the GRID layout for the children widgets + type: GRID # split the rows and the columns proportionally + grid_columns: [FR(1), FR(1), FR(1)] + grid_rows: [FR(1), FR(1), FR(1)] + widgets: + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F045F" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: kodi + command: rewind + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F040A" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: kodi + command: play + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F0211" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: kodi + command: forward + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F04AB" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: kodi + command: previous + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F03E4" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: kodi + command: pause + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F04AC" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: kodi + command: next + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F0361" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: kodi + command: audio + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F04DB" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: kodi + command: stop + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F0A16" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: kodi + command: subtitle + ## Nintendo Switch 2 + - id: ns2_page + widgets: + - obj: + <<: *obj_volume_bar + id: obj_ns2_volume_bar + ## Nintendo Switch + - id: ns_page + widgets: + - obj: + <<: *obj_volume_bar + id: obj_ns_volume_bar + ## Retrotink + - id: rgb_page + widgets: + - obj: + <<: *obj_volume_bar + id: obj_rgb_volume_bar + - obj: &rgb_nav_cluster + id: obj_rgb_nav_cluster + align_to: + align: OUT_BOTTOM_MID + id: obj_rgb_volume_bar + width: 180 + height: 180 + pad_all: 2 + bg_opa: TRANSP + border_opa: TRANSP + layout: # enable the GRID layout for the children widgets + type: GRID # split the rows and the columns proportionally + grid_columns: [FR(1), FR(1), FR(1)] + grid_rows: [FR(1), FR(1), FR(1)] + widgets: + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F035C" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: retrotink_5x + command: menu + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F0360" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: retrotink_5x + command: up + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F035E" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: retrotink_5x + command: left + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F0765" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: retrotink_5x + command: ok + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F035F" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: retrotink_5x + command: right + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F17B1" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: retrotink_5x + command: back + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F035D" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: retrotink_5x + command: down + ## Nintendo Wii+WiiU + - id: wiiu_page + widgets: + - obj: + <<: *obj_volume_bar + id: obj_wiiu_volume_bar + ## BluRay4k+BluRay+DVD+CD + - id: bluray_page + widgets: + - obj: + <<: *obj_volume_bar + id: obj_bluray_volume_bar + - obj: + id: obj_bluray_nav_cluster + align_to: + align: OUT_BOTTOM_MID + id: obj_bluray_volume_bar + width: 180 + height: 180 + pad_all: 2 + bg_opa: TRANSP + border_opa: TRANSP + layout: # enable the GRID layout for the children widgets + type: GRID # split the rows and the columns proportionally + grid_columns: [FR(1), FR(1), FR(1)] + grid_rows: [FR(1), FR(1), FR(1)] + widgets: + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F035C" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: top_menu + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F0360" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: up + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F02FC" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: display + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F035E" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: left + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F0765" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: ok + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F035F" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: right + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F17B1" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: back + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F035D" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: down + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F07C4" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: pop_up_menu + - obj: + align_to: + align: OUT_BOTTOM_MID + id: obj_bluray_nav_cluster + width: 180 + height: 240 + pad_all: 2 + bg_opa: TRANSP + border_opa: TRANSP + layout: # enable the GRID layout for the children widgets + type: GRID # split the rows and the columns proportionally + grid_columns: [FR(1), FR(1), FR(1)] + grid_rows: [FR(1), FR(1), FR(1), FR(1)] + widgets: + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F045F" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: rewind + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F040A" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: play + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F0211" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: forward + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F04AB" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: previous + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F03E4" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: pause + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F04AC" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: next + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F0361" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: audio + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F04DB" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: stop + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F0A16" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: subtitle + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 3 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F01EA" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: sony_ubx700 + command: eject + ## Laserdisc + - id: laserdisc_page + widgets: + - obj: + <<: *obj_volume_bar + id: obj_laserdisc_volume_bar + - obj: + <<: *rgb_nav_cluster + id: obj_laserdisc_nav_cluster + align_to: + align: OUT_BOTTOM_MID + id: obj_laserdisc_volume_bar + - obj: + align_to: + align: OUT_BOTTOM_MID + id: obj_laserdisc_nav_cluster + width: 180 + height: 240 + pad_all: 2 + bg_opa: TRANSP + border_opa: TRANSP + layout: # enable the GRID layout for the children widgets + type: GRID # split the rows and the columns proportionally + grid_columns: [FR(1), FR(1), FR(1)] + grid_rows: [FR(1), FR(1), FR(1)] + widgets: + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F045F" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: pioneer_cld600 + command: rewind + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F040A" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: pioneer_cld600 + command: play + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F0211" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: pioneer_cld600 + command: forward + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F04AB" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: pioneer_cld600 + command: previous + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F03E4" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: pioneer_cld600 + command: pause + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F04AC" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: pioneer_cld600 + command: next + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F04DB" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: pioneer_cld600 + command: stop + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F01EA" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: pioneer_cld600 + command: eject + ## TV + - id: tv_page + widgets: + - obj: + <<: *obj_volume_bar + id: obj_tv_volume_bar + - obj: + id: obj_tv_nav_cluster + align_to: + align: OUT_BOTTOM_MID + id: obj_tv_volume_bar + width: 180 + height: 180 + pad_all: 2 + bg_opa: TRANSP + border_opa: TRANSP + layout: # enable the GRID layout for the children widgets + type: GRID # split the rows and the columns proportionally + grid_columns: [FR(1), FR(1), FR(1)] + grid_rows: [FR(1), FR(1), FR(1)] + widgets: + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F035C" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: options + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F0360" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: up + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F02FC" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: guide + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F035E" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: left + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F0765" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: ok + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F035F" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: right + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F17B1" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: back + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F035D" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: down + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F02DC" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: home + - obj: + align_to: + align: OUT_BOTTOM_MID + id: obj_tv_nav_cluster + width: 180 + height: 180 + pad_all: 2 + bg_opa: TRANSP + border_opa: TRANSP + layout: # enable the GRID layout for the children widgets + type: GRID # split the rows and the columns proportionally + grid_columns: [FR(1), FR(1), FR(1)] + grid_rows: [FR(1), FR(1), FR(1), FR(1)] + widgets: + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "1" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: "1" + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "2" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: "2" + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "3" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: "3" + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "4" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: "4" + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "5" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: "5" + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 1 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "6" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: "6" + - button: + grid_cell_column_pos: 0 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "7" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: "7" + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "8" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: "8" + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 2 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "9" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: "9" + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 3 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "0" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: "0" + - obj: + id: obj_chann_bar + align: BOTTOM_MID + width: 320 + height: 50 + pad_all: 2 + bg_opa: TRANSP + border_opa: TRANSP + layout: # enable the GRID layout for the children widgets + type: GRID # split the rows and the columns proportionally + grid_columns: [FR(15), FR(35), FR(35), FR(15)] + grid_rows: [FR(1)] + widgets: + - button: + grid_cell_column_pos: 1 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F013D" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: chann_down + + - button: + grid_cell_column_pos: 2 + grid_cell_row_pos: 0 + grid_cell_x_align: STRETCH + grid_cell_y_align: STRETCH + widgets: + - label: + align: CENTER + text_font: roboto_icons_30 + text: "\U000F013E" + on_click: + then: + - homeassistant.action: + action: remote.send_command + data: + <<: *remote_send_command_data + device: lg_oled_c1 + command: chann_up + ## Vynil + - id: vynil_page + widgets: + - obj: + <<: *obj_volume_bar + id: obj_vynil_volume_bar + ## Bluetooth + - id: bluetooth_page + widgets: + - obj: + <<: *obj_volume_bar + id: obj_bluetooth_volume_bar