From 0be12509d10608295486b83e383db4e6dc3b43a4 Mon Sep 17 00:00:00 2001 From: Joshua King Date: Tue, 29 Sep 2026 20:57:26 -0400 Subject: [PATCH] Add Family Room and Living Room remote configurations with touch functionality --- esphome/family-room-remote.yaml | 127 +++++++++++++++++++++++++++++++ esphome/living-room-remote.yaml | 98 ++++++++++++++++++++++++ esphome/panel-hardware-test.yaml | 1 + esphome/panel-remote-common.yaml | 1 + 4 files changed, 227 insertions(+) create mode 100644 esphome/family-room-remote.yaml create mode 100644 esphome/living-room-remote.yaml diff --git a/esphome/family-room-remote.yaml b/esphome/family-room-remote.yaml new file mode 100644 index 0000000..bc9e678 --- /dev/null +++ b/esphome/family-room-remote.yaml @@ -0,0 +1,127 @@ +# Lights-only first version for the Family Room remote. +# Entity IDs came from the project's HA snapshot; verify them in live HA. + +substitutions: + device_name: family-room-remote + friendly_name: Family Room Remote + +esphome: + name: ${device_name} + friendly_name: ${friendly_name} + +packages: + hardware: !include panel-remote-common.yaml + +binary_sensor: + - platform: homeassistant + id: standing_lamp_state + entity_id: light.living_room_lamp_1 + publish_initial_state: true + on_state: + - lvgl.widget.update: + id: standing_lamp_button + state: + checked: !lambda return x; + - platform: homeassistant + id: small_lamp_state + entity_id: light.small_family_room_lamp + publish_initial_state: true + on_state: + - lvgl.widget.update: + id: small_lamp_button + state: + checked: !lambda return x; + - platform: homeassistant + id: tv_stand_state + entity_id: light.family_room_tv_stand + publish_initial_state: true + on_state: + - lvgl.widget.update: + id: tv_stand_button + state: + checked: !lambda return x; + +lvgl: + on_idle: + - timeout: 45s + then: + - light.turn_on: + id: panel_backlight + brightness: 15% + pages: + - id: room_page + widgets: + - label: + x: 12 + y: 8 + text: Family Room + - button: + id: standing_lamp_button + x: 10 + y: 45 + width: 145 + height: 75 + checkable: true + widgets: + - label: + align: CENTER + text: Standing Lamp + on_click: + - homeassistant.action: + action: light.toggle + data: + entity_id: light.living_room_lamp_1 + - button: + id: small_lamp_button + x: 165 + y: 45 + width: 145 + height: 75 + checkable: true + widgets: + - label: + align: CENTER + text: Small Lamp + on_click: + - homeassistant.action: + action: light.toggle + data: + entity_id: light.small_family_room_lamp + - button: + id: tv_stand_button + x: 10 + y: 135 + width: 145 + height: 75 + checkable: true + widgets: + - label: + align: CENTER + text: TV Stand + on_click: + - homeassistant.action: + action: light.toggle + data: + entity_id: light.family_room_tv_stand + - button: + x: 165 + y: 135 + width: 145 + height: 75 + widgets: + - label: + align: CENTER + text: All Off + on_click: + - homeassistant.action: + action: light.turn_off + data: + entity_id: light.living_room_lamp_1 + - homeassistant.action: + action: light.turn_off + data: + entity_id: light.small_family_room_lamp + - homeassistant.action: + action: light.turn_off + data: + entity_id: light.family_room_tv_stand diff --git a/esphome/living-room-remote.yaml b/esphome/living-room-remote.yaml new file mode 100644 index 0000000..ef6a396 --- /dev/null +++ b/esphome/living-room-remote.yaml @@ -0,0 +1,98 @@ +# Lights-only first version for the Living Room remote. +# Entity IDs came from the project's HA snapshot; verify them in live HA. + +substitutions: + device_name: living-room-remote + friendly_name: Living Room Remote + +esphome: + name: ${device_name} + friendly_name: ${friendly_name} + +packages: + hardware: !include panel-remote-common.yaml + +binary_sensor: + - platform: homeassistant + id: ceiling_light_state + entity_id: light.living_room_light_2 + publish_initial_state: true + on_state: + - lvgl.widget.update: + id: ceiling_light_button + state: + checked: !lambda return x; + - platform: homeassistant + id: small_lamp_state + entity_id: light.small_living_room_lamp + publish_initial_state: true + on_state: + - lvgl.widget.update: + id: small_lamp_button + state: + checked: !lambda return x; + +lvgl: + on_idle: + - timeout: 45s + then: + - light.turn_on: + id: panel_backlight + brightness: 15% + pages: + - id: room_page + widgets: + - label: + x: 12 + y: 8 + text: Living Room + - button: + id: ceiling_light_button + x: 10 + y: 45 + width: 145 + height: 75 + checkable: true + widgets: + - label: + align: CENTER + text: Main Light + on_click: + - homeassistant.action: + action: light.toggle + data: + entity_id: light.living_room_light_2 + - button: + id: small_lamp_button + x: 165 + y: 45 + width: 145 + height: 75 + checkable: true + widgets: + - label: + align: CENTER + text: Small Lamp + on_click: + - homeassistant.action: + action: light.toggle + data: + entity_id: light.small_living_room_lamp + - button: + x: 10 + y: 135 + width: 300 + height: 75 + widgets: + - label: + align: CENTER + text: All Lights Off + on_click: + - homeassistant.action: + action: light.turn_off + data: + entity_id: light.living_room_light_2 + - homeassistant.action: + action: light.turn_off + data: + entity_id: light.small_living_room_lamp diff --git a/esphome/panel-hardware-test.yaml b/esphome/panel-hardware-test.yaml index 853abbd..d09beea 100644 --- a/esphome/panel-hardware-test.yaml +++ b/esphome/panel-hardware-test.yaml @@ -87,6 +87,7 @@ touchscreen: - platform: ft5x06 id: panel_touch i2c_id: touch_bus + address: 0x38 display: panel_display interrupt_pin: GPIO48 on_touch: diff --git a/esphome/panel-remote-common.yaml b/esphome/panel-remote-common.yaml index 7098eff..a407577 100644 --- a/esphome/panel-remote-common.yaml +++ b/esphome/panel-remote-common.yaml @@ -73,6 +73,7 @@ touchscreen: - platform: ft5x06 id: panel_touch i2c_id: touch_bus + address: 0x38 display: panel_display interrupt_pin: GPIO48 on_touch: