Eufy Camera Integration

Hi everyone, can anyone just get the camera status (without using ioBroker) ?
I only wish to use it has trigger to turn on lights when it detect someone.
Tks.

I have released the new version (0.2.0) with livestream support via P2P (but not only). Please test and let me know :slight_smile:

The functionality to download videos over P2P is deliberately not released yet, because I still need to implement a better solution here.
I already tested a download of the video when receiving a push notification, but this only transfers about 2 seconds of the video (the adapter is too fast :smiley: ). I thought here to start the download after a delay that depends on the configured power mode of the device (depending on the power mode the video is longer or shorter).

1 Like

Thanks for this new release, I installed it but get a load of error messages - hopefully some tips on how to resolve these; could it be certain parts of the library are not loaded properly?

First the good - the rest api still functions, arming and disarming works. Also I still get to see the last_picture of the doorbell.

Challenges however arise when attempting to activate the video / livestream:

  • Start/stop works for the regular cameras (T8113) - URL however does not work, log shows difficulties writing the files
  • Start/stop for the doorbell (T8210) does not work. (see log)

I have included a number of errors and warnings from my log. Let me know if you want some more output.

2021-02-14 19:59:30.930 - warn: eufy-security.0 (5702) writeFile will not write this file (T8113Nxxxxxx.jpg) in future versions: eufy-security.0 is not an object of type "meta"
2021-02-14 20:00:12.470 - error: eufy-security.0 (5702) EufySecurity.stationP2PCommandResult(): Station: T8010Nxxxxxx command CMD_DOORBELL_SET_PAYLOAD failed with error: ERROR_INVALID_COMMAND (-103)
2021-02-14 20:01:26.873 - warn: eufy-security.0 (5702) P2PClientProtocol.handleDataControl(): Not implemented - CONTROL message with commandId: CMD_SUB1G_REP_UNPLUG_POWER_LINE (2111) channel: 2 - data: 0300000000000000
2021-02-14 20:03:12.629 - error: eufy-security.0 (5702) Camera.stopStream(): Response code not ok (code: 20023 msg: Failed to request.)
2021-02-14 20:03:31.662 - error: eufy-security.0 (5702) EufySecurity.stationP2PCommandResult(): Station: T8010Nxxxxxx command CMD_DOORBELL_SET_PAYLOAD failed with error: ERROR_INVALID_COMMAND (-103)
2021-02-14 20:04:30.100 - info: eufy-security.0 (5702) Refresh data from cloud and schedule next refresh.
2021-02-14 20:04:30.590 - warn: eufy-security.0 (5702) writeFile will not write this file (T8113Nxxxxxx.jpg) in future versions: eufy-security.0 is not an object of type "meta"
2021-02-14 20:04:30.594 - warn: writeFile will not write this file (T8113Nxxxxxx.jpg) in future versions: eufy-security.0 is not an object of type "meta"
2021-02-14 20:04:30.620 - warn: eufy-security.0 (5702) writeFile will not write this file (T8113Nxxxxxx.jpg) in future versions: eufy-security.0 is not an object of type "meta"
2021-02-14 20:04:30.624 - warn: writeFile will not write this file (T8113Nxxxxxx.jpg) in future versions: eufy-security.0 is not an object of type "meta"
2021-02-14 20:04:30.656 - warn: eufy-security.0 (5702) writeFile will not write this file (T8210Pxxxxxx.jpg) in future versions: eufy-security.0 is not an object of type "meta"
2021-02-14 20:04:30.660 - warn: writeFile will not write this file (T8210Pxxxxxx.jpg) in future versions: eufy-security.0 is not an object of type "meta"
2021-02-14 20:06:31.793 - error: eufy-security.0 (5702) Camera.stopStream(): Response code not ok (code: 20023 msg: Failed to request.)
2021-02-14 20:40:39.165 - error: eufy-security.0 (5702) EufySecurity.onStartLivestream(): station: T8010Nxxxxxx device: T8113Nxxxxxx - Error: Error: ENOENT: no such file or directory, open '/data/iobroker/iobroker-data/files/eufy-security.0/T8010Nxxxxxx/last_live/T8113xxxxxx.jpeg'
2021-02-14 20:42:23.125 - error: eufy-security.0 (5702) EufySecurity.stationP2PCommandResult(): Station: T8010xxxxxx command CMD_DOORBELL_SET_PAYLOAD failed with error: ERROR_INVALID_COMMAND (-103)
2021-02-14 20:43:14.060 - error: eufy-security.0 (5702) Camera.stopStream(): Response code not ok (code: 20023 msg: Failed to request.)

