Eufy Camera Integration

the amcrest does.

Yeah but i’ve seen SO many quality issues/complaints with the Amcrest I’m steering clear.

1 Like

I did not use HA-MQTT Bridge, since there is no normal instruction on what and how to install and not everything I need, but these HASSOS Addon: homeassistant-addons/eufy-ha-mqtt-bridge at main · MaxWinterstein/homeassistant-addons · GitHub they don’t work. I decided to withdraw the management for myself. Also, there is no mention of how to configure the MQTT broker in iobroker so that I could control the camera. I’ll share my settings. We put the MQTT broker in iobroker and do it as in the screenshot.

Be sure to include

  • Send states (ack=true) too - Normally only the states/commands with ack=false will be sent to partner. If this flag is set every state independent of ack will be sent to partner.
  • Use different topic names for set and get - if active, so every state will have two topics: adapter/instance/stateName and adapter/instance/stateName/set. In this case topic with /set will be used to send non acknowledged commands (ack: false) and topic without /set to receive state updates (with ack: true). The client will receive sent messages back in this mode.

Configuring the MQTT broker


Configuring the MQTT client

Brought out the control. The config is below. You need to replace T841000000000000 and specify your camera number instead of T841000000000000. I turned on Retain specifically to save messages, because there is no feedback from the integration, and if you restart MQTT, the status of the buttons will not be saved.

# Camera Control Eufy Indoor Cam 2K Pan & Tilt
##################################################################################
# Circuit breakers
switch:
# Enable / disable the camera
  - platform: mqtt
    unique_id: Device enabled
    name: "Eufy camera device enabled"
    command_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/device_enabled/set"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/device_enabled"
    payload_on: "true"
    payload_off: "false"
    state_on: "true"
    state_off: "false"
    retain: true
    qos: 0
    icon: mdi:camera-off

# Turn on / off the LED indicator
  - platform: mqtt
    unique_id: LED status
    name: "Eufy camera led status"
    command_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/led_status/set"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/led_status"
    payload_on: "true"
    payload_off: "false"
    state_on: "true"
    state_off: "false"
    retain: true
    qos: 0
    icon: mdi:white-balance-sunny

# Enable / disable night surveillance
  - platform: mqtt
    unique_id: Auto nightvision
    name: "Eufy camera auto nightvision"
    command_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/auto_nightvision/set"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/auto_nightvision"
    payload_on: "true"
    payload_off: "false"
    state_on: "true"
    state_off: "false"
    retain: true
    qos: 0
    icon: mdi:camera-enhance

# Enable / disable RTSP stream
  - platform: mqtt
    unique_id: RTSP stream
    name: "Eufy camera rtsp stream enabled"
    command_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/rtsp_stream/set"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/rtsp_stream"
    payload_on: "true"
    payload_off: "false"
    state_on: "true"
    state_off: "false"
    retain: true
    qos: 0
    icon: mdi:video-wireless-outline

# Enable / disable motion detection
  - platform: mqtt
    unique_id: Motion detection
    name: "Eufy camera motion detection"
    command_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/motion_detection/set"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/motion_detection"
    payload_on: "true"
    payload_off: "false"
    state_on: "true"
    state_off: "false"
    retain: true
    qos: 0
    icon: mdi:camera-account

# Enable / disable pet detection
  - platform: mqtt
    unique_id: Pet detection
    name: "Eufy camera pet detection"
    command_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/pet_detection/set"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/pet_detection"
    payload_on: "true"
    payload_off: "false"
    state_on: "true"
    state_off: "false"
    retain: true
    qos: 0
    icon: mdi:camera-account

# Enable / disable sound detection
  - platform: mqtt
    unique_id: Sound detection
    name: "Eufy camera sound detection"
    command_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/sound_detected/set"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/sound_detected/set"
    payload_on: "true"
    payload_off: "false"
    state_on: "true"
    state_off: "false"
    retain: true
    qos: 0
    icon: mdi:account-voice

