Giter VIP home page Giter VIP logo

homething's Introduction

homeThing Remote ⚙️

(esphome remote)

homeThing is a collection of software and hardware for creating universal remotes that control smart home devices.

There are 3 components that belong to homeThing: the case and circuit board, the menu system code, and the code to control smart home devices



Learn More

  • Get Started - Learn how to build your own remote
  • Discord - support / chat with the community and the team
  • Instagram - Follow us on Instagram for updates and new products
  • Website - Check out our website for more information

Hardware 💪

We designed the two remotes below to be ideal for controlling smart home devices without a touch screen. They are both battery-powered but can also be plugged into USB and left in one place. The first remote was based on a Lilygo TDisplay. We moved on to building the homeThing S3 because the original device had slow performance, lacked buttons, and had challenges with assembly.

TDisplay homeThing

TDisplay S3 homeThing

More Info
Not available for purchase Buy fully assembled, ships within 3 business days from 🇨🇦
Order Case from PCBWay Order parts or fully assembled from PCBWay
Case 3D Files Case 3D Files
ESPHome Config ESPHome Config

Features

  • Based on Lilygo TTGo TDisplay, an ESP32 with integrated screen
  • Low cost remote with minimal parts
  • Scroll wheel and 2 configurable buttons
  • USB-C Charging
  • 3D Printable case with 3 parts

Features

  • Based on Lilygo TDisplay S3, an ESP32 S3 with integrated screen
  • Faster processor and larger display
  • Custom PCB for easier setup
  • IR Blaster for controlling infrared devices
  • Interal microphone for Voice Assistant
  • Scroll wheel and 5 configurable buttons
  • USB-C Charging
  • 3D Printable case with 2 parts

We made a couple of custom devices for running homeThing, but it can also run on almost any ESP32 such as,

  • M5Stack Fire
  • M5Stick C
  • Lilygo T-Display T4
  • Lilygo T-Display TTGO
  • Lilygo T-Display S3

homeThing Menu 📝

ESPHome menu system that requires minimal config. Features apps which have custom UIs

t-display demo m5stack fire demo lilygo T4 demo
Scroll Demo Gif Scroll List Fire Demo Gif Lilygo T4 Demo
  • Scroll through list and press center to select
  • With a scrollwheel the top button goes back
  • On M5Stack going up past the top of the list will go back
  • A scroll bar appears if list extends past the screen.
  • Screen returns to now playing after display sleeps
    • Display sleeps after 10s of idle. Device sleeps after 2h of idle 💤
  • Font size and UI size is adjustable in yaml 🔨
  • Simple yaml configuration. all of the complicated code is included in other files 🛠
  • Header is always shown at the top with info about the current state

Apps

Now playing screen ⏯

  • Control media players using the scroll wheel buttons
  • Scroll for volume using the scroll wheel
Music TV
  • Control smart speakers like Sonos, Spotify, or Google Home
  • Change source from Spotify playlists, Sonos Favorites, and custom lists
  • Manage speaker groups
  • Menu navigation such as up, down, left, right, select (with scroll wheel)
  • Power, back, home, pause in second menu
  • Change source from tv source list
  • Optional soundbar support

IR Remote

  • Custom UI and buttons to control infrared cat toys

Games

  • Snake
  • Breakout

Mentions

Includes

Sponsorship

PCBWay sponsors 3D Printing and PCB assembly costs on this project during the prototyping phase!

If you are interested in their awesome fabrication services please check them out.  They offer

3D prototyping, PCB design and assembly, as well as CNC metal fabrication.  Costs are reasonable and the quality is as good as it gets.  Thank you PCBWay for sponsoring us and other fun projects!

cargo sponsors our website!

They make it super easy to keep things pretty and up to date! It’s honestly so much easier than managing our own site, highly recommended!

homething's People

Contributors

abroooo avatar bretthansenpc avatar carunga avatar jaspercohen avatar landonr avatar lmatter avatar sbur83 avatar ssttaarr33 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

homething's Issues

How to use this project?

Thanks for your nice work! How can i use this repository? It would be helpful to have an install guide.

after 'homeassistant_light_group' moved, getting errors while compiling