Hi @RT1080,
please activate the debug mode of the adapter and reproduce the error. Then please send me the logfile (note: the logfile contains sensitive data; mainly the token, so redact it).

I have only the Eufycam 2, the rest I can’t test unfortunately and I implement it only by reverse engineering.
The warnings are not a problem (but I’ll fix them in the next release anyway).

Thanks, will do so tomorrow!

The eufy-ha-mqtt-bridge Add-on now also uses prebuild container images. This should speedup installation/updates and cleanup old images now :v:

Everyone might want to check with e.g. portainer if there is any unsued image laying around. This sadly is some side effect of locally build images…

As @tintim pointed out here reinstallation might be required.

To fix the error “ERROR_INVALID_COMMAND (-103)”, I see 2 possibilities:

  1. someone records the network traffic of the Eufy app during the start and stop of the livestream and sends it to me.
  2. Someone shares the doorbell as a guest from the Eufy app with my email address for the time of troubleshooting.

@bropat
Can you answer this please
I’m still looking to find a way to get a picture once somebody rings my doorbell
It currently works, but the image is always 1 ring behind if u know what i mean.

Strangely im the only one who wants this?
Is there some kind of way i do get this thing working which is fast enough?

Maybe , take a snapshot with the camera inside the doorbell when its pressed? not depending on eufy self?

Hi @bropat how can I install? can you please let me know ? thanks.

OK so I have finally found some time to get around to this. I am stuck on the lovelace portion. I am creating a lovelace screen and then using cards. What should this look like? I keep getting errors:

This is my card setup. However I’m just getting a still image and no live stream yet. I think @bropat is working on P2P live stream still.

type: picture-glance
entities:
camera_image: camera.eufy_doorbell
tap_action:
action: call-service
service: rest_command.eufy_start_stream
hold_action:
action: call-service
service: rest_command.eufy_stop_stream!

Screenshot 2021-02-15 at 15.30.51|424x262

I fixed the problem with the battery doorbell live stream in the already released version 0.2.1.

1 Like

@bropat can you please tell us how to install it?

@bachoo786 You can follow the blog post from @fuzzymistborn here.
If you already have ioBroker installed, you only need to follow this part to upgrade the adapter:

1 Like

Thanks for your super work @bropat !
I’ve setup and configured everything from all the instructions in this forum. I’m running ioBroker in docker and have exposed ports 8081, 8082 and 8087. I can get the still image and I’m able to trigger the start stream from Home Assistant and get a livestream URL. However I can’t seem to get the actual stream to show up.

When I visit:
http://192.168.0.22:8087/getPlainValue/eufy-security.0.REDACTED.cameras.REDACTED.livestream

This is what shows up in my browser:
“/eufy-security.0/REDACTED/live/REDACTED.m3u8”

(Serial number redacted for security)
Home Assistant just shows the still image of last motion detected. Any tips on how to fix?

Edit: I’ve PM’d you log file

Hi,
the solution to this problem is to delete the instance ioBroker.eufy-security and create a new one. This bug does not depend on me :frowning:

@bropat?
Any idea

I deleted the instance and created again but unfortunately no luck :frowning: According to the logs, it looks like the connection terminates and then restarts when I try the stream.

The log lines with the effective error are missing here. Can you send me the others?

Sorry, have only now seen your pm message. Have replied to you.

1 Like

@conorlap same issue. I cant trigger the stream and only have still image.