Eufy Camera Integration

Hi, HA newbie here. I’ve just installed some eufy 2c cameras at our house and am attempting to use the MQTT bridge addon (thanks MaxW and matijse!) to receive motion detection notifications to HA. I’ve managed to setup MQTT with mosquitto broker addon and the MQTT bridge addon but am receiving a series of errors in the MQTT bridge addon log saying ‘warn: DEVICE {camera name} NOT SUPPORTED! See: https://github.com/matijse/eufy-ha-mqtt-bridge/issues/7’ but it seems Eufy 2c should be supported. Anyone able to provide some advice on this issue? TIA

Can you post where its says type: please @rama3124

Strangely it says the type is T8113-Z
From what i understand Eufy 2C is T8113, not sure what the extra -Z is about

I got the cam 2 pros and they are the same. Have a Z after them. Im looking at adding support for mine, however I thought the 2c pros were listed with the Z

Just realised your the 2c not pro that’s not in there.

I had not enabled that setting, so I did it. Now I’m getting a flood of messages, like a never-ending sending of topics that repeat over and over again. I’m not sure if there’s a loop in the request someplace (I recall someone above mentioning a looping, but don’t recall if it was this), or it’s just working through all prior topics it had sent and will eventually stop (it had not after 20 min).

Curiously, my Indoor 2k sensor and switch were flashing as a result of the rapid on/off cycle they were receiving from MQTT (boo!), but my Home Base sensor and switch were stable and worked as intended (yay!). I checked my config and those two entities are exactly the same but for the name and station s/n.

Edit: the indoor cam is looping on sending 1 and 63 (so the sensor and switch are flipping out). The HomeBase is looping, too, but is sending the wifi_rssi value (so it wasn’t affecting my sensor and switch, but still looping).

Edit2: I turned that setting off due to the flooding and crashing. Now when I’m sending my MQTT payloads, it’s being sent 4x. The payload is recognized and my HomeBase changes modes, but the MQTT sensors and switches do not update to reflect the updated status.

I just enabled that setting and it overwhelmed my HA to the point where I couldn’t load the UI. I went directly to the URL for the iobroker dash and turned off the setting and restarted the MQTT instance and was able to get back to normal. So I don’t think I’ll be enabling THAT again. Not sure what happened but I think it was sending every state for every object (not just Eufy) over and over again. Yikes!

That’s exactly what’s happening with me right now. The ioBroker add-on actually ramped up to 50% of my CPU use and then crashed (but at least the topics stopped coming hahaha). I’ll likewise be disabling that switch for now, but that puts me back to where I started, where MQTT sensors do not update until I manually reload MQTT in ioBroker.

My experience has been the same as yours; I never could get MQTT sensors to update, so I ended up moving over to REST. But the URLs I am using are different from the ones that were in Fuzzy’s article. When I finally figured it out, I started getting updated last event images and my motion sensors started posting logbook entries which showed me that things were communicating.

I’m not sure why MQTT doesn’t work for me; I’m using the same external MQTT broker that I use for my weather station, under the same discovery topic and I see near real-time topic posts for things like wind speed/direction. But for the Eufy stuff, nothing updates until I restart the mqtt instance or the ioBroker add on itself.

@rpitera, @rucknapucknavitz

look here:

Eufy Camera Integration - Feature Requests - Home Assistant Community (home-assistant.io)

Unfortunately that didn’t help. And now I can’t get into the config to change it; both io and ha have become unresponsive. I’m trying to delete the MQTT instance so I can set it up again. Will report back.

Would you mind sharing those URLs (anonymized), please?

Yeah, give me a few though - trying to recover here. Finally got the MQTT instance deleted and things are almost back to normal again. Have to do a restart because I lost my zwave during the resource flood.

Here’s what I am using for motion sensors:


- platform: rest
  resource: http://IOBROKER_IP:8087/getPlainValue/eufy-security.0.BASE_STATION_ID.cameras.CAMERA_ID.motion_detected
  name: eufy front right motion
  device_class: motion
- platform: rest
  resource: http://IOBROKER_IP:8087/getPlainValue/eufy-security.0.BASE_STATION_ID.cameras.CAMERA_ID.person_detected
  name: eufy front right person
  device_class: motion

And this is what is working for me for cameras (gets last event image and updates when new event)

- platform: generic
  still_image_url: http://IOBROKER_IP:8082/eufy-security.0/BASE_STATION_ID/last_event/CAMERA_ID.jpeg
  name: eufy_front_right

Note that it’s JPEG and not JPG.

1 Like

Also here’s what I am using for battery and for base station status:

- platform: rest
  name: eufy front right battery
  resource: http://IOBROKER_IP:8087/getPlainValue/eufy-security.0.BASE_STATION_ID.cameras.CAMERA_ID.battery
  device_class: battery
  unit_of_measurement: '%'
  scan_interval: 60
