So is it just me or my eufy 2c’s the rstp stream won’t be active unless motion is detected. Is this normal? Is there a way around it?
They are battery operated of course they won’t get activated unless;
- motion is detected
- you call start_rtsp_livestream service
Right, I have them hardwired with USB power, just trying to figure out how to be able to make the cameras operate as they do inside the Eufy app.
I’m having the same problem. My doorbell camera is set to high encoding format. In the RSTP addon logs it shows this:
2023/01/16 21:28:37 I [0/0] [RTSP] [conn x.x.x.x:47834] ERR: source of path 'T8210P6421502310' has timed out
2023/01/16 21:28:37 I [0/0] [RTSP] [conn x.x.x.x:47834] closed
I’ve been kind of following along on github but the depth of detail there is a bit beyond me. Is it looking possible to recover thumbnail images directly from Eufy or is that behind an encryption wall?
For the time being I have this working by automation to start / update / stop the video streams but it’s not ideal as this takes a few moments to work and more often than not the subject has walked through the camera and I get an empty thumbnail + notification.
I also assume that unnecessary streams on my doorbell will drain the battery more than the thumbnail approach.
Very grateful for all the impressive work that is happening here. Including motion detection working on my floodlight cam, which didn’t work prior to the 6.x versions.
Hi, has something changed with the integration, the binary_sensor streaming sensor doesnt seem to exist anymore. What can be watched to control the conditional cards now? I tried streaming state but this isnt reliable, it seems to change to preparing but barely changes to streaming and deoesnt change back - very unreliable.
There have been a lot of great updates to the integration. Assuming you still have everything installed, you can try the new yaml code posted on the github page. This is working great for me.
square: true
columns: 1
type: grid
cards:
- type: conditional
conditions:
- entity: camera.my_driveway
state: idle
card:
show_state: true
show_name: true
type: picture-entity
entity: camera.my_driveway
camera_image: camera.my_driveway
tap_action:
action: call-service
service: camera.turn_on
data: {}
target:
entity_id: camera.my_driveway
- type: conditional
conditions:
- entity: camera.my_driveway
state: streaming
card:
type: vertical-stack
cards:
- show_name: true
show_icon: false
type: button
tap_action:
action: call-service
service: camera.turn_off
data: {}
target:
entity_id: camera.my_driveway
entity: camera.my_driveway
name: Stop
- type: custom:webrtc-camera
entity: camera.my_driveway
7- If you have installed RTSP Simple Server Add-On
, please put its IP Address
and Port
into Integration Configuration page.
HI, how i add the config don’t work for me… Thanks. I use the Eufy Video Doorbell Battery Slim
And my camera don’t change the picture as snapshot how can i fix that
I mainly use Home Assistant for importing non-Homekit devices into Homekit.
I have two EufyCams 2C natively in Homekit via HomeBase and I purchased the 2K Eufy wireless doorbell - 8210, thinking that I’ll be able to use it in Homekit through this awesome integration.
I now have it in Homekit but I’m unable to make it start streaming unless I turn on the streaming in Home Assistant prior accessing it in the Home App.
In the RTSP Simple Server Add-on Log I could see the attempt for the RunOnDemand command when I access the doorbell in Home App but I get a not responding error instead of video as the doorbell is not continuously streaming:
Has anyone been able to make an automation so when the RTSP Simple Server Add-on starts a RunOnDemand command to automatically trigger the doorbell P2P streaming?
I would really appreciate if someone can help me please? Even when my floodcam was at idle, snapshot of last motion detected used to be displayed in the card until recently but now it doesn’t for some reason. Then I start streaming, but that too stops after few minutes and the card stops working. And if I want to start streaming again, I need to restart HA.
I get this from RTSP add-on
Someone earlier mentioned the issue could be to do with h265 and I think that might be right. If I start streaming and open RTSP in VLC player it does open however doesn’t actually show the live stream. For some reason it shows a still image with a timestamp from the time it was opened in VLC. If I try and open the stream via the HA app on my IOS device it doesn’t play at all.
I’m having issues with h265. Tried everything. Lowering the quality on a homebase 3 still streams in h265. I’m at a loss what to do.
Hey All,
Having an issue with Eufy integration.
it’s not validating the captcha.
System Info:
Raspberry Pi4 4GB
OS: Rasbian 64bit
Home Assistant Docker 2023.1.7
HACS 1.30.0
Eufy Security v6.2.0
eufy-security-ws-1(docker Container) 2.4.0
This error originated from a custom integration.
Logger: aiohttp.server
Source: custom_components/eufy_security/config_flow.py:148
Integration: Eufy Security (documentation, issues)
First occurred: January 24, 2023 at 6:57:14 PM (2 occurrences)
Last logged: 8:14:56 AM
Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 227, in forwarded_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 81, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 136, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 171, in get
return await super().get(request, flow_id)
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 96, in get
result = await self._flow_mgr.async_configure(flow_id)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 286, in async_configure
result = await self._async_handle_step(
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 374, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
File "/config/custom_components/eufy_security/config_flow.py", line 148, in async_step_reauth_confirm
"captcha_img": '<img id="eufy_security_captcha" src="' + coordinator.config.captcha_img + '"/>'
TypeError: can only concatenate str (not "NoneType") to str
This error originated from a custom integration.
Logger: aiohttp.server
Source: custom_components/eufy_security/eufy_security_api/api_client.py:94
Integration: Eufy Security (documentation, issues)
First occurred: 8:16:09 AM (1 occurrences)
Last logged: 8:16:09 AM
Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 456, in wait_for
return fut.result()
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/config/custom_components/eufy_security/eufy_security_api/api_client.py", line 88, in _check_interactive_mode
await asyncio.wait_for(self._mfa_future, timeout=5)
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 458, in wait_for
raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 227, in forwarded_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 81, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 136, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 180, in post
return await super().post(request, flow_id)
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 73, in wrapper
result = await method(view, request, data, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
result = await self._flow_mgr.async_configure(flow_id, data)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 286, in async_configure
result = await self._async_handle_step(
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 374, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
File "/config/custom_components/eufy_security/config_flow.py", line 151, in async_step_reauth_confirm
return await self.async_step_user(user_input)
File "/config/custom_components/eufy_security/config_flow.py", line 80, in async_step_user
await coordinator.set_captcha_and_connect(captcha_id, captcha_input)
File "/config/custom_components/eufy_security/coordinator.py", line 73, in set_captcha_and_connect
await self._api.set_captcha_and_connect(captcha_id, captcha_input)
File "/config/custom_components/eufy_security/eufy_security_api/api_client.py", line 135, in set_captcha_and_connect
await self._set_products()
File "/config/custom_components/eufy_security/eufy_security_api/api_client.py", line 102, in _set_products
await self._check_interactive_mode()
File "/config/custom_components/eufy_security/eufy_security_api/api_client.py", line 94, in _check_interactive_mode
raise DriverNotConnectedError() from exc
custom_components.eufy_security.eufy_security_api.exceptions.DriverNotConnectedError
Log from Portainer
• cipher:176 update
node:internal/crypto/cipher:176:11
• utils.ts:175 decryptAPIData
node_modules/eufy-security-client/src/http/utils.ts:175:16
• api.ts:1027 decryptAPIData
node_modules/eufy-security-client/src/http/api.ts:1027:43
• api.ts:528 getDeviceList
node_modules/eufy-security-client/src/http/api.ts:528:49
• task_queues:96 processTicksAndRejections
node:internal/process/task_queues:96:5
• api.ts:574 refreshDeviceData
node_modules/eufy-security-client/src/http/api.ts:574:25
• api.ts:596 refreshAllData
node_modules/eufy-security-client/src/http/api.ts:596:9
• eufysecurity.ts:619 refreshCloudData
node_modules/eufy-security-client/src/eufysecurity.ts:619:9
2023-01-25 22:44:22.373 ERROR Tried to re-authenticate to Eufy cloud, but failed in the process. Manual intervention is required!
2023-01-25 22:44:22.375 INFO No devices found.
2023-01-25 22:44:30.862 INFO Disconnected from station T8010N132138111D
2023-01-25 22:44:36.073 INFO Connected to station T8010N132138111D on host 192.168.1.45 and port 17753
2023-01-25 22:45:39.593 INFO Disconnected from station T8010N132138111D
2023-01-25 22:45:44.808 INFO Connected to station T8010N132138111D on host 192.168.1.45 and port 26819
2023-01-25 22:46:48.342 INFO Disconnected from station T8010N132138111D
2023-01-25 22:46:53.565 INFO Connected to station T8010N132138111D on host 192.168.1.45 and port 29801
2023-01-25 22:47:57.087 INFO Disconnected from station T8010N132138111D
2023-01-25 22:48:02.359 INFO Connected to station T8010N132138111D on host 192.168.1.45 and port 22812
2023-01-25 22:49:05.837 INFO Disconnected from station T8010N132138111D
2023-01-25 22:49:11.057 INFO Connected to station T8010N132138111D on host 192.168.1.45 and port 27922
2023-01-25 22:50:14.577 INFO Disconnected from station T8010N132138111D
2023-01-25 22:50:19.790 INFO Connected to station T8010N132138111D on host 192.168.1.45 and port 22880
2023-01-25 22:51:23.333 INFO Disconnected from station T8010N132138111D
2023-01-25 22:51:28.602 INFO Connected to station T8010N132138111D on host 192.168.1.45 and port 16942
2023-01-25 22:52:32.089 INFO Disconnected from station T8010N132138111D
2023-01-25 22:52:37.300 INFO Connected to station T8010N132138111D on host 192.168.1.45 and port 17651
2023-01-25 22:53:40.849 INFO Disconnected from station T8010N132138111D
2023-01-25 22:53:46.071 INFO Connected to station T8010N132138111D on host 192.168.1.45 and port 21262
2023-01-25 22:54:24.931 ERROR Status return code 401, invalidate token
{
status: 401,
statusText: 'Unauthorized'
}
2023-01-25 22:54:24.942 ERROR Tried to re-authenticate to Eufy cloud, but failed in the process. Manual intervention is required!
2023-01-25 22:54:24.948 ERROR Generic Error:
HTTPError Response code 401 (Unauthorized)
details:
{
code: 'ERR_NON_2XX_3XX_RESPONSE',
timings: {
start: 1674687262386,
socket: 1674687262387,
lookup: 1674687262397,
connect: 1674687262651,
secureConnect: 1674687263176,
upload: 1674687263177,
response: 1674687263432,
end: 1674687263433,
error: undefined,
abort: 1674687264927,
phases: {
wait: 1,
dns: 10,
tcp: 254,
tls: 525,
request: 1,
firstByte: 255,
download: 1,
total: 2541
}
}
m
error stack:
• index.js:118 <anonymous>
node_modules/got/dist/source/as-promise/index.js:118:42
• task_queues:96 processTicksAndRejections
node:internal/process/task_queues:96:5
2023-01-25 22:54:24.954 INFO No houses found.
2023-01-25 22:54:24.955 INFO No stations found.
2023-01-25 22:54:24.957 INFO No devices found.
2023-01-25 22:54:49.602 INFO Disconnected from station T8010N132138111D
2023-01-25 22:54:54.813 INFO Connected to station T8010N132138111D on host 192.168.1.45 and port 26873
2023-01-25 22:55:58.338 INFO Disconnected from station T8010N132138111D
2023-01-25 22:56:03.557 INFO Connected to station T8010N132138111D on host 192.168.1.45 and port 20017
2023-01-25 22:57:07.079 INFO Disconnected from station T8010N132138111D
2023-01-25 22:57:12.500 INFO Connected to station T8010N132138111D on host 192.168.1.45 and port 28222
2023-01-25 22:58:15.983 INFO Disconnected from station T8010N132138111D
2023-01-25 22:58:21.199 INFO Connected to station T8010N132138111D on host 192.168.1.45 and port 15368
2023-01-25 22:59:24.775 INFO Disconnected from station T8010N132138111D
2023-01-25 22:59:30.002 INFO Connected to station T8010N132138111D on host 192.168.1.45 and port 14321
Hey! Did you ever get to the bottom of the EAI_AGAIN error?
I’m getting the below while trying to set this up in Docker on my Pi:
docker run -it -e USERNAME=XX -e PASSWORD=XX -e COUNTRY=xx -e TRUSTED_DEVICE_NAME=XX -p 3000:3000/tcp bropat/eufy-security-ws:1.3.0
Unable to start driver RequestError: getaddrinfo EAI_AGAIN extend.eufylife.com
at ClientRequest.<anonymous> (/usr/src/app/node_modules/got/dist/source/core/index.js:970:111)
at Object.onceWrapper (node:events:628:26)
at ClientRequest.emit (node:events:525:35)
at ClientRequest.origin.emit (/usr/src/app/node_modules/@szmarczak/http-timer/dist/source/index.js:43:20)
at TLSSocket.socketErrorListener (node:_http_client:494:9)
at TLSSocket.emit (node:events:513:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:109:26) {
code: 'EAI_AGAIN',
timings: {
start: 1674843294678,
socket: 1674843294682,
lookup: 1674843299683,
connect: undefined,
secureConnect: undefined,
upload: undefined,
response: undefined,
end: undefined,
error: 1674843299685,
abort: undefined,
phases: {
wait: 4,
dns: 5001,
tcp: undefined,
tls: undefined,
request: undefined,
firstByte: undefined,
download: undefined,
total: 5007
}
}
}
New here and new to Home Assistant… but I think I’m getting the hang of it (been doing home automation since X10 days).
Ok, so I have the Eufy Security Integration up and running and just about everything appears to be working as it should. The one thing I’m having problems with is my T8900 contact sensor. I can’t get the system to recognize open/close events. Every time I try, I get the following error:
2023-01-29 03:55:56.986 ERROR Station T8030P1322420A34 - CMD_NOTIFY_PAYLOAD Error:
{
error: SyntaxError: Unexpected token in JSON at position 35
at JSON.parse (<anonymous>)
at P2PClientProtocol.handleDataControl (/usr/src/app/node_modules/eufy-security-client/build/p2p/session.js:1450:43)
at P2PClientProtocol.handleData (/usr/src/app/node_modules/eufy-security-client/build/p2p/session.js:1043:18)
at P2PClientProtocol.parseDataMessage (/usr/src/app/node_modules/eufy-security-client/build/p2p/session.js:1031:26)
at P2PClientProtocol.handleMsg (/usr/src/app/node_modules/eufy-security-client/build/p2p/session.js:868:26)
at Socket.<anonymous> (/usr/src/app/node_modules/eufy-security-client/build/p2p/session.js:1732:56)
at Socket.emit (node:events:513:28)
at UDP.onMessage [as onmessage] (node:dgram:930:8),
payload: '{"cmd":1550,"payload":{"status":1}}\x00'
}
Thoughts?
Got the same Captcha problems…
Unknown error occurered.
Any thoughts on this issue?
I would be very grateful if anyone could help with installation, because it is very frustrating.
Please be kind - I’m a newbie of 2 weeks to HA and am on a steep learning curve, but this addon is the most needed.
I’ve set up a seperate Eufy account, shared it and installed into HACS as instructed.
I have installed and uninstalled probably 20 times now with no successful conclusion.
I have never got to the point of seeing the Listening and Connection messages in the Logs.
When I install the addon, I fill in the configuration details. When I click Save, the screen immediately changes to “This addon does not expose configuration for you to mess with”
Sometimes the addon has started, but as mentioned, I have never seen the successful connection messages in the Logs.
On this installation when I try to start, there is a flash of Addon Name, CPU and Ram, but then it reverts back to Start.
There is normally nothing in the log, but sometimes I see a Killed message.
I have tried this before and after rebooting HA.
There is nothing in the main logs.
I understand this is pretty vague, but if further information is required, please ask.
If you Google that error message the suggestion is to clear your browser cache / hard refresh your browser - suggest to try that and then save the config settings.
Hi Ronald,
I’ve already tried that.
I even used a different browser.
Still no luck