strobes
(strobes)
July 21, 2025, 10:39pm
1
Need help with this this please:
ESPHome example says
external_components:
- source:
type: git
url: https://github.com/MichaKersloot/esphome_custom_components
components: [ esp32_camera ]
This is what on the gihub. GitHub - MichaKersloot/esphome_custom_components: My collection of components for esphome
Yes, I replaced components line with components: [ esp32_camera ]
external_components:
- source:
type: git
url: https://github.com/ssieb/esphome_components
components: [ component1, component2 ]
But both return error. Looks easy but I can figure out what is missing?
Failed config
external_components: [source /config/esphome/camera.yaml:35]
- source:
type: git
url: https://github.com/ssieb/custom_components
components:
Could not find __init__.py file for component esp32_camera. Please check the component is defined by this source (search path: /data/external_components/d2e825de/components/esp32_camera/__init__.py).
- esp32_camera
zoogara
(Daryl)
July 21, 2025, 11:04pm
2
First quest - why are you using an external component for the camera component? Is there a special requirement that the built in component doesn’t provide?
Looks like the log is using this url which is failing.
https://github.com/ssieb/custom_components
I think you want this url instead??
https://github.com/MichaKersloot/esphome_custom_components
zoogara
(Daryl)
July 21, 2025, 11:53pm
4
That is a valid repository, even if it doesn’t contain esp32_camera.
Maybe tell us what you are trying to actually do?
strobes
(strobes)
July 21, 2025, 11:55pm
5
duceduc:
Looks like the log is using this url which is failing.
https://github.com/ssieb/custom_components
I think you want this url instead??
https://github.com/MichaKersloot/esphome_custom_components
With the change to the URL, YAML validation show these errors now:
INFO ESPHome 2025.7.2
INFO Reading configuration /config/esphome/camera.yaml...
ERROR Unable to import component esp32_camera:
Traceback (most recent call last):
File "/esphome/esphome/loader.py", line 200, in _lookup_module
module = importlib.import_module(f"esphome.components.{domain}")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 999, in exec_module
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "/data/external_components/0337b9f5/components/esp32_camera/__init__.py", line 20, in <module>
from esphome.cpp_helpers import setup_entity
ImportError: cannot import name 'setup_entity' from 'esphome.cpp_helpers' (/esphome/esphome/cpp_helpers.py)
Failed config
esp32_camera: [source /config/esphome/camera.yaml:42]
Component not found: esp32_camera.
external_clock:
pin: GPIO15
frequency: 20MHz
i2c_pins:
sda: GPIO4
scl: GPIO5
data_pins:
- GPIO11
- GPIO9
- GPIO8
- GPIO10
- GPIO12
- GPIO18
- GPIO17
- GPIO16
vsync_pin: GPIO6
href_pin: GPIO7
pixel_clock_pin: GPIO13
name: My Camera
strobes
(strobes)
July 21, 2025, 11:57pm
6
from this page ESP32 Camera Component — ESPHome
example for camera that I have : ESP32S3_EYE on Freenove ESP32-S3-DevKitC-1 :
zoogara
(Daryl)
July 22, 2025, 12:10am
7
It looks like something has changed in 2025.7, the example is fine under previous versions but fails on the current version.
You need to contact the author of the component.
strobes
(strobes)
July 22, 2025, 12:11am
8
Ok, thanks. I have 2025.7.2
strobes
(strobes)
August 2, 2025, 12:32am
9
This fixed now in the
ESP32 Camera Component
Tadejjavi
(Tadejjavi)
August 8, 2025, 7:36pm
10
How did you fix this? I’m still getting this same error…
INFO ESPHome 2025.7.5
INFO Reading configuration /config/esphome/kamera.yaml...
ERROR Unable to import component esp32_camera:
Traceback (most recent call last):
File "/esphome/esphome/loader.py", line 200, in _lookup_module
module = importlib.import_module(f"esphome.components.{domain}")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 999, in exec_module
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "/data/external_components/0337b9f5/components/esp32_camera/__init__.py", line 20, in <module>
from esphome.cpp_helpers import setup_entity
ImportError: cannot import name 'setup_entity' from 'esphome.cpp_helpers' (/esphome/esphome/cpp_helpers.py)
Failed config
esp32_camera: [source /config/esphome/kamera.yaml:12]
Component not found: esp32_camera.
external_clock:
pin: GPIO27
frequency: 20MHz
i2c_pins:
sda: GPIO25
scl: GPIO23
data_pins:
- GPIO17
- GPIO35
- GPIO34
- GPIO5
- GPIO39
- GPIO18
- GPIO36
- GPIO19
vsync_pin: GPIO22
href_pin: GPIO26
pixel_clock_pin: GPIO21
resolution: 800x600
agc_gain_ceiling: 32x
jpeg_quality: 10
max_framerate: 1Hz
vertical_flip: True
ae_level: 2
name: My Camera
EdwardTFN
(Edward Firmo)
August 8, 2025, 7:47pm
11
Remove the lines pointing to the external components, clean the build files, then try to install again.
If it still failing, share here your yaml so other people can duplicate it.
strobes
(strobes)
August 8, 2025, 8:03pm
12
if you use the same camera? This is from documentation and worked for me.
ESP32S3_EYE on Freenove ESP32-S3-DevKitC-1 :
# Example configuration entry
external_components:
- source: github://pr#9630
components: [ esp32_camera ]
esp32_camera:
external_clock:
pin: GPIO15
frequency: 20MHz
i2c_pins:
sda: GPIO4
scl: GPIO5
data_pins: [GPIO11, GPIO9, GPIO8, GPIO10, GPIO12, GPIO18, GPIO17, GPIO16]
vsync_pin: GPIO6
href_pin: GPIO7
pixel_clock_pin: GPIO13
frame_buffer_location: DRAM
# Image settings
name: My Camera
# ...
Tadejjavi
(Tadejjavi)
August 9, 2025, 7:32am
13
I have this camera https://lilygo.cc/products/t-journal?srsltid=AfmBOorCYxNehp_-3fHqe8-QkJRNB_wOpCkAvQZE1i6tC9un4px-qxFp
If I remove external component it doesnt give me error but the camera fails to initialise. It was only working when it was used with this external component. I guess it is something with this board mising PSRAM…
Here is yaml
esphome:
name: kamera
friendly_name: kamera
external_components:
- source:
type: git
url: https://github.com/MichaKersloot/esphome_custom_components
components: [ esp32_camera ]
# refresh: 10min
esp32_camera:
external_clock:
pin: GPIO27
frequency: 20MHz
i2c_pins:
sda: GPIO25
scl: GPIO23
data_pins: [GPIO17, GPIO35, GPIO34, GPIO5, GPIO39, GPIO18, GPIO36, GPIO19]
vsync_pin: GPIO22
href_pin: GPIO26
pixel_clock_pin: GPIO21
# Image settings
resolution: 800x600
agc_gain_ceiling: 32x
jpeg_quality: 10
max_framerate: 1Hz
vertical_flip: true
ae_level: 2
name: My Camera
# ...
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
ota:
platform: esphome
password: "0d140d484503e5be856bfdaac9fca000"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Kamera Fallback Hotspot"
password: "QjwJz0zsMyF0"
captive_portal:
strobes
(strobes)
October 24, 2025, 1:25am
14
Looks like new ESPHome (2025.10.0) broke it.
Here is the error and actual Yaml.
How to handle this?
Thank you
Compiling .pioenvs/camera/src/esphome/components/esp32_camera/esp32_camera.cpp.o
In file included from src/esphome/components/esp32_camera/esp32_camera.cpp:3:
src/esphome/components/esp32_camera/esp32_camera.h:5:10: fatal error: esp_camera.h: No such file or directory
**************************************************************************
* Looking for esp_camera.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:esp_camera.h"
* Web > https://registry.platformio.org/search?q=header:%1B%5Bm%1B%5BKesp_camera.h
*
**************************************************************************
5 | #include <esp_camera.h>
| ^~~~~~~~~~~~~~
compilation terminated.
*** [.pioenvs/camera/src/esphome/components/esp32_camera/esp32_camera.cpp.o] Error 1
========================= [FAILED] Took 228.70 seconds =========================
external_components:
- source: github://pr#9630
components: [ esp32_camera ]
esp32_camera:
external_clock:
pin: GPIO15
frequency: 20MHz
i2c_pins:
sda: GPIO4
scl: GPIO5
data_pins: [GPIO11, GPIO9, GPIO8, GPIO10, GPIO12, GPIO18, GPIO17, GPIO16]
vsync_pin: GPIO6
href_pin: GPIO7
pixel_clock_pin: GPIO13
frame_buffer_location: DRAM
# Image settings
name: My Camera
resolution: 800x600
jpeg_quality: 10 # max. 63
max_framerate: 10fps
idle_framerate: 0.5fps
vertical_flip: false
horizontal_mirror: True
brightness: 2 # -2 to 2
contrast: 1 # -2 to 2
special_effect: none
# exposure settings
aec_mode: auto
aec2: false
ae_level: 0
aec_value: 300
# gain settings
agc_mode: auto
agc_gain_ceiling: 2x
agc_value: 0
# white balance setting
wb_mode: auto
switch:
- platform: restart
name: esp-cam restart
binary_sensor:
- platform: status
name: esp-cam status
sensor:
- platform: wifi_signal
name: esp-cam WiFi Signal
zoogara
(Daryl)
October 24, 2025, 3:20am
15
You could try removing this block and rely on the current camera component - I would assume that the PR you were using has been merged a while back.