Willkommen zur Alpha-Version der Eufy Security Integration für Home Assistant. Herzlichen Glückwunsch, dass Sie mutig sind und diese Version ausprobiert haben.
eufy-security-ws
mit eufy-security-client
erstellt, um die Funktionen mobiler Apps und Webportale zu imitieren, und hat eufy-security-ws
in hassio-eufy-security-ws
verpackt, damit wir es als Home Assistant-Add-on verwenden können.event duration in seconds
eingeschaltet.Bitte überprüfen Sie hier: https://github.com/bropat/eufy-security-client#known-working-devices
In den nächsten Schritten werden Sie mindestens ein Add-on und zwei Integrationen installieren.
Wenn Sie im Home Assistant-Ökosystem ein Supervised- oder HASS OS-basiertes Setup verwenden, können Sie diese über Add-ons
Seite von Home Assistant installieren. Wenn Sie Core ausführen oder in Ihrem Setup keine Add-ons
Option vorhanden ist, müssen Sie den Docker installieren und diese Container selbst ausführen. Die entsprechenden Befehle werden in den jeweiligen Schritten angezeigt. Wenn Sie daran interessiert sind, Ihren Docker-Container zusammenzustellen, schauen Sie sich bitte den Endabschnitt an
Diese Integration ist nicht Teil von Home Assistant Core, daher müssen Sie sie als benutzerdefinierte Integration installieren. Hierfür gibt es zwei Möglichkeiten: entweder das manuelle Herunterladen und Kopieren von Dateien oder die Verwendung von HACS (Home Assistant Community Store). Ich werde hier die HACS-Methode verwenden.
Wenn Sie diese Integration für Video-Streaming-Zwecke verwenden möchten und Ihre Kamera kein RTSP-basiertes Streaming (Real Time Streaming Protocol) unterstützt (keine Option für kontinuierliche oder NAS-Aufzeichnung in Ihren Kameraeinstellungen), müssen Sie auch die benutzerdefinierte webrtc-Integration installieren Dazu gehört die Binärdatei go2rtc (go2rtc existiert auch als eigenständiges Add-on). Mit diesem Add-on können wir Peer-to-Peer-Bytes (P2P) in einen RTSP-Stream umwandeln, sodass Sie ihn gut in Home Assistant (mit oder ohne RTC) oder mit VLC Player abspielen können.
Wenn Sie beabsichtigen, diese Integration für Video-Streaming-Zwecke zu verwenden und Ihre Kamera RTSP unterstützt, werden Sie wahrscheinlich einen zuverlässigen Stream genießen, da die Erzeugung des RTSP-Streams in der Verantwortung der Hardware liegt und sehr zuverlässig ist als P2P-basiertes Streaming. Es besteht keine Notwendigkeit, eingehende P2P-Bytes in einen RTSP-Stream umzuwandeln. Es gibt einige modifizierte Versionen der Android-Apk von Eufy Security, die den RTSP-Stream für nicht unterstützte Geräte ermöglichen könnten, aber ich habe es nicht ausprobiert. Darüber hinaus besitze ich persönlich kein P2P-fähiges Gerät, da ich Ihre Probleme oft nicht lokal reproduzieren kann und wir zusammenarbeiten müssen, um diese Probleme zu beheben.
Und schließlich würde Ihre Kamera nicht von alleine mit dem Streaming beginnen, Sie müssen die turn_on
oder turn_off
-Dienste der jeweiligen Kameraentitäten aufrufen. Wenn Sie also alles zum ersten Mal installieren, haben Sie kein Video, bis Sie diese Funktionen aufrufen. Darüber hinaus kann das P2P-Streaming aufgrund geringfügiger technischer Probleme zufällig gestoppt werden. Sie können es mit turn_off
und turn_on
erneut starten. Sie können Ihre Automatisierungen auf Kamerazustände (Leerlauf, Vorbereitung, Streaming) auslösen.
Also, fangen wir an.
Bitte folgen Sie der Richtlinie hier: https://github.com/bropat/hassio-eufy-security-ws
Dies ist ein Muss für P2P-Streaming und eine nette Ergänzung für RTSP-Streaming. Beim P2P-Streaming wird go2rtc verwendet, um einen Stream mit einer bestimmten RTSP-Adresse zu generieren. RTSP-Streaming nutzt dies für schnelleres Streaming.
Es gibt zwei Möglichkeiten, dies zu tun: entweder das Add-on selbst zu installieren oder die benutzerdefinierte Webrtc-Integration zu installieren. Ich empfehle Ihnen, die benutzerdefinierte Webrtc-Integration zu installieren, die go2rtc und die entsprechende Front-End-Karte für schnelleres Streaming umfasst. Die Installation von go2rtc mit oder ohne webrtc kann über diesen Link erfolgen: https://github.com/fuatakgun/WebRTC. Bei diesem WebRTC handelt es sich um eine angepasste Version zur einfachen Verwaltung bedingter Karten, und die weitere Einrichtung würde auf dieser basieren.
1- Wenn Sie HACS
noch nicht installiert haben, installieren Sie es gemäß dieser Anleitung: https://hacs.xyz/docs/setup/download
2- Wenn HACS
bereit ist, suchen Sie in HACS
Integrations nach Eufy Security
.
3- Installieren Sie Eufy Security
Integration über HACS und starten Sie Ihre Home Assistant-Instanz neu.
4- Navigieren Sie zur Seite Settings -> Devices & Services
von Home Assistant (https://your-instance.duckdns.org/config/integrations). Klicken Sie auf Add Integration
und suchen Sie nach Eufy Security
(nicht Eufy
, es ist genau Eufy Security
). Wenn Sie es nicht sehen, überprüfen Sie zunächst, ob es über HACS installiert wurde und dass Sie es neu gestartet haben. Versuchen Sie es später mit einem anderen Browser. Die Integrationsliste ist möglicherweise bereits in Ihrem Browser zwischengespeichert.
5- Geben Sie Eufy Security Add-on IP Address
(127.0.0.1 für überwachte Installation) und configured port
(Standard 3000) ein und klicken Sie auf Senden.
6- Möglicherweise erhalten Sie Captcha- oder MFA-Warnungen (Multi-Faktor-Authentifizierung). Bitte konfigurieren Sie die Integration neu. Der Captcha-Code wird auf der Seite „Neu konfigurieren“ angezeigt und der MFA-Code wird Ihnen per E-Mail oder SMS zugesandt. Bitte geben Sie diese Werte ein. Danach müssen Sie möglicherweise Ihre Home Assistant-Instanz neu starten.
7- Wenn Sie webrtc custom integration with go2rtc or standalone go2rtc Add-On
installiert haben, geben Sie bitte dessen IP Address
auf der Seite „Integrationskonfiguration“ ein. Sie können 127.0.0.1
für die überwachte Installation eingeben.
8- Sie können auch Cloud Scan Interval
, die Videoanalysedauer, Custom Name 1
, Custom Name 2
und Custom Name 3
konfigurieren
Hinweis: „Benutzerdefinierter Name 1“, „Benutzerdefinierter Name 2“ und „Benutzerdefinierter Name 3“ sind Beschriftungen, die zur Darstellung des ersten, zweiten und dritten benutzerdefinierten Schutzes (Modus) verwendet werden, den Sie in der Eufy Security-App erstellt haben. Sie können Ihre benutzerdefinierten Wachen mithilfe der integrierten Alarmzentralenkarte wie folgt auslösen:
arm_custom_bypass -> triggers your first custom guard defined in Eufy security app (ordered by 'created date')
arm_night -> trigger second custom guard
arm_vacation -> trigger third custom guard
Wenn Sie beispielsweise in der Eufy Security-App einen „Schlafenszeit“-Modus erstellen, gibt es standardmäßig keine Möglichkeit, diesen über die Alarmzentralenkarte auszulösen. Mithilfe dieser Integration können Sie jedoch den Dienst arm_custom_bypass
über die Alarmzentrale aufrufen, wodurch Ihr „Schlafenszeit“-Modus aktiviert wird. Sie können den Anzeigenamen dieses Modus mithilfe von Schritt 8 oben anpassen.
Diese integrierten Alarmzentralendienste entsprechen nicht den standardmäßigen Eufy-Wächtern und wurden daher umgestaltet, um mit dieser Integration mehr Flexibilität beim Auslösen benutzerdefinierter Sicherheitsmodi zu ermöglichen. Weitere Einzelheiten finden Sie in der Diskussion in Nr. 145.
9- Aktivieren Sie Diagnoseeinheiten, die standardmäßig deaktiviert sind. Nach der Installation werden einige Entitäten deaktiviert, um die Generierung zu großer Datenmengen zu vermeiden. Dies ist das erwartete Verhalten. Wenn Sie denken, dass eine Entität wichtig ist, aktivieren Sie sie einfach. Wählen Sie dazu eines der Geräte in eufy_security-Integrationen aus. Scrollen Sie dann nach unten zum Abschnitt „Diagnose“ und wählen Sie eine der Entitäten aus. Gehen Sie oben zu den Einstellungen und aktivieren Sie in den Einstellungen die Parameter Enabled
und Visible
. Nach etwa 30 Sekunden ist diese Entität verfügbar.
Das Streaming mit Native Home Assistant ist ziemlich langsam (vielleicht nicht?), daher wird dringend empfohlen, die WebRTC-Integration von HACS zu installieren.
Der folgende Code zeigt das Kamerabild, wenn die Kamera nicht streamt, und die WebRTC-Karte, während die Kamera streamt (bedingte Karten). Bitte ersetzen Sie camera.entrance
durch den Namen Ihrer Kameraentität.
type : custom:webrtc-camera
entity : camera.entrance
poster : image.entrance_event_image
ui : true
shortcuts :
- name : Play
icon : mdi:play
service : camera.turn_on
service_data :
entity_id : camera.entrance
- name : Stop
icon : mdi:stop
service : camera.turn_off
service_data :
entity_id : camera.entrance
Wenn Ihre Kamera Schwenken und Neigen unterstützt, können Sie der webrtc-Schnittstelle entsprechende Befehle hinzufügen.
type : custom:webrtc-camera
entity : camera.garden
ptz :
service : eufy_security.ptz
data_left :
entity_id : camera.garden
direction : LEFT
data_right :
entity_id : camera.garden
direction : RIGHT
data_up :
entity_id : camera.garden
direction : UP
data_down :
entity_id : camera.garden
direction : DOWN
Debug (device)
und Debug (station)
mit, damit ich diese Sensoren extrahieren kann. Sollten sich diese Sensoren nicht aus dem Gerätezustand extrahieren lassen, geben Sie dies bitte explizit an.button
, switch
und select
. Bitte verwenden Sie diese.turn_on
und turn_off
– Die Integration prüft, ob Ihr Gerät RTSP und Fallback-P2P-basiertes Streaming unterstütztstart_rtsp_livestream
und stop_rtsp_livestream
– Der Stream wird mit RTSP gestartet, wenn Ihr Gerät dies unterstütztstart_p2p_livestream
und stop_p2p_livestream
– Stream wird über P2P gestartet, alle Geräte funktionieren hiergenerate_image
– Dies generiert eine Miniaturansicht für Home Assistant, wenn die Kamera bereits streamtptz_up
, ptz_down
, ptz_right
, ptz_left
, ptz_360
– Schwenk- und Neigungsbefehletrigger_camera_alarm_with_duration
– Löst einen Alarm auf der Kamera für eine bestimmte Dauer ausquick_response
– Senden Sie eine schnelle Antwortnachricht für die Türklingel. Sie können voice_id
Informationen aus Debug (device)
Sensorattributen des Geräts erhalten. Dies kann NUR ausgeführt werden, wenn die Kamera Live-Streaming betreibt (p2p – nicht rtsp).snooze
– Laufende Benachrichtigung für eine bestimmte Dauer pausieren.trigger_base_alarm_with_duration
– Löst einen Alarm auf der Station für eine bestimmte Dauer ausreset_alarm
– Setzt den laufenden Alarm für eine bestimmte Dauer zurücksnooze
– Laufende Benachrichtigung für eine bestimmte Dauer pausieren.arm_home
– In den Home-Zustand wechselnarm_away
– In den Abwesenheitsstatus wechselndisarm
– Deaktivieren Sie das Panelalarm_arm_custom1
– Wechseln Sie zu Benutzerdefiniert 1, das sich auf den ersten, zweiten und dritten benutzerdefinierten Schutz (oder Modus) bezieht, den Sie in der Eufy Security-App erstellt haben.alarm_arm_custom2
– Wechseln Sie zu Benutzerdefiniert 2alarm_arm_custom3
– Wechseln Sie zu Benutzerdefiniert 3geofence
– Wechseln Sie zu Geofencing. Dies hat möglicherweise keine Auswirkungen auf den Status des Panels, da es seinen Status basierend auf dem geografischen Standort über die Eufy-App ändertschedule
– Wechseln Sie zu Benutzerdefiniert 3. Dies hat möglicherweise keine Auswirkungen auf den Status des Panels, da es seinen Status basierend auf dem Zeitplan über die Eufy-App ändertchime
– Löst einen Glockenton auf der Basisstation aus (hat mir gefallen) – Ich kenne die genaue Liste der verfügbaren Klingeltöne nicht, probieren Sie es selbst aus.lock
und unlock
für Schlösserunlock
Ersetzen Sie camera.entrance
durch Ihren eigenen Entitätsnamen.
alias : Capture Image on Trigger, Send Mobile Notification with Actions, Snooze or Alarm via Actions
description : " "
trigger :
- platform : state
entity_id :
- binary_sensor.entrance_motion_detected
- binary_sensor.entrance_person_detected
to : " on "
id : sensor
- platform : event
event_type : mobile_app_notification_action
id : snooze
event_data :
action : SNOOZE
- platform : event
event_type : mobile_app_notification_action
id : alarm
event_data :
action : ALARM
condition : []
action :
- choose :
- conditions :
- condition : trigger
id : sensor
sequence :
- delay :
hours : 0
minutes : 0
seconds : 3
milliseconds : 0
- service : notify.mobile_app_fuatx3pro
data :
message : Motion detected
data :
image : /api/image_proxy/image.entrance_event_image
actions :
- action : ALARM
title : Alarm
- action : SNOOZE
title : Snooze
- conditions :
- condition : trigger
id : snooze
sequence :
- service : eufy_security.snooze
data :
snooze_time : 10
snooze_chime : false
snooze_motion : true
snooze_homebase : false
target :
entity_id : camera.entrance
- conditions :
- condition : trigger
id : alarm
sequence :
- service : eufy_security.trigger_camera_alarm_with_duration
data :
duration : 1
target :
entity_id : camera.entrance
mode : single
Diese Auslösebedingung startet die Automatisierung genau dann, wenn das Ereignisbild aktualisiert wird. In einigen Installationen ist es zuverlässiger und etwas schneller. Wenn die vorherige Automatisierung veraltete Bilder liefert oder Probleme verursacht, probieren Sie stattdessen diesen anderen Auslöser und diese andere Bedingung aus:
trigger :
- platform : state
entity_id :
- image.entrance_cam
id : sensor
condition :
- condition : template
value_template : >-
{{ as_timestamp(states.image.entrance_cam.last_changed) == as_timestamp(states.image.entrance_cam.last_updated) }}
service : lock.unlock
data :
code : " testtest "
target :
entity_id : lock.safe
Überprüfen Sie zunächst alle Probleme (offene oder geschlossene), um herauszufinden, ob es eine ähnliche Frage gab, anstatt sie zu duplizieren. Konzentrieren Sie sich darauf, Push-Benachrichtigungseinstellungen zu aktivieren, die Streaming-/Aufzeichnungsqualität der Kamera zu verringern und jegliche Isolierung/Einschränkung auf Netzwerkebene zu beseitigen. Die meisten Probleme könnten dadurch behoben werden. Wenn Sie später auf ein ähnliches Problem stoßen, geben Sie bitte einfach +1 ein. Das wiederholte Teilen derselben Protokolle hilft überhaupt nicht. Erstellen Sie abschließend Ihr Problem gemäß der Vorlage. Ich werde wahrscheinlich später weitere Fragen stellen.
Gerne behebe ich einzelne Probleme, solange Sie die Setup-Anweisungen befolgen. Sie müssen mir Ihre problematischen Kameras mitteilen, damit ich das Problem mit meinem eigenen Computer beheben kann. Bitte erstellen Sie für jede Debugging-Anfrage ein Github-Problem, damit wir von dort aus nachverfolgen können. Vergessen Sie nicht, die Freigabeeinstellungen zu entfernen, wenn wir fertig sind :)
Um die Zeit zu vereinbaren, verwenden Sie bitte diesen Link: https://calendly.com/fuatakgun/office-hour