After the component 'homeassistant_light_group' moved in the last 7 hours, compiling will break.
Last night it was all ok.
After digging on git, I saw that this component ('homeassistant_light_group') moved to 'homeassistant_common_light'.

You can see the terminal output:

INFO Reading configuration homeThing/example-homeThing.yaml...
INFO Updating https://github.com/landonr/homeThing@main
INFO Updating https://github.com/landonr/homeThing@None
INFO Updating https://github.com/landonr/esphome-components@None
Failed config

external_components: [source homeThing/example-homeThing.yaml:172]
  - source: 
      type: git
      url: https://github.com/landonr/homeThing
    refresh: 0s
    components: 
      - homeThing
  - source: 
      type: git
      url: https://github.com/landonr/esphome-components
    refresh: 0s
    components: 
      - homeassistant_component
      - homeassistant_switch_group
      - homeassistant_sensor_group
      
      Could not find __init__.py file for component homeassistant_light_group. Please check the component is defined by this source (search path: homeThing/.esphome/external_components/7e79bc7f/components/homeassistant_light_group/__init__.py).
      - homeassistant_light_group
      - homeassistant_media_player
      - homeassistant_service_group
      - media_player_source
      - media_player_source_sonos

Will be there an update in the YAML-files in your 'homeThing' repo?
I was so happy to make further steps, now I am a little bit stuck...

Thank you
Cheers
serdal

Support LG webOS Smart TV

Is your feature request related to a problem? Please describe.
lg tv doesn't work

Describe the solution you'd like
provide the tv type in setup and use different service calls based on type

Describe alternatives you've considered
we could subclass the TVPlayerComponent into RokuTVPlayerComponent and LGTVPlayerComponent

Additional context
service calls are in here https://www.home-assistant.io/integrations/webostv/#media-player

can't build tdisplay-t4.yaml

When I try to build the tdisplay-t4 example from the command line I returns with an error:

Any suggestions what I am doing wrong?

image

Error setting up the yaml

Describe the bug

Failed config

binary_sensor.gpio: [source /config/.esphome/packages/c523de9d/common/ipod/lilygo_tdisplay_ipod_binary_sensor_pcf.yaml:17]
  
  Pin 0 incorrectly sets allow_other_uses: true.
  platform: gpio
  pin: 
    number: 0
    allow_other_uses: True
    inverted: True

Commenting line
common/ipod/lilygo_tdisplay_ipod_binary_sensor_pcf.yaml, # used for button controls resolves the issue, but obviously breaks buttons
To Reproduce
Steps to reproduce the behavior:

  1. Using default yaml: https://raw.githubusercontent.com/landonr/homeThing/main/tdisplay-s3.yaml

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

add image app

Is your feature request related to a problem? Please describe.
would be nice for showing cameras

Describe the solution you'd like
new app that shows online image

Hi , I have a proble about rotary

Describe the bug
I found this project long long ago, I use a Lilygo T-Display TTGO with Adafruit ANO Scrollwheel for this project. It works well.

After an esphome update recently, my remote doesn't work, it seems like esphome changed something about the fonts, it report bug while complie, so I tried to use the latest main branch to flash my device.

While I flashed successfully and it works well except the rotary, I rotated it but the screen has nothing changed. So I have reviewd the code and compare the latest code with my old one, and I found the rotary PIN is changed in latest branch, eg:

          PIN                latest                 old longlong ago
  rotary_pin_a                 21                           12
  rotary_pin_b                 22                           13
  rotary_left_pin              15                           21
  rotary_right_pin             12                           17
  rotary_up_pin                2                            22
  rotary_down_pin              13                           2
  rotary_select_pin            17                           15

I tried change the PIN in my configuration with the substitutions code, but it still doesn't work.

So what I want to know is whether there are any other changes to this rotary?

Thanks a lot!

Skip boot breaks menu

To Reproduce
Steps to reproduce the behavior:

  1. skip boot
  2. select menu item
  3. it goes to the wrong item
  4. scroll past settings
  5. it crashes

Expected behavior
menu should select the correct item

Source code is missing

I don’t see the c++ code in the repo, only header files.

Where should I look?

Also, do you have build files checked in?

add unlock function

Is your feature request related to a problem? Please describe.
the remote changes song while in my pocket