##################################################################################
# Sensors
sensor:
# Sound and motion sensors
  - platform: mqtt
    name: "Eufy camera motion detected"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/motion_detected"
    icon: mdi:camera-account

  - platform: mqtt
    name: "Eufy camera person detected"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/person_detected"
    icon: mdi:camera-account

  - platform: mqtt
    name: "Eufy camera pet detection"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/pet_detection"

  - platform: mqtt
    name: "Eufy camera crying detected"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/crying_detected"

  - platform: mqtt
    name: "Eufy camera sound detection"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/sound_detection"
    icon: mdi:account-voice


# Camera System Information
  - platform: mqtt
    name: "Eufy camera name"
    state_topic: "iobroker/eufy-security/0/T841000000000000/station/name"
    icon: mdi:webcam

  - platform: mqtt
    name: "Eufy camera model"
    state_topic: "iobroker/eufy-security/0/T841000000000000/station/model"
    icon: mdi:webcam

  - platform: mqtt
    name: "Eufy camera serial number"
    state_topic: "iobroker/eufy-security/0/T841000000000000/station/serial_number"
    icon: mdi:webcam

  - platform: mqtt
    name: "Eufy camera software version"
    state_topic: "iobroker/eufy-security/0/T841000000000000/station/software_version"
    icon: mdi:webcam

  - platform: mqtt
    name: "Eufy camera rtsp stream url"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/rtsp_stream_url"
    icon: mdi:webcam


Я не стал использовать HA-MQTT Bridge, так как нет нормальной инструкции что и как ставить и не все, что мне нужно, а эти HASSOS Addon: homeassistant-addons/eufy-ha-mqtt-bridge at main · MaxWinterstein/homeassistant-addons · GitHub не работают. Решил сам вывести управление для себя. Также тут нет упоминания как нужно было настроить MQTT брокер в iobroker, чтобы я мог управлять камерой. Поделюсь своими настройками. Ставим в iobroker MQTT брокер и делаем как на скриншоте.

Обязательно включаем

  • Send states (ack=true) too - Normally only the states/commands with ack=false will be sent to partner. If this flag is set every state independent of ack will be sent to partner.
  • Use different topic names for set and get - if active, so every state will have two topics: adapter/instance/stateName and adapter/instance/stateName/set. In this case topic with /set will be used to send non acknowledged commands (ack: false) and topic without /set to receive state updates (with ack: true). The client will receive sent messages back in this mode.

Настройка MQTT брокера


Настройка MQTT клиента

Вывел управление. Конфиг ниже. Нужно заменить T841000000000000 и вместо T841000000000000 указать свой номер камеры. Retain включил специально, чтобы сохранялись сообщения, ибо от интеграции нет обратной связи и если перезагрузить MQTT то статус кнопок не сохранится.

# Управление камерой Eufy Indoor Cam 2K Pan & Tilt
##################################################################################
# Выключатели
switch:
# Включить\выключить камеру
  - platform: mqtt
    unique_id: Device enabled
    name: "Eufy camera device enabled"
    command_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/device_enabled/set"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/device_enabled"
    payload_on: "true"
    payload_off: "false"
    state_on: "true"
    state_off: "false"
    retain: true
    qos: 0
    icon: mdi:camera-off

# Включить\выключить LED индикатор
  - platform: mqtt
    unique_id: LED status
    name: "Eufy camera led status"
    command_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/led_status/set"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/led_status"
    payload_on: "true"
    payload_off: "false"
    state_on: "true"
    state_off: "false"
    retain: true
    qos: 0
    icon: mdi:white-balance-sunny

# Включить\выключить ночное наблюдение
  - platform: mqtt
    unique_id: Auto nightvision
    name: "Eufy camera auto nightvision"
    command_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/auto_nightvision/set"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/auto_nightvision"
    payload_on: "true"
    payload_off: "false"
    state_on: "true"
    state_off: "false"
    retain: true
    qos: 0
    icon: mdi:camera-enhance

