hello,
first of all congratulations for such a great project!
The time and effort you have put together into this project is enormous.
I have follow all your instructions and setup everything as instructed.
My only problem is the latency between esp32 and home assistant.
e.g. I press the button and I get the card after 15-20 seconds.
I get the camera 1 out of 10.
The esp32 signal is not the best but is not that bad (it’s 72dbm)
As for the latency, are you sure that it is between the ESP-32 and Home Assistant?
As a starting point, try watching the state of binary_sensor.doorbell_button when you press the physical button. Does it change immediately to on, or do you see long latency there?
The button changes immediately. But after that all the rest are extremely delayed.
I get the card it tablet after 15-20 ‘’. I almost never get camera picture.
Today I bought a new power supply and a new esp32.
Will test them and get back to you.
I typically get the notification with the image about 3 seconds after the doorbell is pressed. Check to see if the automation is triggered right away by looking in the Logbook, e.g.,
If the automation is triggered and notifications are sent, it might be an issue of notification settings. For my Android phone, I use:
priority: high
ttl: 0
Without that, I sometimes see a long delay.
Another thing you can check for the camera is whether the image is not received by HA from the ESP32 or whether it’s not sent from HA to your phone or wherever. Check to see if the image show up here:
If it does, that could mean that it’s not arriving at HA before the notification is sent. That could indicate a poor connection. (Mine is 60 dbm, btw.) You might need to add a delay of a second or two in the automation to given time for the image to arrive from the doorbell.
thank you so much! It seems that problem is solved!
As I told you I changed ESP and power supply.
I had the same problem.
I noticed that device was unavailable every 2-3 minutes.
Then I decided to remove the breadboard and connect pins directly.
It worked! I didn’t have any other unavailability problems.
However the camera picture on tablet was still very slow and not updated!
I checked my cards settings and I had the live view option set to Auto and not to LIVE
as soon as I changed this it worked
I’m glad that you found a solution. But, if you want to send the image in a notification in addition to displaying it in a Lovelace card, it will still be rotated in the notification.
If you have a camera with a long flex lead like this one, you can make a gentle 90deg bend in the between the camera and the connector.
The rotation issue is exactly why I used a long lead camera. I’ve just updated the Github repository to point that out:
“The reason for a long lead camera module is that the camera image is rotated at 90deg when the ESP32-Cam is in a portrait orientation. Using a long lead camera module and mounting the ESP32-Cam board backwards enables making a gentle 90deg turn in the flex between the board and the module.”
BTW, there is a missing m in community in the actual link (but not in the link text) to the card-mod rotation solution, so clicking the link will not open it. Thanks, though, I didn’t know that card-mod could rotate an image.
I saw it! Very nice!
Maybe is useful for other users to point out that the camera can be rotated with the card-mod component
Credits are more than welcome
I’ll add more detail to the repository when I get a chance.
You can use those MP3 files or any other you like, but they do have to be renamed.
Basically,
Format the SD card as FAT32
Rename the files following the example: 001.mp3, 002.mp3, etc. Keep track of which files are which number so that you can refer to them correctly in the ESPHome code later.
Copy the files to the card in the order of the numbering. So, for example, copy 001.MP3 to the card first.
Here is a good overview of working with the DFPlayer Mini. Note that although the guide shows Linux commands, you can use any OS as long as you can format FAT32.
Yes, 16mm diameter and 2mm thick.
The discs fit WITHIN the 3D printed camera surround, inside the yellow circle. Mine stay put just with friction.
The invoice in your photo shows 15mm, I think. If you plan to use the camera surround at the Onshape link, they do need to be 16mm in diameter, although you might be able to use glue with 15mm discs. Alternatively, you could modify the 3D part to have a smaller diameter.
Am still facing problems with the doorbell.
Here is the latest feedback.
I had many stability problems. Doorbell disconnected, doorbell unavailable etc etc.
I decided to power supply button and dfplayer from another power supply.
As soon as I did this, the doorbell is very stable. No more disconnects, no more unavailability issues.
Something which I didn’t figure out as the current I was supplying to doorbell was more than enough. (5V/2A)
At the moment the doorbell is stable.
The button is always lit and the card on the tablet is coming out as normal 3-5’’.
Didn’t manage to make the dfplayer to work yet, but I think I burn it.
Will get another one to make sure because I tested by itself and it still doesn’t work.
The only real problem I am still facing, is that camera crashing!
Within 2-3 days the camera will crash and it will only work if I reboot the esp.
No errors in log files, but no picture either.
Has anyone face this problem too?
Have you seen it?
I tried several things, and I also downgraded picture quality to half (320x240) but it didn’t correct the issue.
I do sometimes very briefly lose connection with doorbell in Home Assistant. This is a known issue with ESP-based devices. I haven’t noticed a missed notification because of that, though.
I have the DFPlayer and D1 Mini powered separately, albeit from the same USB cable–I just split the wires. I did that for flexibility in placement, but maybe I inadvertently avoided some stability issues by doing so.
I haven’t seen this. ESP32-Cam boards appear to vary a lot in quality, so maybe that’s the issue??? As a workaround, you could try automatically restarting the doorbell every night.
It seems I have solved all the issues with ESP32-cam and it is now very stable.
Camera streams constantly for over a week and it hasn’t crash!
So I was about ready to print the 3d design.
But when I visited onshape.com, I found out that they want 1500$ / year subscription to be able to download the 3d sketch.
Would you please upload the design to the github repository so we can download it?
They’ve recently been changing some things since Onshape got acquired, but you should still be able to create a free (not free trial) account. Go here and see if works.
I only have a free account. The difference between the free account and the paid ones is that every document you create can be seen publicly.
It’s better to start from an editable Onshape document rather that the STL files in case you need to modify anything. Explore a bit and see how you get on. The learning curve isn’t too steep, and there are lots of how tos on YouTube.
If you don’t want to make any changes after all, just right click on the bottom tabs and choose Export. Make sure that STL is the chosen format. You don’t need to change any other export settings.
This is suck a great project! Thank you for sharing all the information.
For some reason my DF-Player was not working with 5V as you had on your diagram. I connected it to 3.3V and then it was working. I had everything working and then I decided to add and change some mp3 files on the card. After that, I can’t hear any sounds/mp3s. I formatted the card and copied each file in order as I did before. Any ideas? The logs on esphome are as follows:
[15:03:03][V][dfplayer:103]: Ack ok
[15:03:03][D][light:275]: 'camera_4_button_light' Setting:
[15:03:03][D][light:284]: State: OFF
[15:03:03][D][light:275]: 'camera_4_button_light' Setting:
[15:03:03][D][light:284]: State: ON
[15:03:04][V][dfplayer:074]: Received message cmd: 0x3f arg 0x02
[15:03:04][I][dfplayer:093]: TF Card available
[15:03:04][D][light:275]: 'camera_4_button_light' Setting:
[15:03:04][D][light:284]: State: OFF
[15:03:04][D][light:275]: 'camera_4_button_light' Setting:
[15:03:04][D][light:284]: State: ON
[15:03:04][D][light:275]: 'camera_4_button_light' Setting:
[15:03:04][D][light:284]: State: OFF
[15:03:05][D][light:275]: 'camera_4_button_light' Setting:
[15:03:05][D][light:284]: State: ON
[15:03:05][D][light:275]: 'camera_4_button_light' Setting:
[15:03:05][D][light:284]: State: OFF
[15:03:05][D][light:275]: 'camera_4_button_light' Setting:
[15:03:05][D][light:284]: State: ON
[15:03:06][D][light:275]: 'camera_4_button_light' Setting:
[15:03:06][D][light:284]: State: OFF
[15:03:08][D][esp32_camera:156]: Got Image: len=12138
[15:03:12][V][sensor:023]: 'camera_4 Uptime': Received new state 698.939026
[15:03:12][D][sensor:117]: 'camera_4 Uptime': Sending state 0.00000 h with 0 decimals of accuracy
[15:03:13][D][binary_sensor:036]: 'doorbell_button': Sending state OFF