Describe the solution you'd like
scroll to unlock

Describe alternatives you've considered
press button sequence to unlock

Additional context
lock screen when it fades out
add option to disable lock
look into adding a switch for locking

RGB Lights

Is your feature request related to a problem? Please describe.
change color of rgb lights

Describe the solution you'd like
rgb hsv slider

m5stack - option menu is broken

Describe the bug
it says "SHUFFLE" for every item and you cant navigate

To Reproduce
Steps to reproduce the behavior:

  1. Go to now playing
  2. See error

Expected behavior
it should show the option menu items and let you scroll horizontally with the side buttons

Additional context
also an issue on tdisplay t4

Error on compilation for StickCplus: component not found

Describe the bug
The compilation fails with the error "Component not found: homeThing."

To Reproduce
Steps to reproduce the behavior:

  1. Use the M5StickCplus example code
  2. try to compile
  3. get the above error

Expected behavior
It should just work

Logs

logs_m5stickcplus-homething_compile.txt

Desktop (please complete the following information):

  • OS: Windows
  • Browser Chrome
  • Version 11

Additional context
Add any other context about the problem here.

Lilygo T-Display-S3 Example Config Broken - Touch screen doesn't operate menu

Describe the bug

Howdy, I have a T-Display-S3 - homeThing installs fine and boots, but the menu doesn't respond to the touch screen.

Additionally by default the two physical buttons do not seem to do any other than wake the screen, I'm pretty sure this is just a matter of GPIO mappings which I'll fix - but perhaps the example config is broken here too.

The touch screen itself is working as I can see in the logs it's correctly registering touches.

To Reproduce
Steps to reproduce the behaviour:

  1. Install homeThing on T-Display-S3 using example config.
  2. Upon boot try using the menu.

Expected behaviour

To be able to navigate the menu on the touch screen by touching the items and/or using directional swiping gestures.

Screenshots
N/A

Desktop (please complete the following information):

  • OS: homeThing
  • Browser N/A?
  • Version 0.0.6

Smartphone (please complete the following information):

Don't see how this is relevant.

Additional context

image

Config file as follows.

esphome:
  name: esp-s3
  platformio_options:
    board_build.f_flash: 80000000L
    board_upload.flash_size: 16MB
    board_build.partitions: default_16MB.csv
    board_build.arduino.memory_type: qio_opi

esp32:
  board: esp32-s3-devkitc-1
  variant: esp32s3
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: !secret ota

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "S3 Fallback Hotspot"
    password: "zQ9tuPKIfFMu"

time:
  - platform: homeassistant
    id: ha_time

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO0
      inverted: true
    name: "Button 1"
  - platform: gpio
    pin:
      number: GPIO14
      inverted: true
    name: "Button 2"

i2c:
  scl: 17
  sda: 18

font:
  - file: "gfonts://Roboto"
    id: roboto
    size: 30

display:
  - platform: tdisplays3
    id: my_display
    rotation: 90
    update_interval: 10s
    lambda: |-
      id(homeThingMenu)->draw_menu_screen();
      return;

touchscreen:
  - platform: tdisplays3
    interrupt_pin: 16
    address: 0x15
    x_offset: 40
    id: my_touchscreen
    on_touch:
      - lambda: |-
          ESP_LOGI("tdisplays3-touch", "x:%d, y:%d",
            id(my_touchscreen).x,
            id(my_touchscreen).y
          );

external_components:
  - source: github://landonr/lilygo-tdisplays3-esphome
    components: [tdisplays3]
    refresh: 0s
  - source: github://landonr/homeThing
    refresh: 0s
    components: [homeThing] # homething menu
  - source: github://landonr/esphome-components
    refresh: 0s

packages:
  remote_package:
    url: https://github.com/landonr/homeThing
    ref: main
    files: [
        common/device_base.yaml, # defines api, ota, free memory and uptime sensor
        common/ipod/lilygo_tdisplay_ipod_battery.yaml, # used for battery percent
        common/ipod/lilygo_tdisplay_ipod_binary_sensor.yaml, # used for button controls
        common/ipod/lilygo_tdisplay_ipod_rotary.yaml, # used for rotary controls
        common/ipod/lilygo_tdisplay_ipod_sleep.yaml, # required for device to sleep
        common/tdisplay-s3/backlight.yaml, # backlight
        common/fonts.yaml, # default font
        common/icon_fonts.yaml, # material icons
        common/settings.yaml, # settings screen
      ]
    refresh: 0s