# Включить\выключить RTSP stream
  - platform: mqtt
    unique_id: RTSP stream
    name: "Eufy camera rtsp stream enabled"
    command_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/rtsp_stream/set"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/rtsp_stream"
    payload_on: "true"
    payload_off: "false"
    state_on: "true"
    state_off: "false"
    retain: true
    qos: 0
    icon: mdi:video-wireless-outline

# Включить\выключить обнаружение движения
  - platform: mqtt
    unique_id: Motion detection
    name: "Eufy camera motion detection"
    command_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/motion_detection/set"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/motion_detection"
    payload_on: "true"
    payload_off: "false"
    state_on: "true"
    state_off: "false"
    retain: true
    qos: 0
    icon: mdi:camera-account

# Включить\выключить обнаружение домашних животных
  - platform: mqtt
    unique_id: Pet detection
    name: "Eufy camera pet detection"
    command_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/pet_detection/set"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/pet_detection"
    payload_on: "true"
    payload_off: "false"
    state_on: "true"
    state_off: "false"
    retain: true
    qos: 0
    icon: mdi:camera-account

# Включить\выключить обнаружение звука
  - platform: mqtt
    unique_id: Sound detection
    name: "Eufy camera sound detection"
    command_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/sound_detected/set"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/sound_detected/set"
    payload_on: "true"
    payload_off: "false"
    state_on: "true"
    state_off: "false"
    retain: true
    qos: 0
    icon: mdi:account-voice

##################################################################################
# Сенсоры
sensor:
# Датчики звука и движения
  - platform: mqtt
    name: "Eufy camera motion detected"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/motion_detected"
    icon: mdi:camera-account

  - platform: mqtt
    name: "Eufy camera person detected"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/person_detected"
    icon: mdi:camera-account

  - platform: mqtt
    name: "Eufy camera pet detection"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/pet_detection"

  - platform: mqtt
    name: "Eufy camera crying detected"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/crying_detected"

  - platform: mqtt
    name: "Eufy camera sound detection"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/sound_detection"
    icon: mdi:account-voice


# Системная информация камеры
  - platform: mqtt
    name: "Eufy camera name"
    state_topic: "iobroker/eufy-security/0/T841000000000000/station/name"
    icon: mdi:webcam

  - platform: mqtt
    name: "Eufy camera model"
    state_topic: "iobroker/eufy-security/0/T841000000000000/station/model"
    icon: mdi:webcam

  - platform: mqtt
    name: "Eufy camera serial number"
    state_topic: "iobroker/eufy-security/0/T841000000000000/station/serial_number"
    icon: mdi:webcam

  - platform: mqtt
    name: "Eufy camera software version"
    state_topic: "iobroker/eufy-security/0/T841000000000000/station/software_version"
    icon: mdi:webcam

  - platform: mqtt
    name: "Eufy camera rtsp stream url"
    state_topic: "iobroker/eufy-security/0/T841000000000000/cameras/T841000000000000/rtsp_stream_url"
    icon: mdi:webcam

4 Likes

This looks great! noone has done a tutorial for iobroker+mqtt yet. Is there any hangups to having two mqtt brokers running (the HA one, and the one within IObroker)

I have it all running on Synology. Hass OS is installed on virtual machine manager, and I have raised iobroker + mqtt in docker. I do not observe the hang - up, it works quickly, but there is no feedback. If I turn something on / off in the mobile app, the status does not change in the eufy integration for some reason.
У меня все это работает на Synology. Hass OS установлен на virtual machine manager, а iobroker + mqtt я поднял в докере. Зависании не наблюдаю, работает быстро, только нет обратной связи. Если в мобильном приложении включу\выключу что-то, то в интеграции eufy статус почему-то не меняется.

thats an iobroker/eufycloud glitch. For some reason it doesnt update, even though the value is in fact changed. Works the other way around though, updates in iobroker do reflect in the app

