Eufy Camera Integration

Awesome! :smiley:

theres a place for adding new stuff: https://github.com/matijse/eufy-ha-mqtt-bridge/issues/7

Cool!
This is getting forward!
Although i cant add stuff to programm, i’m glad i posted the link here
Grats to all the people contributing

i thought this is now fixed

Eufy Home Assistant MQTT Bridge Add-on v.0.3.0

I release version 0.3.0 with improved log output. Now the Log tab should easily tell everone what is going on.

Example:

3 Likes

How do I upgrade to the new version? Do I need to remove and re-add your repository in supervisor?

It should show an update after some time as the supervisor checks every 6 hours I think.

To speed things up press the three dots and click reload/refresh.

hello, am trying to use eufy-mqtt
am getting this error, not sure what am doing wrong

Symlinking data dir
removed '/app/data/config.example.yml'
removed '/app/data/.gitkeep'
removed directory '/app/data'
exporting environment vars form options file
patching console log level
starting original stuff...
> [email protected] start /app
> NODE_ENV=production node --unhandled-rejections=strict index.js
info: Migrating the database... {"timestamp":"2020-12-31T21:57:04.355Z"}
info: Stored device: Doorbell () {"timestamp":"2020-12-31T21:57:08.042Z"}
info: No credentials found -> register new... {"timestamp":"2020-12-31T21:57:08.075Z"}
(node:33) UnhandledPromiseRejectionWarning: RequestError: connect ECONNREFUSED 0.0.0.0:443
    at ClientRequest.<anonymous> (/app/node_modules/got/dist/source/core/index.js:953:111)
    at Object.onceWrapper (events.js:422:26)
    at ClientRequest.emit (events.js:327:22)
    at ClientRequest.origin.emit (/app/node_modules/@szmarczak/http-timer/dist/source/index.js:39:20)
    at TLSSocket.socketErrorListener (_http_client.js:469:9)
    at TLSSocket.emit (events.js:315:20)
    at emitErrorNT (internal/streams/destroy.js:106:8)
    at emitErrorCloseNT (internal/streams/destroy.js:74:3)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:33) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `NODE_ENV=production node --unhandled-rejections=strict index.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-12-31T21_57_08_949Z-debug.log

I had the same problem. It turned out that it had not pressed “Save” after I adjusted the configuration file of the “Eufy Home Assistant MQTT Bridge”.

So are you referring to the correct user accounts and IP of your MQTT in the config file?

yes, but am getting this also from a home assistant, it might be a login issue, I tried a different user, restart. am getting the same error

Login attempt failed

Login attempt or request with invalid authentication from supervisor (172.30.32.2) (Python/3.8 aiohttp/3.7.3)

Thanks for the great write up. You and @MaxW are doing bang-up work!

cheers

1 Like

I was able to get the floodlight camera working! I’m going to test it a few more times and probably submit a pull request tomorrow

finally, am getting success with the first step. after disable Pihole am getting this logs now

Symlinking data dir
removed '/app/data/config.example.yml'
removed '/app/data/.gitkeep'
removed directory '/app/data'
exporting environment vars form options file
patching console log level
starting original stuff...
> [email protected] start /app
> NODE_ENV=production node --unhandled-rejections=strict index.js
info: Migrating the database... {"timestamp":"2021-01-01T08:44:31.765Z"}
info: Stored device: Doorbell (T8200N0******) {"timestamp":"2021-01-01T08:44:35.285Z"}
info: No credentials found -> register new... {"timestamp":"2021-01-01T08:44:35.310Z"}
info: Registered Push Token {"response":{"code":0,"msg":"Succeed."},"timestamp":"2021-01-01T08:44:42.851Z"}

I tried to set it up manually as it shows in doc but am getting this error with home assistant

Invalid config for [binary_sensor.mqtt]: [json_attribute_topic] is an invalid option for [binary_sensor.mqtt]. Check: binary_sensor.mqtt->json_attribute_topic. (See ?, line ?).
Invalid config for [binary_sensor.mqtt]: [json_attribute_topic] is an invalid option for [binary_sensor.mqtt]. Check: binary_sensor.mqtt->json_attribute_topic. (See ?, line ?).

I checked with MQTT explorer there is nothing under home assistant topic.
again i can’t find where am doing this wrong

Is anyone else having trouble with their account password magically resetting? This has happened to me twice, while trying to get my eufy camera 2k wireless doorbell setup in HA. It’s relevant to note, I had a tough time trying to get my password to work, initially. At first I thought there was a domain disparity between eufylife.com and mysecurity.eufylife.com. This idea was further reinforced when one of my family members had the same trouble setting up their password (out of 3 invites).

I didn’t think too much about it – until my password stopped working after troubleshooting the ha-eufy-security HACS addon/integration. After many tries, I was finally able to reset my password from the eufylife site AND gain access to the mobile app and mysecurity.eufylife. This worked for about 24 hours, until it stopped working.

What is very interesting is that it is still working in iobroker. I just checked and my phone app is still working (I have not logged out of either, yet.).

I really wish Ankyer/Eufy didn’t have these TWO big problems, because I’d like to buy more of their cameras.

  1. Authentication flakiness
  2. Open source community support
1 Like

@MaxW i need to creat a guest account right? without 2FA?

For the addon to work…

Edit: i invited a guest account with a gmail adres
then logged out of my account on the app and tried to log in with the guest one
but it refuses my password although its correct
Probably cause the app used my primary account

How do you guys do this?

For what it’s worth, I’ve found their support to be good. A while back I had a RTSP iOS 14 bug and they invited me to their TestFlight to test a beta version.

1 Like

Had some similiar strange one a while ago. I create ‘Advanced’ accounts for my addons / iobroker, and use one account per addon. this works fine for me.


Eufy Home Assistant MQTT Bridge Add-on v.0.4.0

Version 0.4.0 is out in the wild. More a maintenance release, no new features.
I changed to some offical base addon image base. This might improve some stuff. I guess.

If you encounter any strange things, hit me up :v:

@MaxW Trying to start the addon 0.4.0 i get an error
Add-on: Eufy Home Assistant MQTT Bridge
Publish events as MQTT messages

Add-on version: 0.4.0
You are running the latest version of this add-on.
parse error: Expected string key before ‘:’ at line 1, column 4
[09:44:05] ERROR: Unknown HTTP error occured
System: (aarch64 / raspberrypi4-64)
Home Assistant Core: 2020.12.2
Home Assistant Supervisor: 2020.12.7

Please, share the above information when looking for help
or support in, e.g., GitHub, forums or the Discord chat.

[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing…
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
Symlinking data dir
removed ‘/app/data/.gitkeep’
removed ‘/app/data/config.example.yml’
removed directory ‘/app/data’
exporting environment vars form options file
patching console log level
starting original stuff…

[email protected] start /app
NODE_ENV=production node --unhandled-rejections=strict index.js
info: Migrating the database… {“timestamp”:“2021-01-02T08:44:07.213Z”}
(node:340) UnhandledPromiseRejectionWarning: TypeError: devices is not iterable
at EufyHttp.refreshDevices (/app/eufy/http.js:14:24)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async EufyClient.init (/app/eufy/client.js:13:5)
(Use node --trace-warnings ... to show where the warning was created)
(node:340) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see Command-line API | Node.js v21.6.2 Documentation). (rejection id: 1)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: NODE_ENV=production node --unhandled-rejections=strict index.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2021-01-02T08_44_09_081Z-debug.log
[cmd] /run.sh exited 1
[cont-finish.d] executing container finish scripts…
[cont-finish.d] 99-message.sh: executing…


            Oops! Something went wrong.

We are so sorry, but something went terribly wrong when
starting or running this add-on.

Be sure to check the log above, line by line, for hints.

@wedozayer, I had this same problem. I simply removed the attribute line and it works (I only wanted to know whether the doorbell button had been pressed. Mine is working, state simply shows “on” when doorbell is pressed. This is my working config from configuration yaml:

  • platform: mqtt
    name: Doorbell button pressed
    device_class: motion
    state_topic: homeassistant/binary_sensor/eufy/T8210xxxxx_doorbell/state
    payload_on: motion
    payload_off: clear
    off_delay: 5

Tried with different user and password for mqtt
Now i’m sure thats correct cause i use it to succesfully login via mqtt explorer

However, still errors starting addon
[s6-init] making user provided files available at /var/run/s6/etc…exited 0.
[s6-init] ensuring user provided files have correct perms…exited 0.
[fix-attrs.d] applying ownership & permissions fixes…
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts…
[cont-init.d] 00-banner.sh: executing…

Add-on: Eufy Home Assistant MQTT Bridge
Publish events as MQTT messages

Add-on version: 0.4.0
You are running the latest version of this add-on.
parse error: Expected string key before ‘:’ at line 1, column 4
[14:25:48] ERROR: Unknown HTTP error occured
System: (aarch64 / raspberrypi4-64)
Home Assistant Core: 2020.12.2
Home Assistant Supervisor: 2020.12.7

Please, share the above information when looking for help
or support in, e.g., GitHub, forums or the Discord chat.

[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing…
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
Symlinking data dir
removed ‘/app/data/.gitkeep’
removed ‘/app/data/config.example.yml’
removed directory ‘/app/data’
exporting environment vars form options file
patching console log level
starting original stuff…

[email protected] start /app
NODE_ENV=production node --unhandled-rejections=strict index.js
info: Migrating the database… {“timestamp”:“2021-01-02T13:25:50.767Z”}
(node:339) UnhandledPromiseRejectionWarning: Error: Request failed: https://mysecurity.eufylife.com/api/v1/passport/login → 100028 - Failed to request.
at /app/node_modules/eufy-node-client/build/http/http.utils.js:24:15
at Generator.next ()
at fulfilled (/app/node_modules/eufy-node-client/build/http/http.utils.js:5:58)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
(Use node --trace-warnings ... to show where the warning was created)
(node:339) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see Command-line API | Node.js v21.6.2 Documentation). (rejection id: 1)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: NODE_ENV=production node --unhandled-rejections=strict index.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2021-01-02T13_25_51_829Z-debug.log
[cmd] /run.sh exited 1
[cont-finish.d] executing container finish scripts…
[cont-finish.d] 99-message.sh: executing…


            Oops! Something went wrong.

We are so sorry, but something went terribly wrong when
starting or running this add-on.

Be sure to check the log above, line by line, for hints.

[cont-finish.d] 99-message.sh: exited 0.
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.

This seems to be a problem with the bridge itself. I am sure this is not really add on based.

I guess it has to do with your account, as the error message runs into the login path.

Also, I appreciate the effort, but there is no need to reach out to me via GitHub, this community and private message at the same time.

1 Like