substitutions:
  friendly_name: "s3 homething"
  rotary_left_pin: "2"
  rotary_right_pin: "10"
  rotary_up_pin: "3"
  rotary_down_pin: "1"
  rotary_select_pin: "11"
  rotary_pin_a: "13"
  rotary_pin_b: "12"
  screen_left_pin: "GPIO0"
  screen_right_pin: "GPIO14"
  battery_pin: "4"

color: # setup primary accent colour
  - id: my_primary_accent
    red_int: 75
    green_int: 45
    blue_int: 209

light:
  # backlight
  - platform: monochromatic
    output: gpio38
    name: "Backlight"
    restore_mode: RESTORE_DEFAULT_ON
  # home assistant lights
  - platform: homeassistant_component
    id: light_livingroom
    entity_id: light.livingroom
    name: Livingroom Light Group
  - platform: homeassistant_component
    id: light_study
    entity_id: light.study
    name: Study Light Group
  - platform: homeassistant_component
    id: light_bedroom
    entity_id: light.bedroom
    name: All Lights

homeThing:
  id: homeThingMenu
  settings:
    sleep_after: 14400
  sleep_switch: sleep_toggle
  backlight: backlight
  battery:
    battery_percent: battery_percent
    charging: charging
  # media_player_group: media_group_component
  display: my_display
  on_redraw:
    then:
      component.update: my_display
  display_state:
    colors:
      accent_primary: my_primary_accent
    draw_battery_level: true
    font_small: small_font
    font_medium: medium_font
    font_large: large_font
    font_large_heavy: large_heavy_font
    font_material_large: material_font_large
    font_material_small: material_font_small
    font_logo: home_thing_logo
  screens:
    - name: Lights Screen
      entities:
        - id: light_livingroom
          type: light
        - id: light_study
          type: light
        - id: light_bedroom
          type: light

        - type: command
          name: "bedroom lights"
          command:
            - homeassistant.service:
                service: light.toggle
        - type: command
          name: "lights off"
          command:
            - homeassistant.service:
                service: light.turn_off
        - type: command
          name: "lights on"
          command:
            - homeassistant.service:
                service: light.turn_on
    - name: Settings Screen
      show_version: True
      entities:
        - id: backlight
          type: light
        - id: "restart_switch"
          type: switch
        - id: wifi_ssid
          type: text_sensor
        - id: wifi_signal_percent
          type: sensor
        - id: wifi_ip
          type: text_sensor

Problem with order from pcbway.com

I order the manufacturing of your project from your project page but the sales reps need to know more details about the case such as how to assembly, if it needs threads etc.
Can you please provide me the details or respond to the details request from the rep on pcbway.com directly?
Thank you

Sonos Favorites aren't loaded

Describe the bug
Sonos favorites are empty because they rely on a home assistant template

Expected behavior
All the sonos favorites should be listed in the Sources menu

Additional context
I use this template to get favorites formatted for the device but it should load the existing sensor.sonos_favorites

      - name: Sonos Favorites List
        state: 'OK'
        attributes:
          items: '{{ state_attr("sensor.sonos_favorites", "items").values() | list | join("~") }}'

Menu doesn't line up if it refreshes and changes size

To Reproduce
Steps to reproduce the behavior:

  1. start the device with a media player with grouping
  2. wait for boot to complete
  3. select an item after grouping
  4. it goes to the item before the index selected

Expected behavior
the right index is selected

Additional context
the menu is reloaded but the selection list isnt

Kodi navigation

Is your feature request related to a problem? Please describe.
Support kodi navigation

Describe the solution you'd like
We could have a mode which sends all commands to kodi (rotate left => menu down) to be able to have a basic navigation through kodi.

Describe alternatives you've considered

Additional context
Possible features:

  • up/down/left/right
  • play/pause/stop
  • volume up/down
    I think this would only make sense for devices which have a scroll wheel

Improve display code

Is your feature request related to a problem? Please describe.
The display code should be more independent from remote specific code. it can be based off of the esphome display menu component for colour displays