I’ve emailed Eufy and suggested that it would help their sales if they would work on an official HASS integration. Don’t think there is any WiFi camera brand at the moment that has an official integration. Certainly not one with battery powered cameras that last as long as Eufy.

The reply I got was:
In addition, our engineers are currently testing and optimizing the function of interacting with Home Assistant you mentioned, so this function will definitely be available in the near future.

Let’s hope this is true!

1 Like

It would be great but I think you may be getting fed a line. They’ve never committed to an open API in the time I’ve had my cameras and never came out with IFTTT integration which they actually did promise.

Also we’re STILL waiting on rtsp support on the doorbell cams that was supposedly coming out a year ago.

1 Like

Could be, I’ve let them know that I’ll return the cameras for now and wait until they change it to a real local solution. Cameras and app don’t work if you block the internet connection even if you use the local storage on a SD card or the HUB with the outdoor cameras. The integration with HASS would be nice but the cameras working on local WiFi/LAN without internet access is more important for me.

If they fix both the local access and the integration with HASS then I’ll definitely buy them again but let’s see :slightly_smiling_face:

I also wrote to them and was told that they would not be able to integrate into Home Assistant
Я тоже им писал и мне ответили, что они не смогут интегрировать в Home Assistant

Dear …,

Thank you for contacting Eufy customer support.

We sincerely apologized for the inconvenience caused by the current camera function. Sorry to say that we can’t add ONVIF or MJPEG support to the app and no official integration for Home Assistant.

We much appreciated for your valuable feedback. You know, design a product like a journey, we always upgrade our product per client’s voice and preference. I will forward your issue to our engineers for a more user-friendly camera function so as to keep up with our clients’ expectation and trust.

If by any chance you have any questions or concerns about our product, please feel free to reach out to us and we will gladly assist you to the best of our ability

Reference Ticket#… if contacting a CSR

Alivia

Eufy Customer Support Engineer

1 Like

im pretty sure that may have just been a customer service glad-hand answer.

" our engineers are currently testing and optimizing the function of [INSERT CUSTOMER REQUEST] you mentioned, so this function will definitely be available in the near future.*

I hope im wrong though. Although an open API would be a better solution for all.

man, ONVIF should just be the standard at this point

This Eufy Indoor Cam 2K Pan & Tilt does not support ONVIF protocol, only RTSP. For example, the Dahua camera has this ONVIF protocol.
Данная камера Eufy Indoor Cam 2K Pan & Tilt не имеет поддержки протокола ONVIF, только RTSP. К примеру в камере Dahua есть этот протокол ONVIF.

image
image

Not sure if this is useful to anything here but I see someone on Reddit has hacked RTSP to work on the battery doorbell: https://www.reddit.com/r/EufyCam/comments/nal27f/enabling_rtsp_on_battery_doorbell/

1 Like

I could actually enable this functionality right in the driver (eufy-security-client), since the P2P command is the same as for the other Eufy products :wink:

7 Likes

Wondering if a new wired doorbell is on the way? Amazon UK has no stock and Eufy’s own store currently have it on offer at £109 down from £169.
My existing Hikvision doorbell is back at the reseller, not sure if it’s being repaired and refunded. If it’s refunded do I wait or do I buy at the lower price?

Wow big thumbs up to bachya and bropat , their work in progress is going fast for an official eufy integration !!!
Superb !

5 Likes

Will this be an official integration in HA core or do one still need another container in parallel, perhaps HA OS or supervised, where the Core users are still out of the game or …?

And will it include esp. last picture and live video as well or “only” settings and triggers?

1 Like

You’d need to run a container. Think of it like the zwave-js setup where there’s something that can run just the eufy-security library that Bropat wrote but then a separate integration that can then connect that to HASS. So it’s similar to the current ioBroker setup but it’ll be a LOT more lightweight as you’re not having to run ioBroker on top. And there would be an integration to handle the setup for you. So whatever Bropat’s library can do, this should be able to do in HASS.

5 Likes

great work! every excited for the official integration.

2 Likes