Eufy Camera Integration

@Boomchil, I am using the build in script editor in iobroker. and setstate do work both with standard home/away and and custom modes. See sample below

Oh, digging through the sources i stumpled across this:

So the cli command must end with false to work!

root@iobroker:/opt/iobroker# iobroker state set eufy-security.0.T8010NXXXXXXX.station.guard_mode 0 false                               
The state "eufy-security.0.T8010NXXXXXXX.station.guard_mode" was set to "0" with flag ack=false

Is guess this is the same thing with the mqtt stuff. Will investigate further :smiley:

Okay, after some really bumpy ride on the MQTT train I decided to jump off. I ran across some huge mysterious loops, not working commands confusion to the max, and the bummer that it seems impossible to flush a whole Mosquitto queue that runs on hass.io.

Goodbye MQTT, hello REST :wave:

I installed https://github.com/ioBroker/ioBroker.simple-api and created some RESTful sensors and switches:

image

Indeed MQTT is instant, and REST takes the scan_interval (default to 60s), but i think i am cool with that. Testing at scan_interval set to 10s is totally fine for me.

Had some strange occurrences at the guard_mode sensor, sometimes i saw 1 as a string, sometimes as an integer. No idea what happened here.

sensors:
  - platform: rest
    name: station_guard_mode_restful_v3
    resource: "http://ioBroker:somePort/getPlainValue/eufy-security.0.T8010XXXXXXX.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)) }}
rest_command:
  eufy_guard_mode_away:
    url: "http://ioBroker:somePort/set/eufy-security.0.T8010XXXXXXX.station.guard_mode?value=0&ack=false"
  eufy_guard_mode_home:
    url: "http://ioBroker:somePort/set/eufy-security.0.T8010XXXXXXX.station.guard_mode?value=1&ack=false"
  eufy_guard_mode_schedule:
    url: "http://ioBroker:somePort/set/eufy-security.0.T8010XXXXXXX.station.guard_mode?value=2&ack=false"
  eufy_guard_mode_custom1:
    url: "http://ioBroker:somePort/set/eufy-security.0.T8010XXXXXXX.station.guard_mode?value=3&ack=false"
  eufy_guard_mode_custom2:
    url: "http://ioBroker:somePort/set/eufy-security.0.T8010XXXXXXX.station.guard_mode?value=4&ack=false"
  eufy_guard_mode_custom3:
    url: "http://ioBroker:somePort/set/eufy-security.0.T8010XXXXXXX.station.guard_mode?value=5&ack=false"
  eufy_guard_mode_geo:
    url: "http://ioBroker:somePort/set/eufy-security.0.T8010XXXXXXX.station.guard_mode?value=47&ack=false"
  eufy_guard_mode_disarmed:
    url: "http://ioBroker:somePort/set/eufy-security.0.T8010XXXXXXX.station.guard_mode?value=63&ack=false"
2 Likes

After I made the code changes and restarted HA, I was able to get a live view from my dashboard. I clicked the image, and after waiting about 30s looking at the eufy animated logo, I got a live view!

the iobroker integration is good and I can see the sensors via mqtt that I set up in HA for my wired eufy doorbell. However, iobroker doesnt support live streaming which I was really keen on getting. Has anyone able to get live streamining with iobroker?

Thank you very much !

I have been able to change the state with MQTT (had to check the “Use different topic names for set and get” option), but it didn’t work every time.

With the Rest command everything work well ! Now just to wait for a real HA integration :slight_smile:

Yeah, using Use different topic names for set and get is pretty important. Without it I got some message loops. Combined with retained messages it confuses the hell out of the integration :smiley:

I think I will clean everything up, create sensors for all the information I really need, and wait that someone creates some integration for HA. I think I am not able to do it myself…

@MaxW do you get live streaming from iobroker?

Nah, honestly, I am happy with the eufy-security integration at that point.

Shows me the last motion detection triggered image per default and lifestream when I click on it.

@MaxW how do you get the motion detection triggered image ? I have the following topics:

I checked the topics that you used initially but dont get any live streaming.

