That is still docker so I imagine the issue is firewall related. I think some people ran into that issue before though I’m not a HASSOS uses so you’ll have to search in this thread or wait for someone else to help.
I made the config changes as suggested by @RT1080 in this post: Eufy Camera Integration - #701 by RT1080 but that doesnt seem to have made any difference.
Not sure but is that hass addon still being maintained
The best addon so far i think is the one from fuatakgun
A new update has been released for ioBroker integration for eufy. This update brought a lot of innovations. Now you can control the camera Eufy Indoor Cam 2K Pan & Tilt via PTZ, which was not there before. ioBroker works as a bridge for me and it transmits all the data to the Home Assistant. I brought out additional sensors and camera control. To control the camera, you need to send any value to the topic, but it should change, if we specify 1 all the time, the camera will not turn, so you need to alternate 1 or 0, then the camera will change position. Therefore, I created an MQTT switch and activated this switch using a button with the “switch” option, so by pressing the button in the topic, we send 1 or 0, and the camera starts turning in the direction we need with each press. If you have any ideas on how to implement this better, I will be only too happy and a big request to post examples of how it can be implemented.
I made an additional camera control panel that controls the camera movement and sets the quality of the video stream and recording
Creating an auxiliary element text "Camera in hall: Video stream quality"
input_select:
camera_hall_video_stream_quality:
name: 'Camera in hall: Video stream quality'
options:
- Auto
- Low
- Medium
- High
icon: mdi:camera
Let’s create an auxiliary element text "Camera in hall: Video recording resolution"
input_select:
camera_hall_video_recording_quality:
name: 'Camera in hall: Video recording resolution'
options:
- Full HD
- 2K HD
icon: mdi:camera
Let’s create an auxiliary element number "Camera in hall: Speaker volume"
input_number:
camera_hall_speaker_volume:
name: 'Camera in hall: Video recording resolution'
min: 0
max: 100
step: 1
mode: slider
icon: mdi:camera
Let’s create switches and sensors MQTT
We create any file, for example, camera_easy_mqtt.yaml and insert the code into it, only you need to substitute the name of your camera instead of XXXXXXXXXXXXXX. This can be seen through MQTT Explorer
# Camera control Eufy Indoor Cam 2K Pan & Tilt
################################# Camera motion control ########################################
switch:
# Camera motion control. Turn right
- platform: mqtt
unique_id: PTZ camera control right
name: "Eufy camera ptz control right"
command_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/pan_right/set"
state_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/pan_right/set"
payload_on: "1"
payload_off: "0"
state_on: "1"
state_off: "0"
retain: false
qos: 0
icon: mdi:camera-control
# Camera motion control. Turn left
- platform: mqtt
unique_id: PTZ camera control left
name: "Eufy camera ptz control left"
command_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/pan_left/set"
state_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/pan_left/set"
payload_on: "1"
payload_off: "0"
state_on: "1"
state_off: "0"
retain: false
qos: 0
icon: mdi:camera-control
# Turn on / off the speaker
- platform: mqtt
unique_id: Speaker
name: "Eufy camera speaker"
command_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/speaker/set"
state_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/speaker"
payload_on: "true"
payload_off: "false"
state_on: "true"
state_off: "false"
retain: true
qos: 0
icon: mdi:account-voice
# Camera motion control. Turn up
- platform: mqtt
unique_id: PTZ camera control up
name: "Eufy camera ptz control up"
command_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/tilt_up/set"
state_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/tilt_up/set"
payload_on: "1"
payload_off: "0"
state_on: "1"
state_off: "0"
retain: false
qos: 0
icon: mdi:camera-control
# Camera motion control. Turn down
- platform: mqtt
unique_id: PTZ camera control down
name: "Eufy camera ptz control down"
command_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/titl_down/set"
state_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/titl_down/set"
payload_on: "1"
payload_off: "0"
state_on: "1"
state_off: "0"
retain: false
qos: 0
icon: mdi:camera-control
#############################################################################################################################
# Sensors
sensor:
# The quality of the video stream. Needed for work input_select.camera_hall_video_stream_quality
# 0 - Auto
# 1 - Low
# 2 - Medium
# 3 - High
- platform: mqtt
name: "Eufy camera video streaming quality"
state_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/video_streaming_quality"
icon: mdi:camera
value_template: >-
{% if value == '0' %} Auto
{% elif value == '1' %} Low
{% elif value == '2' %} Medium
{% elif value == '3' %} High
{% endif %}
# Recording quality
# 2 - Full HD
# 3 - 2K HD
- platform: mqtt
name: "Eufy camera video recording quality"
state_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/video_recording_quality"
icon: mdi:camera
value_template: >-
{% if value == '2' %} Full HD
{% elif value == '3' %} 2K HD
{% endif %}
Let’s create an automation that will change the quality of the video stream
# Camera in hall: Video stream quality
alias: 'Camera in hall: Video stream quality'
description: ''
trigger:
- platform: state
entity_id: sensor.eufy_camera_video_streaming_quality
id: sensor video streaming quality
- platform: state
entity_id: input_select.camera_hall_video_stream_quality
id: input select video stream quality
condition: []
action:
- choose:
- conditions:
- condition: trigger
id: sensor video streaming quality
sequence:
- service: input_select.select_option
target:
entity_id: input_select.camera_hall_video_stream_quality
data:
option: '{{ states.sensor.eufy_camera_video_streaming_quality.state }}'
- conditions:
- condition: trigger
id: input select video stream quality
sequence:
- service: mqtt.publish
data:
topic: >-
iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/video_streaming_quality
payload: >
{% set camera_vsq = states.input_select.camera_hall_video_stream_quality.state %}
{% if camera_vsq == 'Auto' %} 0
{% elif camera_vsq == 'Low' %} 1
{% elif camera_vsq == 'Medium' %} 2
{% elif camera_vsq == 'High' %} 3
{% endif %}
retain: false
default: []
mode: single
Let’s create an automation that will change the recording resolution
# Camera in hall: Video recording resolution
alias: 'Camera in hall: Video recording resolution'
description: ''
trigger:
- platform: state
entity_id: sensor.eufy_camera_video_recording_quality
id: sensor video recording quality
- platform: state
entity_id: input_select.camera_hall_video_recording_quality
id: input select video recording quality
condition: []
action:
- choose:
- conditions:
- condition: trigger
id: sensor video recording quality
sequence:
- service: input_select.select_option
target:
entity_id: input_select.camera_hall_video_recording_quality
data:
option: '{{ states.sensor.eufy_camera_video_recording_quality.state }}'
- conditions:
- condition: trigger
id: input select video recording quality
sequence:
- service: mqtt.publish
data:
topic: >-
iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/video_recording_quality
payload: >
{% set camera_vrq = states.input_select.camera_hall_video_recording_quality.state %}
{% if camera_vrq == 'Full HD' %} 2
{% elif camera_vrq == '2K HD' %} 3
{% endif %}
retain: false
default: []
mode: single
Let’s create an automation that will change the volume level of the speaker
automation:
- alias: 'Camera in hall: Volume level-sending'
description: Sending the data
trigger:
- platform: state
entity_id: input_number.camera_hall_speaker_volume
condition: []
action:
- service: mqtt.publish
data:
topic: iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/speaker_volume/set
payload: '{{ states.input_number.camera_hall_speaker_volume.state }}'
qos: '0'
retain: true
mode: single
- alias: 'Camera in hall: Volume level-receiving'
description: Getting the data
trigger:
- platform: mqtt
topic: iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/speaker_volume
condition: []
action:
- service: input_number.set_value
target:
entity_id: input_number.camera_hall_speaker_volume
data:
value: '{{trigger.payload}}'
mode: single
Let’s create a camera control panel in lovelace. To do this, you need to install the integration multiple entity row and fold entity row
type: entities
entities:
- entity: script.start_face_detection
name: Recognize a face
- entity: sensor.persons_names
- entity: image_processing.detect_face_eufy_camera
name: Number of persons
- entity: input_number.deepstack_confidence_face
name: Confidence
- type: custom:fold-entity-row
head:
type: section
label: Camera Settings
open: false
entities:
- entity: switch.eufy_camera_ptz_control_right
type: custom:multiple-entity-row
name: Camera control
show_state: false
toggle: false
icon: mdi:camera
entities:
- entity: switch.eufy_camera_ptz_control_down
name: Down
tap_action:
action: toggle
show_state: false
icon: mdi:camera-control
- entity: switch.eufy_camera_ptz_control_left
name: Left
tap_action:
action: toggle
show_state: false
icon: mdi:camera-control
- entity: switch.eufy_camera_ptz_control_right
name: Right
tap_action:
action: toggle
show_state: false
icon: mdi:camera-control
- entity: switch.eufy_camera_ptz_control_up
name: Up
tap_action:
action: toggle
show_state: false
icon: mdi:camera-control
- entity: input_select.camera_hall_video_stream_quality
type: custom:multiple-entity-row
name: Resolution
show_state: false
entities:
- entity: input_select.camera_hall_video_stream_quality
name: Video Quality
- entity: input_select.camera_hall_video_recording_quality
name: Recording resolution
- entity: input_boolean.otpravliat_snimki_v_telegram
name: Send a snapshot
- entity: switch.eufy_camera_device_enabled
name: Camera
- entity: switch.eufy_camera_rtsp_stream_enabled
name: Stream RTSP
- entity: switch.eufy_camera_speaker
name: Speaker
- entity: input_number.camera_hall_speaker_volume
name: Volume
- entity: switch.eufy_camera_led_status
name: LED
- entity: switch.eufy_camera_auto_nightvision
name: Night vision
- entity: switch.eufy_camera_motion_detection
name: Motion detection
- entity: switch.eufy_camera_sound_detection
name: Sound detection
- entity: switch.eufy_camera_pet_detection
name: Pet detection
- entity: script.reloading_the_corridor_camera
name: Restart the camera
title: Camera
Текст на русском (Text in Russian)
Для ioBroker вышло новое обновление интеграции для eufy. Это обновление принесло множество новшеств. Появилась возможность управления камерой Eufy Indoor Cam 2K Pan & Tilt через PTZ, чего раньше не было. ioBroker у меня работает в качестве моста и он передает все данные в Home Assistant. Я вывел дополнительные сенсоры и управление камерой. Чтобы управлять камерой нужно в топик послать любое значение, но оно должно меняться, если будем все время указывать 1, то камера не повернется, поэтому нужно чередовать 1 или 0, тогда камера будет менять положение. Поэтому я создал выключатель MQTT и задействовал этот выключатель с помощью кнопки с опцией “переключатель”, таким образом нажимая на кнопку в топик мы отправляем 1 или 0, и камера начинает, при каждом нажатии, поворачивать в нужную нам сторону. Если у вас есть идеи как можно это реализовать лучше, я буду только рад и большая просьба выложить примеры как это можно реализовать.
Сделал дополнительную панель управления камерой, которая управляет движением камеры и выставляет качество видеопотока и записи
Создадим вспомогательный элемент текст "Камера в коридоре: Качество видеопотока"
input_select:
camera_hall_video_stream_quality:
name: 'Камера в коридоре: Качество видеопотока'
options:
- Auto
- Low
- Medium
- High
icon: mdi:camera
Создадим вспомогательный элемент текст "Камера в коридоре: Разрешение видеозаписи"
input_select:
camera_hall_video_recording_quality:
name: 'Камера в коридоре: Разрешение видеозаписи'
options:
- Full HD
- 2K HD
icon: mdi:camera
Создадим вспомогательный элемент число "Камера в коридоре: Громкость динамика"
input_number:
camera_hall_speaker_volume:
name: 'Камера в коридоре: Разрешение видеозаписи'
min: 0
max: 100
step: 1
mode: slider
icon: mdi:camera
Создадим выключатели и сенсоры MQTT
Создаем любой файлик, например camera_eufy_mqtt.yaml и вставляем в него код, только нужно вместо TXXXXXXXXXXXXX подставить имя своей камеры. Это можно увидеть через MQTT Explorer
# Управление камерой Eufy Indoor Cam 2K Pan & Tilt
################################# Управление движением камеры ########################################
switch:
# Управление движением камеры. Поворот направо
- platform: mqtt
unique_id: PTZ camera control right
name: "Eufy camera ptz control right"
command_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/pan_right/set"
state_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/pan_right/set"
payload_on: "1"
payload_off: "0"
state_on: "1"
state_off: "0"
retain: false
qos: 0
icon: mdi:camera-control
# Управление движением камеры. Поворот налево
- platform: mqtt
unique_id: PTZ camera control left
name: "Eufy camera ptz control left"
command_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/pan_left/set"
state_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/pan_left/set"
payload_on: "1"
payload_off: "0"
state_on: "1"
state_off: "0"
retain: false
qos: 0
icon: mdi:camera-control
# Управление движением камеры. Поворот наверх
- platform: mqtt
unique_id: PTZ camera control up
name: "Eufy camera ptz control up"
command_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/tilt_up/set"
state_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/tilt_up/set"
payload_on: "1"
payload_off: "0"
state_on: "1"
state_off: "0"
retain: false
qos: 0
icon: mdi:camera-control
# Управление движением камеры. Поворот вниз
- platform: mqtt
unique_id: PTZ camera control down
name: "Eufy camera ptz control down"
command_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/titl_down/set"
state_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/titl_down/set"
payload_on: "1"
payload_off: "0"
state_on: "1"
state_off: "0"
retain: false
qos: 0
icon: mdi:camera-control
# Включить\выключить динамик
- platform: mqtt
unique_id: Speaker
name: "Eufy camera speaker"
command_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/speaker/set"
state_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/speaker"
payload_on: "true"
payload_off: "false"
state_on: "true"
state_off: "false"
retain: true
qos: 0
icon: mdi:account-voice
#############################################################################################################################
# Сенсоры
sensor:
# Качество видеопотока. Нужен для работы input_select.camera_hall_video_stream_quality
# 0 - Auto
# 1 - Low
# 2 - Medium
# 3 - High
- platform: mqtt
name: "Eufy camera video streaming quality"
state_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/video_streaming_quality"
icon: mdi:camera
value_template: >-
{% if value == '0' %} Auto
{% elif value == '1' %} Low
{% elif value == '2' %} Medium
{% elif value == '3' %} High
{% endif %}
# Качество записи
# 2 - Full HD
# 3 - 2K HD
- platform: mqtt
name: "Eufy camera video recording quality"
state_topic: "iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/video_recording_quality"
icon: mdi:camera
value_template: >-
{% if value == '2' %} Full HD
{% elif value == '3' %} 2K HD
{% endif %}
Создадим автоматизацию, которая будет менять качество видеопотока
# Камера в коридоре: Качество видеопотока
alias: 'Камера в коридоре: Качество видеопотока'
description: ''
trigger:
- platform: state
entity_id: sensor.eufy_camera_video_streaming_quality
id: sensor video streaming quality
- platform: state
entity_id: input_select.camera_hall_video_stream_quality
id: input select video stream quality
condition: []
action:
- choose:
- conditions:
- condition: trigger
id: sensor video streaming quality
sequence:
- service: input_select.select_option
target:
entity_id: input_select.camera_hall_video_stream_quality
data:
option: '{{ states.sensor.eufy_camera_video_streaming_quality.state }}'
- conditions:
- condition: trigger
id: input select video stream quality
sequence:
- service: mqtt.publish
data:
topic: >-
iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/video_streaming_quality
payload: >
{% set camera_vsq = states.input_select.camera_hall_video_stream_quality.state %}
{% if camera_vsq == 'Auto' %} 0
{% elif camera_vsq == 'Low' %} 1
{% elif camera_vsq == 'Medium' %} 2
{% elif camera_vsq == 'High' %} 3
{% endif %}
retain: false
default: []
mode: single
Создадим автоматизацию, которая будет менять разрешение записи
# Камера в коридоре: Разрешение видеозаписи
alias: 'Камера в коридоре: Разрешение видеозаписи'
description: ''
trigger:
- platform: state
entity_id: sensor.eufy_camera_video_recording_quality
id: sensor video recording quality
- platform: state
entity_id: input_select.camera_hall_video_recording_quality
id: input select video recording quality
condition: []
action:
- choose:
- conditions:
- condition: trigger
id: sensor video recording quality
sequence:
- service: input_select.select_option
target:
entity_id: input_select.camera_hall_video_recording_quality
data:
option: '{{ states.sensor.eufy_camera_video_recording_quality.state }}'
- conditions:
- condition: trigger
id: input select video recording quality
sequence:
- service: mqtt.publish
data:
topic: >-
iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/video_recording_quality
payload: >
{% set camera_vrq = states.input_select.camera_hall_video_recording_quality.state %}
{% if camera_vrq == 'Full HD' %} 2
{% elif camera_vrq == '2K HD' %} 3
{% endif %}
retain: false
default: []
mode: single
Создадим автоматизацию, которая будет менять уровень громкости динамика
automation:
- alias: 'Камера в коридоре: Уровень громкости - отправка'
description: Отправляем данные
trigger:
- platform: state
entity_id: input_number.camera_hall_speaker_volume
condition: []
action:
- service: mqtt.publish
data:
topic: iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/speaker_volume/set
payload: '{{ states.input_number.camera_hall_speaker_volume.state }}'
qos: '0'
retain: true
mode: single
- alias: 'Камера в коридоре: Уровень громкости - получение'
description: Получаем данные
trigger:
- platform: mqtt
topic: iobroker/eufy-security/0/TXXXXXXXXXXXXX/cameras/TXXXXXXXXXXXXX/speaker_volume
condition: []
action:
- service: input_number.set_value
target:
entity_id: input_number.camera_hall_speaker_volume
data:
value: '{{trigger.payload}}'
mode: single
Создадим в lovelace панель управления камерой. Для этого нужно установить интеграцию multiple entity row и fold entity row
type: entities
entities:
- entity: script.start_face_detection
name: Распознать лицо
- entity: sensor.persons_names
- entity: image_processing.detect_face_eufy_camera
name: Количество лиц
- entity: input_number.deepstack_confidence_face
name: Уверенность
- type: custom:fold-entity-row
head:
type: section
label: Настройки камеры
open: false
entities:
- entity: switch.eufy_camera_ptz_control_right
type: custom:multiple-entity-row
name: Управление камерой
show_state: false
toggle: false
icon: mdi:camera
entities:
- entity: switch.eufy_camera_ptz_control_down
name: Вниз
tap_action:
action: toggle
show_state: false
icon: mdi:camera-control
- entity: switch.eufy_camera_ptz_control_left
name: Налево
tap_action:
action: toggle
show_state: false
icon: mdi:camera-control
- entity: switch.eufy_camera_ptz_control_right
name: Направо
tap_action:
action: toggle
show_state: false
icon: mdi:camera-control
- entity: switch.eufy_camera_ptz_control_up
name: Вверх
tap_action:
action: toggle
show_state: false
icon: mdi:camera-control
- entity: input_select.camera_hall_video_stream_quality
type: custom:multiple-entity-row
name: Разрешение
show_state: false
entities:
- entity: input_select.camera_hall_video_stream_quality
name: Качество видео
- entity: input_select.camera_hall_video_recording_quality
name: Разрешение записи
- entity: input_boolean.otpravliat_snimki_v_telegram
name: Отправить снимок
- entity: switch.eufy_camera_device_enabled
name: Камера
- entity: switch.eufy_camera_rtsp_stream_enabled
name: Стрим RTSP
- entity: switch.eufy_camera_speaker
name: Динамик
- entity: input_number.camera_hall_speaker_volume
name: Громкость
- entity: switch.eufy_camera_led_status
name: LED индикатор
- entity: switch.eufy_camera_auto_nightvision
name: Ночное видение
- entity: switch.eufy_camera_motion_detection
name: Реагировать на движение
- entity: switch.eufy_camera_sound_detection
name: Реагировать на звук
- entity: switch.eufy_camera_pet_detection
name: Реагировать на животных
- entity: script.reloading_the_corridor_camera
name: Перезагрузить камеру
title: Камера
Thanks, I installed that add-on and now all is working as I wanted.
Thanks DivanX10
This is amazing and just what I really need - however seeing 1300 posts in this thread and it still requires setting up iobroker to communicate with HA is not good enough for me.
I have Eufy cams and they are great, I wish that they could be integrated much more easily than going through a 3rd party HA.
I did think about starting an IoBroker account but I love HA and would hopefully do this the HA way rather than iobroker.
Time will tell - again thanks DivanX10.
Just so it’s clear; they’re not mutually exclusive. I use ioBroker in HA as an add on and then use rest calls for the sensors and cams. Works great. Also, this last update added support for my FloodlightCam 2k which I thought was impossible, but it’s working great - thanks @DivanX10 for the heads up!
Thanks Rpitera - Yes I agree that setting up an iobroker would work, probably.
I just don’t want to go through that rabbit hole of the learning curve of iobroker. I’ve spent so many hours (actually years!) trying to get HA working - and still learning.
To be fair I’d prefer a dedicated HA solution which I’m sure will come soon.
Thanks for your help.
Totally understand! DM me if you do decide to though; I’ll gladly share what I’ve set up. For me, ioBroker seems to have the most options for control and a fast response time. I had trouble with MQTT and while the new two part (add on and custom component) approach works well, my 2k floodlight isn’t supported (at the moment anyway) so ioBroker is my preferred solution - but every home is different!
Hi all, i will be back from vacation next week so we can work on issues and improvements together.
Regarding 2k floodlight, i will update add on to include latest updates so it will become supported.
I’m trying to make an automation to auto stop the streaming after 2 minutes 50 seconds
However, i need the state change then
BUT
I cant use the state from idle cause of the % in it, to Streaming - rtsp
How did you guys made this automation (service call?)
This is how it looks now, but is not complete
- id: 'Stopping tuin camera'
alias: Stop streaming camera tuin
description: ''
trigger:
- platform: state
entity_id: camera.tuin
from: "idle"
to: "Streaming - rtsp"
for:
minutes: 2
seconds: 50
condition: []
action:
- data:
entity_id: camera.tuin
service: eufy_security.stop_rtsp
for the automation to work, you don’t need to specify the from:
in the trigger. Just the to:
will do. Have you tried that?
No, will change and see, thanks !
Edit: it works thx
Still curious here to see people’s automations based on eufy stuff
@anon63427907, th delay between idle and actually playing the stream is quite long here
Not sure why
If i click it immediately says its streaming but then i have to wait very long
However if i click when its idle, it says its streaming, i click it away to see the card again, then it is actually streaming after 6-7 seconds which is quite fast.
Why doesnt he do that immediately?
There are lots of things happening under the hood about streaming by home assistant. i am handing over a RTSP url to home assistant’s stream integration, it tries 10 times with 1-2 seconds intervals. On first example;
- you click on image and integration asks for p2p streaming (i remember yours was battery doorbell)
- bytes of video are coming to home assistant over eufy add on
- incoming bytes are sent to ffmpeg
- ffmpeg uses first 2-3 seconds of incoming data to find bit rate, video size, codec and after this, it creates real stream to rtsp add on
- rtsp add on creates a new stream channel for camera but requires 1 second to build the data
- now, all is set, it is streamable
- home assistant stream integration tries to start the stream while all the things below are happening and it times out until it reaches previous step
- when you cancel the popup and try again, stream integration starts trying from scratch, but it is faster now because most of the things are finished.
- sometimes, stream integration gives up trying if waits too much, which you do not see any stream at all.
So, i have couple of things in my mind to speed up the process, but i have 3 integrations in my bucket to take care of, it is a matter of time.
Patiently waiting and thankful for your hard work.
so, what is your experience, how long latency you are experiencing? 5-6 seconds?
Oh, I’m not really having any major issues. I just thought your explanation was revelatory and was interested in seeing what you come up with. Sorry if there was confusion!
Cool! Looking forward too.
Thx again for you work.
If you question about latency was for me…
Waiting 1 mintue 40 seconds and nothings happens
Unless i reclick
Seeing errors too
- Timeout getting stream source
-
- The camera entity camera.deurbel does not support requesting width and height, please open an issue with the integration author (less urgent i think)
i have a button in my frontend to call start live stream over p2p, i am clicking it first and after 2-3 seconds, clicking on camera view. Not optimal and joyful but it is working.
Mmmm my doorbell isnt working anymore, i cant get the stream open anymore.
Its indeed not ideal to start it with a button and then clicking on the camera view
Anyway, is it an idea to bump the ws to latest version maybe theres improvement there too