Describe the solution you'd like
esphome has added a basic display menu component that we can build on for lcd displays https://esphome.io/components/display/index.html
heres the pr for it esphome/esphome#3406
this arduino library has some good inspiration https://github.com/Spirik/GEM

  • editing letters and numbers
  • good gifs showing the result of changing menu size variables

Additional context
we need to figure out what to do with double height rows

m5 Stack Config Failing: "Unable to find action with the name 'homething_menu.scroll_counter_clockwise'."

I'm trying to install homeThing to a brand new m5Stack FIRE device. When I try to validate the configuration in ESPHome Dashboard, I'm getting a failure: "Unable to find action with the name 'homething_menu.scroll_counter_clockwise'."

Here is my config, heavily based on your wiki and samples:

---
substitutions:
  name: "home-thing"
  friendly_name: "homeThing"
  device_description: esp32 homeThing Remote Control
  board: m5stack-fire
  variant: esp32

packages:
  remote_package:
    url: https://github.com/landonr/homeThing
    ref: main
    files: [ # See https://github.com/landonr/homeThing/blob/main/GettingStarted.md
      common/device_base.yaml, # defines api, ota, free memory and uptime sensor
      common/m5stack-fire/backlight.yaml, # used for toggling backlight
      common/m5stack-fire/binary_sensor.yaml, # used for button controls
      common/m5stack-fire/binary_sensor_rotary.yaml, # used for rotary controls
      common/m5stack-fire/ip5306.yaml, # used for battery percent
      common/m5stack-fire/sidelight.yaml, # used to control LED strip
      common/fonts.yaml, # default font
      common/icon_fonts.yaml, # material icons
      common/images.yaml, # boot screen image
    ]
  base_config: !include config_deps/base_config.yaml

external_components:
  - source: # homeThing, display setup, and now playing app
      type: git
      url: https://github.com/landonr/homeThing
      ref: main
    refresh: 0s
    components: [
      homeThing, 
      homeThingDisplayState,
      homeThingApp, # only required if using apps
      homeThingAppNowPlaying # only required for Now Playing app
    ]
  - source:
      type: git
      url: https://github.com/landonr/esphome-components
      ref: main
    refresh: 0s
    components: [
      homeassistant_component,
      homeassistant_media_player,
      media_player_source,
      media_player_source_sonos,
      media_player_source_spotify,
      media_player_source_custom
    ]
  - source:
      type: git
      url: https://github.com/ssieb/custom_components
    components: [ ip5306 ]

esphome:
  name: ${name}
  friendly_name: ${friendly_name}
  comment: ${device_description}

esp32:
  board: ${board}
  framework:
    type: esp-idf
  variant: ${variant}

Here is what I get from validate using ESPHome 2024.6.6 Dashboard:

INFO ESPHome 2024.6.6
INFO Reading configuration /config/home-thing.yaml...
INFO Updating https://github.com/landonr/homeThing@main
INFO Updating https://github.com/landonr/esphome-components@main
INFO Detected timezone 'America/Los_Angeles'
Failed config

binary_sensor.gpio: [source /config/.esphome/packages/c523de9d/common/m5stack-fire/binary_sensor.yaml:2]
  platform: gpio
  id: M5_BtnA
  pin: 
    number: 39
    inverted: True
  on_click: 
    then: 
      
      Unable to find action with the name 'homething_menu.scroll_counter_clockwise'.
      homething_menu.scroll_counter_clockwise: homeThingMenu

I don't think this particular error can be caused by something on my side, but maybe I am missing something...

notifications

Is your feature request related to a problem? Please describe.
notifications exist but theyre hard to call

Describe the solution you'd like
add service calls

Additional context

voice_assistant:
  microphone: external_mic
  on_start:
    then:
      lambda: |-
        id(homeThingMenu)->clearNotifications();
        id(homeThingMenu)->addNotification("Voice Assistant", "Listening", "", true);

this should be a service call

add custom commands to option menu

when youre in the now playing menu and you hit the option menu, there are preset options

tv:

  • remote menu
  • tv power
  • back
  • home
  • pause

speaker:

  • shuffle
  • mute
  • group