By using the HA integration (https://github.com/nonsleepr/ha-eufy-security). It populates a camera entity that does exactly this when shown on a picture entity.

I tried to consume the last_event_pic but was not able to create something useful of it. the last_event_pic_html is way to long to be stored in a entity state as they are limited by 255 chars.

So for now I use this components:
HA Integration for Last Picture and Livestream, MQTT for instant motion detection (untested, also other sensors) and restful API towards ioBroker for state changes.

Pretty messy at the moment, but I think about ditching he mqtt part. Usually I sit at the window in direction of the camera, so when there is motion notified i am quicker by looking out of the window that switching browsers. If I am away I am happy with the eufy app to check what is going on.


Btw, created some node-red flow to temporary change guard mode so I can water the plants and get some fresh air on the motion detection covered area. It can be triggered from Alexa by some voice command. For now this was my main goal.

1 Like

Wow this topic goes hard.
I just installed my eufy doorbell

What i want now:

  • see live camera feed in HA dashboard (no still image)
  • make nois on all hubs theres someone at the door
  • When doorbell presses automatically see live camera on all my google hubs

The last thing… is that possible? (with or without use of HA or IFTTT)
Why doesnt eufy add such thing?

Thats close to possible now?
Via mqtt or rest?

Even doorbell presses?

You can do this however ths stream stops after 3 min or so. you can the camera stop and camera start service to fire up the stream. you can see the screen in lovelace

the integration does not support this :(. You can use a RF radio to intercept the ping on 443mhz if you have the eufy doorbell that transmits, or you can use alexa to trigger an automation.

Much the same as above you cannot trigger an automation from the doorbell without intercepting the ping on 443mhz or working with alexa.

Forgot to mention, i dont have alexa, i only have google.
Getting the doorbell press is the key to all i want.
I thought this could be done with google , but i cant find it.

Truly pity
Not even with mqtt or the rest way?

So my only luck is the 443mhz IF its being used?
How do i get this to work?
Will my hamony hub capture this? How do i do it?

I’m not sure if my doorbell is the right version that will have the 433 signal… i bought it from coolblue

Edit: if harmony doesnt work, is this what i need then? https://www.bol.com/nl/p/sonoff-rf-bridge-werkt-met-google-assistant-ifttt-alexa/9200000116874595/?country=BE&Referrer=ADVNLGOO002063-G-57809360815-S-483420068842-9200000116874595&gclid=Cj0KCQiAoab_BRCxARIsANMx4S6FJE0uXvif4-90--DnS98xNwytZHlnnggrIwbhZGwudvX6FnXA61AaAk6HEALw_wcB

Will that work to get doorbell press in HA? with the doorbell from coolblue?

Or this one?
https://www.bol.com/nl/p/remote-control-wifi-station-bridge-sonoff-werkt-met-smartphone-alexa-google-home/9200000105443405/?country=BE&Referrer=ADVNLGOO002063-G-57809360815-S-483420067362-9200000105443405&gclid=Cj0KCQiAoab_BRCxARIsANMx4S6FwxEp9it98HQcFhNqIpqDsXm-dDx4Vy1ExCTfsKhOalCzFjw29I0aAv7pEALw_wcB

I dunno, how do u capture it then?
Doest it respond very fast?
I am able to capture then and post audio and video to hubs?

And furthermore, does the bridge need to be soldered and put on new firmware too?
Its not plug n play?

This is the same one ? https://nl.banggood.com/SONOFF-RF-Bridge-WIFI-433-MHz-Replacement-Smart-Home-Automation-Universal-Switch-p-1179900.html?utm_source=googleshopping&utm_medium=cpc_organic&gmcCountry=BE&utm_content=minha&utm_campaign=minha-beg-nl-pc&currency=EUR&cur_warehouse=CN&createTmp=1&utm_source=googleshopping&utm_medium=cpc_bgs&utm_content=xibei&utm_campaign=xibei-ssc-beg-nl-all-0910-13anv&gclid=Cj0KCQiAoab_BRCxARIsANMx4S7oMsuag1UYSWVH8pW8knKrYJIknygah1T_5GyEZ2OsGmIx2_QqmiQaAhjQEALw_wcB

Edit: The iobroker speaks of event ringing doorbell too, so that might be possible too ? https://github.com/bropat/ioBroker.eufy-security

fix worked. Tanx

I tried to consume the last_event_pic but was not able to create something useful of it. the last_event_pic_html is way to long to be stored in a entity state as they are limited by 255 chars.

This is possible by using the ioBroker webview. So for me I have a camera entity like this:

  - platform: generic
    name: Eufy Camera Image
    still_image_url: http://IP_ADDRESS:8082/eufy-security.0/T8200XXXXXXXXXX.jpg

Pulls the still into HASS.

Also thanks for the rest sensor tip, I just set up mine and it’s working very well. Though Iobroker doesn’t seem to be picking up motion/doorbell ringing events.

@dad-cmyk @JamesCaudle is there a way to automatically refresh the lovelace page to view the stream in a lovelace card?

Here, I wrote up a guide for how to get ioBroker working (thanks to @MaxW for the Restful API tip, works great!)

3 Likes

Couldn’t you use Portainer in HassOS to add another docker image to load? Just curious if anyone has gone down this route verses setting up another VM or RPi.