- platform: rest
  name: eufy base station mode
  resource: http://IOBROKER_IP:8087/getPlainValue/eufy-security.0.BASE_STATION_ID.station.guard_mode
  scan_interval: 10
  value_template: >-
    {% set v = value | replace('"', "")|int  %}
    {{ {0: "Away",
        1: "Home",
        2: "Schedule",
        3: "Custom1",
        4: "Custom2",
        5: "Custom3",
        47: "Geofence",
        63: "Disarmed"}[v] | default("Unknown state:" + (value|urlencode)) }}

Having to restart my VM as ZW got hosed when I had the MQTT meltdown. Yikes.

1 Like

@rucknapucknavitz

can you try manually triggering the rest_command? Cut and paste the string into a web browser.

That works for me 100% of the time, both for reading states, and changing them.

I am having some weird issues here. So I wanted to upgrade the IoBroker adapter (https://github.com/bropat/ioBroker.eufy-security) so i just installed it again and it upgraded. I then got the error;

startInstance system.adapter.eufy-security.0: required adapter "web" not found!

So I tried to install the web adapter (that was missing for some reason?) and then things just started to blow up. I tried restarting the ioBroker with no success. Did I install some wrong dependency or something? Any one now?

|eufy-security.0|2021-04-08 22:15:39.464|error|at processTicksAndRejections (internal/process/task_queues.js:97:5)|
|---|---|---|---|
|eufy-security.0|2021-04-08 22:15:39.464|error|at fulfilled (/opt/iobroker/node_modules/eufy-security-client/build/http/station.js:5:58)|
|eufy-security.0|2021-04-08 22:15:39.464|error|at Generator.next (<anonymous>)|
|eufy-security.0|2021-04-08 22:15:39.464|error|at Station.<anonymous> (/opt/iobroker/node_modules/eufy-security-client/build/http/station.js:177:43)|
|eufy-security.0|2021-04-08 22:15:39.464|error|(864) TypeError: this.hub.devices is not iterable|
|eufy-security.0|2021-04-08 22:15:39.463|error|(864) unhandled promise rejection: this.hub.devices is not iterable|
|Unhandled|2021-04-08 22:15:39.463|error|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().|

|eufy-security.0|2021-04-08 22:15:57.244|info|(891) Connected to station T8010P2320280BE5 on host 192.168.0.33 and port 21275.|
|---|---|---|---|
|eufy-security.0|2021-04-08 22:15:57.213|info|(891) Terminated (NO_ERROR): Without reason|
|eufy-security.0|2021-04-08 22:15:57.212|info|(891) terminating|
|eufy-security.0|2021-04-08 22:15:56.947|info|(891) Disconnect from station T8010P2320280BE5.|
|eufy-security.0|2021-04-08 22:15:56.947|info|(891) Disconnect from station T8010P2320270ADF.|
|eufy-security.0|2021-04-08 22:15:56.945|error|(891) TypeError: this.hub.devices is not iterable at Station.<anonymous> (/opt/iobroker/node_modules/eufy-security-client/build/http/station.js:177:43) at Generator.next (<anonymous>) at f|
|eufy-security.0|2021-04-08 22:15:56.944|error|(891) unhandled promise rejection: this.hub.devices is not iterable|
|eufy-security.0|2021-04-08 22:15:56.944|error|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().|

Apparently I got the FNG Block this morning for too many replies on my first day, and had to wait 6 hours to respond. :slight_smile:

Sorry it messed up your system. Mine just crashed the container (I have it installed via MaxW’s add-on repo). I was able to restart the add-on and switch off the setting before it overwhelmed my system.

Thanks so much for these REST entries. They worked great for REST sensors (but I’m now using the Eufy Home Assistant MQTT Bridge (again via MaxW) as it all self-configured and is working great (a little faster refresh than REST).

I am still having issues with rest_command switches for guard_mode via ioBroker being recognized on the Indoor cameras (works absolutely fine and near instant on a HomeBase 2).

Well, switches on next on my list so I’ll post back here once I get them working. I might give the bridge another chance at some point to see if the motion sensors are any better, but I’m done with MQTT on ioBroker. It never seems to update unless restarted and REST cams/sensors are working for me.

As an FYI, i’m working to update my blog to be statically generated and have the source in github, so people can make PRs to update anything that’s wrong/needs updating. Figured my Eufy Security post would probably be a prime candidate for that.

2 Likes

This didn’t work for me either, unfortunately.

I tried with “Send states (ack=true) too” set to on and the “Subscribe patterns” set to something random (notopic/#). It certainly stopped the flood of topics but I’m unable to communicate back to the cameras unless the Subscribe patters are “all” (#) or specific to eufy-security - in which case the infinite loop starts all over again.

I suppose this approach may be a fix For MQTT sensors, but not for deploying MQTT switches.

Is there something with the “Default QoS” settings, perhaps?

I’m finding the Eufy Home Assistant MQTT Bridge (I have it installed via MaxW’s add-on repo.) to be flawless with motion states (if they only last a brief second… I want the sensor to stay “on” for a period of time after the trigger but haven’t figured that out), last event images, and battery %, and is updating more quickly than the rest_sensor camera images (thanks @riptera for getting me sorted there!). So there has got to be a solution hidden in here someplace for the ioBroker MQTT instance.