we should add custom commands in here so people can do stuff like mute for 30s, toggle a scene, etc

3d printed case

Is your feature request related to a problem? Please describe.
the bare components are too pokey

Describe the solution you'd like
a 3d printed case where the components are mounted by screws. The case could have pogo pins to charge easily.

Describe alternatives you've considered
we've considered building the case around a PCB but since the components are basic we can skip that and wire everything together using jumper cables

Additional context
requirements

  • fits tdisplay
  • fits a lipo
  • fits ano rotary controller
  • doesn't melt while charging
  • passthrough buttons for tdisplays internal buttons
  • usbc port hole

Cover - detail

If the cover lets you set the exact position there can be a detail page. You should be able to select and hold on a cover to go to a detail page

Cover Detail

  • Open/Closed - tap to toggle
  • Position - number bar similar to light detail

Improve boot menu

Is your feature request related to a problem? Please describe.
The boot menu isn't really useful and it's not clear what's happening for new users

Describe the solution you'd like
It can show all of the states it needs to check off before booting so people can debug what isn't checked off

Describe alternatives you've considered

  • loading spinner
  • progress bar
  • print logs on screen as they come in

Additional context
the remote needs these states before showing the menu

  • wifi conneted
  • api connected
  • all player states read
    without these states the menu is missing labels and updates unexpectedly

Graphs for sensors

Is your feature request related to a problem? Please describe.
Sensors currently only show numeric values.

Describe the solution you'd like
By pressing the sensor menu item it could show a graph over the last x min/hours

Describe alternatives you've considered
Instead of drawing it could be a solution to receive a png (from HA) and display that. I wouldn't prefer showing pngs because it would require external configuration and I'm not sure it's possible with our device.

Additional context
I investigated a bit and it;s it pretty doable to show a graph. The tricky part is getting the data to show. Natively esphome only supports collecting values over a period of time and show them in a graph. But I would like to see a graph for a sensor even if I just turned on the remote (or return it from deep sleep). Maybe this could be resolved by having ha send an array of values on demand but it would mean external configuration. AFAIK ha doesn't support that natively.

Great project. A few pointers/ideas.

This is a great project @landonr.
I've been meaning to build a smart wall mounted "light switch" with Lilygo's ESP32 Epaper display.
I think the rotary encoder could be a good interface to navigate a simplified dashboard for homeassistant.

Sadly, drawing UX on these displays is not as straightforward as I initially hoped. The EPDiy driver is a starting point, as is the ESPUI library.

I'm leaving this info here since I believe this might be interesting to others too.

Watchdog triggering on M5Stack Fire

Hey,

I love your project and tried to install it on my M5Stack Fire.
I already tried it 3-4 times, but the software keeps rebooting with a watchdog triggering.
Logs attached. I don't know how to proceed, can you point me in the right direction?
Not sure how to continue with debugging. Already removed most of my HomeAssistant entities (scenes, scripts, lights, ...).

I flashed it via ESPHome Web, not sure if this makes any difference.

Regards
Ralf

ets Jul 29 2019 12:21:46

rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:10124
load:0x40080400,len:5828
entry 0x400806a8
[I][logger:243]: Log initialized
[C][ota:461]: There have been 0 suspected unsuccessful boot attempts.
[D][esp32.preferences:113]: Saving 1 preferences to flash...
[D][esp32.preferences:142]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[D][PlayerTV:336]: TV subbed media_player.bravia_kdl_50w829b
[D][Player:080]: Player subbed media_player.bravia_kdl_50w829b
[D][speakerGroup:417]: New speaker media_player.esszimmer
[D][speaker:171]: Sonos Speaker subbed media_player.esszimmer
[D][Player:080]: Player subbed media_player.esszimmer
[D][speakerGroup:417]: New speaker media_player.spotify_xyz
[D][speaker:171]: Sonos Speaker subbed media_player.spotify_xyz
[D][Player:080]: Player subbed media_player.spotify_xyz
[W][app:022]: Component already registered! (0x3ffba53c)
[W][app:022]: Component already registered! (0x3ffba4e4)
[W][app:022]: Component already registered! (0x3ffba580)
[W][app:022]: Component already registered! (0x3ffba510)
[I][app:029]: Running through setup()...
[C][spi:023]: Setting up SPI bus...
[D][binary_sensor:034]: 'M5_BtnA': Sending initial state OFF
[D][binary_sensor:034]: 'M5_BtnB': Sending initial state OFF
[D][binary_sensor:034]: 'M5_BtnC': Sending initial state OFF
[C][switch.gpio:011]: Setting up GPIO Switch 'Backlight'...
[D][switch:013]: 'Backlight' Turning ON.
[D][switch:037]: 'Backlight': Sending state ON
[D][switch:013]: 'Backlight' Turning ON.
[C][fastled:012]: Setting up FastLED light...
[C][light:036]: Setting up light 'Remote Light'...
[D][light:035]: 'Remote Light' Setting:
[D][light:040]: Color mode: RGB
[C][adc:036]: Setting up ADC 'VBatt'...
[D][binary_sensor:034]: 'Node Status': Sending initial state OFF
[C][wifi:037]: Setting up WiFi...
[I][wifi:248]: WiFi Connecting to 'WiFiName'...
[D][sensor:127]: 'VBatt': Sending state 1.69641 V with 2 decimals of accuracy
[D][sensor:127]: 'vcc_adc_avg': Sending state 1.69641 with 1 decimals of accuracy
[D][sensor:127]: 'batteryVoltage': Sending state 3.00265 V with 1 decimals of accuracy
[D][sensor:127]: 'Battery Percent': Sending state 0.37844 % with 1 decimals of accuracy
[D][sensor:127]: 'Battery Percent': Sending state 0.37844 % with 1 decimals of accuracy
[D][light:035]: 'Remote Light' Setting:
[D][light:046]: State: ON
[D][light:108]: Effect: 'Rainbow Effect'
[D][drawing menu:383]: turning on
[D][switch:013]: 'Backlight' Turning ON.
[D][sensor:127]: 'VBatt': Sending state 1.70616 V with 2 decimals of accuracy
[D][idle:412]: turning off display
[D][switch:017]: 'Backlight' Turning OFF.
[D][switch:037]: 'Backlight': Sending state OFF
[D][sensor:127]: 'VBatt': Sending state 1.73282 V with 2 decimals of accuracy
[D][light:035]: 'Remote Light' Setting:
[D][light:046]: State: OFF
[D][light:108]: Effect: 'None'
[D][drawing menu:387]: turning off 20
**> E (26849) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
E (26849) task_wdt: - loopTask (CPU 1)
E (26849) task_wdt: Tasks currently running:
E (26849) task_wdt: CPU 0: IDLE0
E (26849) task_wdt: CPU 1: loopTask
E (26849) task_wdt: Aborting.
abort() was called at PC 0x40168de8 on core 0

ELF file SHA256: 0000000000000000

Backtrace: 0x4008e274:0x3ffbf890 0x4008e4ed:0x3ffbf8b0 0x40168de8:0x3ffbf8d0 0x4008a101:0x3ffbf8f0 0x401874cb:0x3ffbc230 0x4016aecb:0x3ffbc250 0x400916fd:0x3ffbc270 0x4008ff52:0x3ffbc290

Rebooting...
ets Jul 29 2019 12:21:46**

rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:10124
load:0x40080400,len:5828
entry 0x400806a8
[I][logger:243]: Log initialized
[C][ota:461]: There have been 1 suspected unsuccessful boot attempts.
[D][esp32.preferences:113]: Saving 1 preferences to flash...
[D][esp32.preferences:142]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[D][PlayerTV:336]: TV subbed media_player.bravia_kdl_50w829b
[D][Player:080]: Player subbed media_player.bravia_kdl_50w829b
[D][speakerGroup:417]: New speaker media_player.esszimmer
[D][speaker:171]: Sonos Speaker subbed media_player.esszimmer
[D][Player:080]: Player subbed media_player.esszimmer
[D][speakerGroup:417]: New speaker media_player.spotify_xyz
[D][speaker:171]: Sonos Speaker subbed media_player.spotify_xyz
[D][Player:080]: Player subbed media_player.spotify_xyz
[W][app:022]: Component already registered! (0x3ffba53c)
[W][app:022]: Component already registered! (0x3ffba4e4)
[W][app:022]: Component already registered! (0x3ffba580)
[W][app:022]: Component already registered! (0x3ffba510)
[I][app:029]: Running through setup()...
[C][spi:023]: Setting up SPI bus...
[D][binary_sensor:034]: 'M5_BtnA': Sending initial state OFF
[D][binary_sensor:034]: 'M5_BtnB': Sending initial state OFF
[D][binary_sensor:034]: 'M5_BtnC': Sending initial state OFF
[C][switch.gpio:011]: Setting up GPIO Switch 'Backlight'...
[D][switch:013]: 'Backlight' Turning ON.
[D][switch:037]: 'Backlight': Sending state ON
[D][switch:013]: 'Backlight' Turning ON.
[C][fastled:012]: Setting up FastLED light...
[C][light:036]: Setting up light 'Remote Light'...
[D][light:035]: 'Remote Light' Setting:
[D][light:040]: Color mode: RGB
[C][adc:036]: Setting up ADC 'VBatt'...
[D][binary_sensor:034]: 'Node Status': Sending initial state OFF
[C][wifi:037]: Setting up WiFi...
[I][wifi:248]: WiFi Connecting to 'WiFiName'...
[D][sensor:127]: 'VBatt': Sending state 1.69884 V with 2 decimals of accuracy
[D][sensor:127]: 'vcc_adc_avg': Sending state 1.69884 with 1 decimals of accuracy
[D][sensor:127]: 'batteryVoltage': Sending state 3.00694 V with 1 decimals of accuracy
[D][sensor:127]: 'Battery Percent': Sending state 0.99179 % with 1 decimals of accuracy
[D][light:035]: 'Remote Light' Setting:
[D][light:046]: State: ON
[D][light:108]: Effect: 'Rainbow Effect'
[D][drawing menu:383]: turning on
[D][switch:013]: 'Backlight' Turning ON.
[D][sensor:127]: 'VBatt': Sending state 1.70025 V with 2 decimals of accuracy

More settings configurable

First of all kudos for this great project!
I've been tinkering with it for a couple of days (tdisplay with rotary wheel) and really am enjoying it especially the rotary wheel 😄

For my use I made the display and sleep timeouts configurable to be able to easily play with them. In my opinion having them hardcoded is not ideal since more users might want to change these values. What do you think?

Do you welcome PRs? I have limited time but would like to contribute to this project.

Media player online image is not generated

Media player online image is not generated.
I added in HA the template sensor to create the sensor media_player_image_proxy_url. I also installed and configured imgproxy, I use it a docker container, I can't install it as an addon, as I use HA in docker, but it works properly anyway.
I think the problem is that this template should get the attribute entity_picture from a sensor called active_player.
No such sensor is defined in HA, I see that is defined in the HomeThing code, but is not exported to HA.
If I change the template to get this attribute from the the media_player I am using image generation works.
I think the active_player sensor should also be exposed to HA.
Or maybe i am doing something wrong?
I am using https://github.com/landonr/homeThing/blob/main/tdisplay-s3.yaml

Make 'Now Playing' an optional app

Is your feature request related to a problem? Please describe.
Break out now playing into an optional app / screen

Describe the solution you'd like
make it included in the yaml like this

homeThing:
  apps:
    - id: now_playing
    - id: pomodoro_timer

Additional context
this would let us add apps and games without complicating the existing component

Error with PCF8574

Describe the bug
installed ESPhome and after flashing i get this error on the log. PCF8574 is soldered in the right position.

log

ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x15 (USB_UART_CHIP_RESET),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x40378c72
invalid header: 0xffffff7f
invalid header: 0xffffff7f
invalid header: 0xffffff7f
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x43c
load:0x403c9700,len:0xbec
load:0x403cc700,len:0x2a3c
entry 0x403c98d8
[I][logger:359]: Log initialized
[I][homething.nowplaying.control:017]: set_media_player_group null 1
[W][homething.menu.display:010]: Boot setup
[I][app:029]: Running through setup()...
[I][i2c.arduino:183]: Performing I2C bus recovery
[   463][E][Wire.cpp:513] requestFrom(): i2cRead returned Error -1
[E][pcf8574:012]: PCF8574 not available under 0x20
[E][component:113]: Component pcf8574 was marked as failed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.