NEWS
Test Adapter eusec 3.2.x
-
-
OK, ich konnte mich nun endlich durchringen, meinen Raspi mit Trixie/64bit neu aufzusetzen, nodejs 24.21 war gleich dabei. iob installiert, Updates gemacht, Backup eingespielt. Alles funktioniert nach einigen manuellen Eingriffen bis auf Kleinigkeiten wieder und zwar richtig gut...
...aber leider bekomme ich jetzt ausgerechnet weder Eusec 2.3 (noch von Bropat) noch 3.3 (Community) zum Laufen.
Zunächst musste ich den Adapter komplett deinstallieren und neu installieren, da die "Startdatei" nicht gefunden werden konnte. Nun ist die Eingabe der Credentials kein Problem, dann kommt per Mail das OTP, das ich in das Objekt "verify-code" eintrage. Jetzt werden zwar alle Objekte richtig ausgelesen und angelegt, dann aber kommen folgende Fehlermeldungen (Tokens, Zertifikate & IDs habe ich mit "x" unkenntlich gemacht):
eusec.1 2026-09-25 19:05:51.767 error [push] [PushNotificationService._open] Push notifications are disabled, because the registration failed! [{"renew":false}] eusec.1 2026-09-25 19:05:51.766 info [main] Push notification connection closed eusec.1 2026-09-25 19:05:51.765 error [push] Create push credentials Error [{"error":{"cause":{"name":"RequestError","code":"SELF_SIGNED_CERT_IN_CHAIN","timings":{"start":1790355951687,"socket":1790355951701,"lookup":1790355951708,"connect":1790355951714,"error":1790355951757,"phases":{"wait":14,"dns":7,"tcp":6,"total":70}},"options":{"agent":{},"decompress":true,"timeout":{},"prefixUrl":"","body":"{\"fid\":\"xxx\",\"appId\":\"1:xxx:android:xxx\",\"authVersion\":\"FIS_v2\",\"sdkVersion\":\"a:16.3.1\"}","ignoreInvalidCookies":false,"context":{},"hooks":{"init":[],"beforeRequest":[],"beforeError":[null],"beforeRedirect":[],"beforeRetry":[],"beforeCache":[],"afterResponse":[]},"followRedirect":true,"maxRedirects":10,"throwHttpErrors":false,"username":"","password":"","http2":false,"allowGetBody":false,"copyPipedHeaders":true,"headers":{"user-agent":"got (https://github.com/sindresorhus/got)","x-android-package":"com.oceanwing.battery.cam","x-android-cert":"xxx","x-goog-api-key":"xxx","content-type":"application/json","content-length":"129","accept":"application/json","accept-encoding":"gzip, deflate, br, zstd"},"methodRewriting":false,"retry":{"limit":3,"methods":["POST"],"statusCodes":[408,413,429,500,502,503,504,521,522,524],"errorCodes":["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],"backoffLimit":null,"noise":100,"enforceRetryRules":false},"method":"POST","cacheOptions":{},"https":{},"resolveBodyOnly":false,"isStream":false,"responseType":"json","url":"https://firebaseinstallations.googleapis.com/v1/projects/batterycam-3250a/installations","pagination":{"countLimit":null,"backoff":0,"requestLimit":10000,"stackAllItems":false},"setHost":true,"enableUnixSockets":false,"strictContentLength":false},"message":"self-signed certificate in certificate chain","cause":{"code":"SELF_SIGNED_CERT_IN_CHAIN","name":"Error","message":"self-signed certificate in certificate chain"}},"message":"FidRegistrationFailedError: FID registration failed","context":{"fid":"dyc_xxxx"},"stacktrace":"FidRegistrationFailedError: FID registration failed\n at PushNotificationService.registerFid (/opt/iobroker/node_modules/eufy-security-client/build/push/service.js:152:19)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async PushNotificationService.createPushCredentials (/opt/iobroker/node_modules/eufy-security-client/build/push/service.js:225:16)\n at async PushNotificationService._open (/opt/iobroker/node_modules/eufy-security-client/build/push/service.js:834:32)\n at async PushNotificationService.open (/opt/iobroker/node_modules/eufy-security-client/build/push/service.js:916:13)"},"renew":false}] eusec.1 2026-09-25 19:05:51.762 error [push] [PushNotificationService.registerFid] Register FID - Generic Error [{"error":{"cause":{"code":"SELF_SIGNED_CERT_IN_CHAIN","name":"Error","message":"self-signed certificate in certificate chain"},"message":"RequestError: self-signed certificate in certificate chain","stacktrace":"RequestError: self-signed certificate in certificate chain\n at ClientRequest.<anonymous> (file:///opt/iobroker/node_modules/got/dist/source/core/index.js:868:107)\n at ClientRequest.wrapper (node:events:639:12)\n at ClientRequest.emit (node:events:526:24)\n at ClientRequest.emit (node:domain:489:12)\n at emitErrorEvent (node:_http_client:114:11)\n at TLSSocket.socketErrorListener (node:_http_client:766:5)\n at TLSSocket.emit (node:events:514:28)\n at TLSSocket.emit (node:domain:489:12)\n at emitErrorNT (node:internal/streams/destroy:170:8)\n at emitErrorCloseNT (node:internal/streams/destroy:129:3)\n at TLSSocket.onConnectSecure (node:internal/tls/wrap:1775:34)\n at TLSSocket.emit (node:events:514:28)\n at TLSSocket.emit (node:domain:489:12)\n at TLSSocket._finishInit (node:internal/tls/wrap:1203:8)\n at ssl.onhandshakedone (node:internal/tls/wrap:984:12)"}}] eusec.1 2026-09-25 19:05:51.680 info [push] [generateFid] generateFid ["dyc_xxxx"] eusec.1 2026-09-25 19:05:45.238 info starting. Version 3.3.0 in /opt/iobroker/node_modules/iobroker.eusec, node: v24.21.0, js-controller: 7.2.2Wenn ich die für mich kryptischen Meldungen richtig deute, könnte es ein altes Cookie geben, das die Registrierung verhindert - wie bekomme ich das weg? Oder was könnte ich sonst probieren?
-
Hi habs mal in ChatGPT geknallt, vielleicht hilft dir das :)
a. Der Log ist ziemlich eindeutig: Der eusec-Adapter selbst startet korrekt, aber die Eufy-Push-Benachrichtigungen können nicht registriert werden. Der entscheidende Fehler ist das TLS-Zertifikat.
Was genau passiert
Der Ablauf ist:
eusec 3.3.0 startet
starting. Version 3.3.0
node: v24.21.0
js-controller: 7.2.2→ Adapterstart ist grundsätzlich OK.
eusec erzeugt eine neue Firebase-ID:
[generateFid] generateFid
Danach versucht der Adapter, diese bei Google Firebase zu registrieren:
https://firebaseinstallations.googleapis.com/v1/projects/batterycam-3250/installations
Dabei scheitert die HTTPS-Verbindung:
SELF_SIGNED_CERT_IN_CHAIN
self-signed certificate in certificate chainDadurch kann keine Firebase/FCM Push-Credential erzeugt werden:
Create push credentials Error
Und deshalb deaktiviert eusec anschließend die Push-Funktion:
Push notifications are disabled, because the registration failed!
Wichtig: Das ist vermutlich kein Eufy-Login-ProblemDer Fehler tritt bei der Verbindung zu
firebaseinstallations.googleapis.com
auf, also bei Google/Firebase und nicht beim eigentlichen Eufy-Server.
Der relevante Fehler ist:
SELF_SIGNED_CERT_IN_CHAIN
Das bedeutet normalerweise, dass Node.js beim HTTPS-Zertifikat eine selbstsignierte bzw. nicht vertrauenswürdige Zertifikatskette sieht.
Bei deinem Setup würde ich deshalb als Erstes an Pi-hole / Technitium / DNS / HTTPS-Inspection / Proxy / eigenes CA-Zertifikat denken.
Gerade weil du Pi-hole und Technitium im Netzwerk betreibst, ist das interessant.
Ein weiterer wichtiger Punkt
Du verwendest:
eusec 3.3.0
Node.js 24.21.0
js-controller 7.2.2Die aktuelle eusec-Entwicklung verwendet inzwischen eine deutlich neuere eufy-security-client-Basis. Im aktuellen Repository steht beispielsweise eufy-security-client 4.1.1-1; die neueren Versionen enthalten auch Änderungen rund um FCM/Push.
Das heißt: Ein Update könnte sinnvoll sein, aber dein konkreter Fehler
SELF_SIGNED_CERT_IN_CHAIN
würde ich nicht einfach durch ein Update erklären. Das ist zunächst ein TLS-/Zertifikatsproblem.
Ich würde jetzt genau das testen
In deinem ioBroker-LXC, also dort, wo eusec läuft:
curl -Iv https://firebaseinstallations.googleapis.com/
und:
openssl s_client -connect firebaseinstallations.googleapis.com:443 -servername firebaseinstallations.googleapis.com
Besonders interessant ist, welches Zertifikat dort zurückkommt.
Wenn dort beispielsweise etwas wie
issuer=...
mit deinem lokalen Netzwerk, Pi-hole, Technitium, einer Firewall oder einem eigenen Zertifikat auftaucht, haben wir den Verursacher ziemlich sicher gefunden.
Zusätzlich:
node -e "require('https').get('https://firebaseinstallations.googleapis.com',r=>console.log(r.statusCode)).on('error',e=>console.error(e))"
Wenn dort ebenfalls
SELF_SIGNED_CERT_IN_CHAIN
kommt, ist eindeutig Node.js/TLS im LXC betroffen und nicht speziell eusec.
Noch eine interessante Möglichkeit
Bei Node.js 17+ gibt es außerdem ein bekanntes Thema mit IPv6 bei firebaseinstallations.googleapis.com. Die Eufy-Security-Websocket-Dokumentation weist ausdrücklich darauf hin, dass Node bei neueren Versionen IPv6 bevorzugen kann und nennt dafür eine ipv4first-Option.
Aber: Dein Fehler ist momentan nicht ENETUNREACH, ETIMEDOUT oder eine nicht erreichbare IPv6-Adresse, sondern explizit:
SELF_SIGNED_CERT_IN_CHAIN
Deshalb würde ich zuerst das Zertifikat prüfen, nicht IPv6.
Meine Einschätzung
Bereich Status
eusec startet ✅
Node.js 24 ✅
Eufy-Bibliothek wird geladen ✅
FID wird erzeugt ✅
Verbindung zu Firebase ❌
TLS-Zertifikat ❌
FCM Push ❌
Eufy-Kameras grundsätzlich erreichbar wahrscheinlich weiterhin möglich
Ursache sehr wahrscheinlich Zertifikatskette/TLS im Netzwerk oder LXCSchick mir am besten die Ausgabe von den beiden Befehlen curl -Iv ... und openssl s_client .... Dann können wir ziemlich genau feststellen, wer das falsche Zertifikat liefert und ob wir an Pi-hole/Technitium, Debian-CA-Zertifikaten oder Node.js ansetzen müssen.
-
OK, ich konnte mich nun endlich durchringen, meinen Raspi mit Trixie/64bit neu aufzusetzen, nodejs 24.21 war gleich dabei. iob installiert, Updates gemacht, Backup eingespielt. Alles funktioniert nach einigen manuellen Eingriffen bis auf Kleinigkeiten wieder und zwar richtig gut...
...aber leider bekomme ich jetzt ausgerechnet weder Eusec 2.3 (noch von Bropat) noch 3.3 (Community) zum Laufen.
Zunächst musste ich den Adapter komplett deinstallieren und neu installieren, da die "Startdatei" nicht gefunden werden konnte. Nun ist die Eingabe der Credentials kein Problem, dann kommt per Mail das OTP, das ich in das Objekt "verify-code" eintrage. Jetzt werden zwar alle Objekte richtig ausgelesen und angelegt, dann aber kommen folgende Fehlermeldungen (Tokens, Zertifikate & IDs habe ich mit "x" unkenntlich gemacht):
eusec.1 2026-09-25 19:05:51.767 error [push] [PushNotificationService._open] Push notifications are disabled, because the registration failed! [{"renew":false}] eusec.1 2026-09-25 19:05:51.766 info [main] Push notification connection closed eusec.1 2026-09-25 19:05:51.765 error [push] Create push credentials Error [{"error":{"cause":{"name":"RequestError","code":"SELF_SIGNED_CERT_IN_CHAIN","timings":{"start":1790355951687,"socket":1790355951701,"lookup":1790355951708,"connect":1790355951714,"error":1790355951757,"phases":{"wait":14,"dns":7,"tcp":6,"total":70}},"options":{"agent":{},"decompress":true,"timeout":{},"prefixUrl":"","body":"{\"fid\":\"xxx\",\"appId\":\"1:xxx:android:xxx\",\"authVersion\":\"FIS_v2\",\"sdkVersion\":\"a:16.3.1\"}","ignoreInvalidCookies":false,"context":{},"hooks":{"init":[],"beforeRequest":[],"beforeError":[null],"beforeRedirect":[],"beforeRetry":[],"beforeCache":[],"afterResponse":[]},"followRedirect":true,"maxRedirects":10,"throwHttpErrors":false,"username":"","password":"","http2":false,"allowGetBody":false,"copyPipedHeaders":true,"headers":{"user-agent":"got (https://github.com/sindresorhus/got)","x-android-package":"com.oceanwing.battery.cam","x-android-cert":"xxx","x-goog-api-key":"xxx","content-type":"application/json","content-length":"129","accept":"application/json","accept-encoding":"gzip, deflate, br, zstd"},"methodRewriting":false,"retry":{"limit":3,"methods":["POST"],"statusCodes":[408,413,429,500,502,503,504,521,522,524],"errorCodes":["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],"backoffLimit":null,"noise":100,"enforceRetryRules":false},"method":"POST","cacheOptions":{},"https":{},"resolveBodyOnly":false,"isStream":false,"responseType":"json","url":"https://firebaseinstallations.googleapis.com/v1/projects/batterycam-3250a/installations","pagination":{"countLimit":null,"backoff":0,"requestLimit":10000,"stackAllItems":false},"setHost":true,"enableUnixSockets":false,"strictContentLength":false},"message":"self-signed certificate in certificate chain","cause":{"code":"SELF_SIGNED_CERT_IN_CHAIN","name":"Error","message":"self-signed certificate in certificate chain"}},"message":"FidRegistrationFailedError: FID registration failed","context":{"fid":"dyc_xxxx"},"stacktrace":"FidRegistrationFailedError: FID registration failed\n at PushNotificationService.registerFid (/opt/iobroker/node_modules/eufy-security-client/build/push/service.js:152:19)\n at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n at async PushNotificationService.createPushCredentials (/opt/iobroker/node_modules/eufy-security-client/build/push/service.js:225:16)\n at async PushNotificationService._open (/opt/iobroker/node_modules/eufy-security-client/build/push/service.js:834:32)\n at async PushNotificationService.open (/opt/iobroker/node_modules/eufy-security-client/build/push/service.js:916:13)"},"renew":false}] eusec.1 2026-09-25 19:05:51.762 error [push] [PushNotificationService.registerFid] Register FID - Generic Error [{"error":{"cause":{"code":"SELF_SIGNED_CERT_IN_CHAIN","name":"Error","message":"self-signed certificate in certificate chain"},"message":"RequestError: self-signed certificate in certificate chain","stacktrace":"RequestError: self-signed certificate in certificate chain\n at ClientRequest.<anonymous> (file:///opt/iobroker/node_modules/got/dist/source/core/index.js:868:107)\n at ClientRequest.wrapper (node:events:639:12)\n at ClientRequest.emit (node:events:526:24)\n at ClientRequest.emit (node:domain:489:12)\n at emitErrorEvent (node:_http_client:114:11)\n at TLSSocket.socketErrorListener (node:_http_client:766:5)\n at TLSSocket.emit (node:events:514:28)\n at TLSSocket.emit (node:domain:489:12)\n at emitErrorNT (node:internal/streams/destroy:170:8)\n at emitErrorCloseNT (node:internal/streams/destroy:129:3)\n at TLSSocket.onConnectSecure (node:internal/tls/wrap:1775:34)\n at TLSSocket.emit (node:events:514:28)\n at TLSSocket.emit (node:domain:489:12)\n at TLSSocket._finishInit (node:internal/tls/wrap:1203:8)\n at ssl.onhandshakedone (node:internal/tls/wrap:984:12)"}}] eusec.1 2026-09-25 19:05:51.680 info [push] [generateFid] generateFid ["dyc_xxxx"] eusec.1 2026-09-25 19:05:45.238 info starting. Version 3.3.0 in /opt/iobroker/node_modules/iobroker.eusec, node: v24.21.0, js-controller: 7.2.2Wenn ich die für mich kryptischen Meldungen richtig deute, könnte es ein altes Cookie geben, das die Registrierung verhindert - wie bekomme ich das weg? Oder was könnte ich sonst probieren?
Zunächst musste ich den Adapter komplett deinstallieren und neu installieren, da die "Startdatei" nicht gefunden werden konnte.
Das "Fehlerbild" deutet stark darauf hin, dass du den Adapter von Github installiert hattest. Das ist nicht (mehr) unterstützt und immer mehr Adapetr unterstützen diese Installationsart nicht mehr. Wenn es nicht explizit vom Maintainer angefordert wird, solltest du direkte Github Installationen nicht vornehmen.
Ich nehme an, du hast nun vom offiziellen repo installiert.
Zu deinem eigentlichen Problem wollte ich eigentlich an @typhos und @bluefox weiter verweisen die den Adapter zur Zeit betreuen. Aber da ja Quatsch-GPT eh alles kennt, wart ich mal was der noch so ausspuckt :-).
mcm1957
-
@mcm1957 Nein, war eigentlich von vornherein eine NPM-Installation. Die Github-Kontroverse hatte ich schon mitbekommen und ist ja grds. nicht nötig, wenns auch mit NPM geht (ging hier nicht z.B. mit RPI2 oder ganz alten Widgets für VIS). Da ich zwei Adapter über Github installieren musste und evtl. die Einstellung doch nicht mehr auf NPM zurückgestellt habe, habe ich das aber vorsichtshalber nochmal neu hochgezogen.
@atifan Außerdem habe ich dieses Mal Pihole abgestellt und wieder einen gebräuchlichen DNS eingestellt, um die von der KI nahegelegten Probleme auszuschließen.
Ihr beiden, welche Lösung auch immer es war, geholfen hat es - vielen Dank :) !!
-
Danke fürs Feedback.
Das mit Github Installs wird immer häufiger auftreten, Da Github Installationen im Normalfall wenig Vorteile bringen werden diese bei modernisierten adapter auf Typescriptbasis oftmals nicht mehr unterstützt. Generell daher die Empfehlen vorzugsweise aus den Repositories zu installieren - und sollte das mal nicht möglich sein dann von npm. Nicht auf npm gepublishte Releases sind eigentlich nur im Zuge einer intensiveren Fehlersuche sinnvoll - und asagt der Maintainer hoffwentlich was sein(e) Tester tun sollen.
Ist hier zwar OT - möchte nur klarstellen, dass das keine Schikane sein soll sondern schlicht und einfach eingesparte Sonderlocken die aus Sicht der Entwicklung kaum etwas bringen.
-
Guten Abend,
vielen Dank zunächst einmal für diesen klasse Adapter. Ich binde aktuell eine Flutlichtkamera E30 damit ein und habe versucht die Presets anzusteuern. Bislang erfolglos. Ist bekannt, ob die Kamera die Preset Positionen grundsätzlich meldet und diese angesteuert werden können?
Gruß -
@Foggy Danke für die Meldung. Die Preset-Datenpunkte werden für die Floodlight Cam E30 (T8426) angelegt, weil die Bibliothek eufy-security-client sie für dieses Modell als unterstützt meldet. Beim Senden fehlt die E30 aber in der Liste der Modelle, für die der Befehl tatsächlich an die Kamera geht. Das Schreiben der Datenpunkte bleibt deshalb ohne Wirkung, ohne Fehlermeldung. An deiner Bedienung liegt es also nicht.
Die Bibliothek wird nicht mehr weiterentwickelt, daher möchte ich das im Adapter lösen. Beim Livestream versteht die E30 nachweislich dieselben Befehle wie die Floodlight Cam E340, bei der die Presets funktionieren. Ob das auch für die Presets gilt, kann ich ohne die Kamera nicht prüfen. Hättest du Lust, ein Testpaket auszuprobieren?
Vorab drei kurze Fragen:
Steht bei der Kamera als Modell T8426?
Bewegen pan_left, pan_right, tilt_up und tilt_down unter eusec.0.<Station>.cameras.<Kamera> die Kamera?
Kommt beim Livestream (start_stream) ein Bild? Für die E30 ist in der Bibliothek ein weiterer Fehler bekannt: Der Stream startet, aber es kommen keine Bilder.Zu deiner Frage, ob die Kamera ihre Presets meldet: Nein, das liefert die Bibliothek nicht. Der Adapter kann die Positionen 1 bis 4 anfahren, speichern und löschen, aber nicht anzeigen, welche davon belegt sind.
-
@typhos Gerne teste ich das. Zu deinen Fragen:
Ja, als Modell ist steht die T8426 im DP.
pan_left, pan_right, tilt_up bewegen die Kamera korrekt.
Wo würde ich den Livestream sehen? Bei der Livestream URL? Beim Klick auf den Button kommt im Log: Station: T8426............... command CMD_BIND_BROADCAST failed with error: ERROR_INVALID_ACCOUNT (-104)Gruß
-
@Foggy Danke, das hat geholfen. Die Meldung beim Livestream zeigt, dass die Kamera den Start des Streams ablehnt. Der Name CMD_BIND_BROADCAST im Log ist irreführend, gemeint ist der Befehl zum Starten des Livestreams.
Presets und Livestream haben dieselbe Ursache: Die Bibliothek beschreibt die E30 intern genau wie die Floodlight Cam E340, schickt ihr aber die Befehle älterer Flutlichtkameras. Das Testpaket schickt der E30 die Befehle der E340.
iobroker.eusec-3.3.1-floodlight-e30.1.zip
Installation: Zip entpacken. Dann in der Admin-Oberfläche unter „Adapter" auf das GitHub-Symbol klicken, den Reiter „Benutzerdefiniert" öffnen, die Datei iobroker.eusec-3.3.1-floodlight-e30.1.tgz auswählen oder in den Dialog ziehen und installieren (ab Admin 7.8.8). Bei einem älteren Admin die .tgz zuerst auf den ioBroker-Rechner kopieren, z. B. nach /tmp, und dann /tmp/iobroker.eusec-3.3.1-floodlight-e30.1.tgz in das Textfeld eintragen.
Nach dem Start steht im Log einmal eine Info-Zeile, dass die E30 wie die E340 angesprochen wird. Magst du bitte Folgendes testen:
Presets: Kamera in eine Position bringen, save_preset_position auf „Preset 1" (Wert 0) setzen, Kamera wegdrehen, dann preset_position auf „Preset 1" setzen. Fährt sie zurück?Livestream: start_stream drücken. Danach steht im Datenpunkt livestream eine Adresse, die du im Browser öffnest. Kommt ein Bild?
Schwenken und Neigen: Das läuft jetzt ebenfalls über die Befehle der E340. Bewegen pan_left, pan_right, tilt_up und tilt_down die Kamera weiterhin?
Falls du sie nutzt: talkback_play (Gegensprechen) und calibrate.
Wenn etwas nicht klappt, hilft mir ein Log auf Stufe „debug" vom Zeitpunkt des Befehls. -
Hi, vielen Dank!
Preset funktioniert jetzt. Ich kann Preset Positionen speichern und dann auf die gesetzte Position fahren lassen. Nach 150 Sekunden fährt die Kamera automatisch zu Preset 1 zurück. Lässt sich das verhindern oder die Zeit verlängern, die die Kamera an der Position bleibt?PS: beim Start des Adapter erscheint der Error im Log:
Die Bewegungsbefehle pan_left, pan_right, tilt_up und tilt_down funktionieren weiterhin.
Livestream: beim Druck auf start_stream steht bei livestream und bei livestream_rtsp je eine url. http://IP:1984/stream.html?src=T8426XXXXXXXXXXXX&background=false bzw. rtsp://IP:554/T8426XXXXXXXXXXXX. Beide lassen sich nicht öffnen. Liegt das evtl. an den Credentials, die nicht mit übergeben werden? Die RTSP Adresse die ich im VLC zum laufen bekomme ist so aufgebaut: rtsp://username:password@IP/live0
Calibrate tut nichts, es gibt auch keinen Log. Talkback_play muss ich morgen bei Tag mal probieren. Kann ich noch irgendwie unterstützten?
P.S.: beim Start des Adapters erscheint der Error im Log:
[http] [HTTPApi.checkPushToken] Check push token - Response code not ok [{"code":-1,"msg":"Anfrage fehlgeschlagen.","data":{"code":-1,"msg":"Anfrage fehlgeschlagen."}}] -
@Foggy Danke für den ausführlichen Test!
Presets und Schwenken/Neigen: Prima, damit ist das bestätigt. Die Änderung kommt ins nächste Release.
Rücksprung nach 150 Sekunden: Eine Einstellung für die Rückkehrzeit kennt die Bibliothek für die E30 nicht. Der Adapter kann sie also weder anzeigen noch ändern. Von selbst bewegt sich die Kamera aber, wenn
motion_tracking(Bewegungsverfolgung) odermotion_auto_cruise(automatischer Rundgang) eingeschaltet ist. Steht einer der beiden auf true? Dann setz ihn bitte testweise auf false und schau, ob der Rücksprung aufhört. Das zeigt nebenbei, ob diese Einstellungen bei der E30 ankommen: Ändert sich der Schalter in der Eufy-App mit? Falls du in der App eine Einstellung für die Rückkehr findest, schreib mir bitte, wie sie heißt.Livestream: Die Adressen stehen erst in den Datenpunkten, wenn die Kamera die ersten Bilder geschickt hat. Der Start klappt jetzt also, das Problem liegt dahinter. Die beiden Adressen gehören zu go2rtc, das der Adapter auf dem ioBroker-Rechner startet, nicht zur Kamera. Die Zugangsdaten der Kamera braucht es dafür nicht. Nur wenn in den Adaptereinstellungen bei go2rtc ein RTSP-Benutzer mit Passwort eingetragen ist, gehören diese beiden in die RTSP-Adresse.
Was passiert genau beim Öffnen? Lädt die Seite und bleibt schwarz, oder kommt eine Fehlermeldung? Und öffnet sich
http://IP:1984/, also die Oberfläche von go2rtc?Die Adresse mit
live0, die bei dir in VLC läuft, ist der eigene RTSP-Server der Kamera. Den kannst du unabhängig vom Adapter direkt nutzen. Für ein Dauerbild ist das ohnehin der stabilere Weg.Calibrate: Der Befehl geht ohne Rückmeldung an die Kamera, deshalb steht auf der normalen Log-Stufe nichts im Log. Bietet die Eufy-App für die E30 eine Kalibrierung an? Wenn ja: Was macht die Kamera dabei?
Fehler beim Start (checkPushToken): Der ist harmlos und erscheint einmal pro Start. Eufy stellt die Konten auf ein neues Backend um, und der alte Push-Endpunkt lehnt umgestellte Konten ab. Die Push-Nachrichten kommen über das neue Backend, und der Adapter fragt den alten Endpunkt danach nicht mehr. Solange Bewegungsereignisse ankommen, ist alles in Ordnung.
Wie du helfen kannst: Beim Livestream und bei Calibrate hilft mir ein Log auf Stufe „debug" am meisten. Dazu unter „Instanzen" bei eusec.0 die Log-Stufe auf „debug" stellen. Dann start_stream drücken, die beiden Adressen ausprobieren, nach etwa einer Minute calibrate drücken und den Log-Ausschnitt ab start_stream hier einstellen, gern als Datei oder im Spoiler. Seriennummern, IP-Adressen und alles, was nach Token oder Schlüssel aussieht, bitte unkenntlich machen. Danach die Log-Stufe wieder auf „info" stellen.
Talkback dann gern bei Tageslicht.
-
Hey,
Rücksprung: motion_tracking war tatsächlich aktiv. Wenn ich motion_tracking und motion_auto_cruise deaktiviere, fährt die Kamera trotzem immer wieder zum Preset 1. Der Schalter in der Eufy-App ändert sich entsprechend den Einstellungen, nicht live, man muss einmal aus dem Einstellungsmenü raus und wieder ein um die Änderung zu sehen. In den FAQ zu den Presets heißt es wörtlich:
Allerdings kann ich den letzten Satz so nicht bestätigen. Es ist immer ein Preset als Standard gesetzt. Werden alle gelöscht und nur eins wieder gesetzt, so ist dieses automatisch das neue Standard-Preset.
Wenn man nicht alle 4 Preset-Positionen braucht, funktioniert als Workaround z.B. ein kurzes Blockly: Speichere aktuelles Preset 1 als Preset 4, fahre zu Preset 3, Timeout bis in Position, speichere Position als Preset 1. Dann bleibt die Kamera da. Will man zurück zu Position 1: Fahre zu Preset 4, Timeout, speichere als Preset 1. Halt allerdings den Nachteil, dass evtl. gespeicherte Motion-Detection-Zones aus Preset 1 weg sind, da es ja immer überschrieben wird.
Livestream: Beim Öffnen der Seite kommt ein Seitenladefehler, es läd sich Oberfläche von go2rtc. Brauche ich für go2rtc noch einen eigenen Adapter?
Hier der Log zum Livestream:
2026-09-28 14:00:00.779 - [34mdebug[39m: eusec.0 (19892) [euSec.onStateChange] state eusec.0.T8426xxxxxxxxxxx.cameras.T8426xxxxxxxxxxx.start_stream changed: true (ack = false) 2026-09-28 14:00:00.782 - [33mwarn[39m: eusec.0 (19892) The video streaming quality of device T8426xxxxxxxxxxx is set to "Auto". The camera may change the resolution while the stream is running, which browsers using MSE cannot follow (green picture or artifacts). Set a fixed quality if you see this. 2026-09-28 14:00:00.784 - [34mdebug[39m: eusec.0 (19892) [Object.write] [http] [Station.startLivestream] Station start livestream - sending command [{"stationSN":"T8426xxxxxxxxxxx","deviceSN":"T8426xxxxxxxxxxx","videoCodec":0}] 2026-09-28 14:00:00.784 - [34mdebug[39m: eusec.0 (19892) [Object.write] [http] [Station.startLivestream] Station start livestream - sending command using CMD_DOORBELL_SET_PAYLOAD (1) [{"stationSN":"T8426xxxxxxxxxxx","deviceSN":"T8426xxxxxxxxxxx","videoCodec":0,"main_sw_version":"1.2.1.0"}] 2026-09-28 14:00:00.786 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.sendCommandWithStringPayload] sendCommandWithStringPayload: [{"p2pcommand":{"commandType":1700,"value":"{\"commandType\":1000,\"data\":{\"accountId\":\"ca04c96d30e3e59239fb49bb5029917f8a5a4d2e\",\"camera_type\":0,\"encryptkey\":\"ac1fd5eb3d64c3e6212be909095ad48792c817bf65a2071acb6f273eca961b395bab5aed3c193714647e0e630e16d3c22f6b4a1085e730c26da2c923de751a19bee6d9b13a0c4ba281b308b6d86233834219feeda00b2e234ff85b5daa8235ca5bc0ab765779894fea5cb7e4cb23f3f436f3b63874ceeab0c52189b026bafe01\",\"entrytype\":0,\"streamtype\":0}}","channel":0},"customData":{"command":{"name":"deviceStartLivestream","value":0}}}] 2026-09-28 14:00:00.787 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol._sendCommand] Sending p2p command... [{"station":"T8426xxxxxxxxxxx","sequence":4,"commandType":1700,"channel":0,"retries":0,"messageStatesSize":1}] 2026-09-28 14:00:00.820 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA CONTROL - Processing sequence 43... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":18914,"dataType":"CONTROL","seqNo":43}] 2026-09-28 14:00:00.822 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleDataControl] Station Handle DATA CONTROL - CMD_NOTIFY_PAYLOAD [{"stationSN":"T8426xxxxxxxxxxx","payload":"{\"cmd\":6203,\"payload\":{\"dstZoom\":1}}\u0000�����\u0007\u0000�\u0000\u0000\u0000"}] 2026-09-28 14:00:00.823 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleDataControl] Handle DATA CONTROL - CMD_NOTIFY_PAYLOAD - Not implemented 2 [{"stationSN":"T8426xxxxxxxxxxx","commandId":6203,"message":"{\"cmd\":6203,\"payload\":{\"dstZoom\":1}}\u0000�����\u0007\u0000�\u0000\u0000\u0000"}] 2026-09-28 14:00:00.828 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA CONTROL - Processing sequence 43... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":18914,"dataType":"CONTROL","seqNo":43}] 2026-09-28 14:00:00.833 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA DATA - Processing sequence 3... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":18914,"dataType":"DATA","seqNo":3}] 2026-09-28 14:00:00.833 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleData] Handle DATA DATA - Skipping decryption, data not block-aligned [{"stationSN":"T8426xxxxxxxxxxx","seqNo":3,"commandType":"CMD_DOORBELL_SET_PAYLOAD","signCode":1,"dataLength":36,"mod16":4}] 2026-09-28 14:00:00.834 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleData] Handle DATA DATA - Received data [{"stationSN":"T8426xxxxxxxxxxx","seqNo":3,"commandIdName":"CMD_DOORBELL_SET_PAYLOAD","commandId":1700,"resultCodeName":"ERROR_PPCS_SUCCESSFUL","resultCode":0,"resultData":"0000000000000000000000000000000000000000000000000000000000000000","data":"000000000000000000000000000000000000000000000000000000000000000000000000","seqNumber":5,"p2pDataSeqNumber":4,"offsetDataSeqNumber":0}] 2026-09-28 14:00:00.835 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleData] Handle DATA DATA - Result data for command received [{"stationSN":"T8426xxxxxxxxxxx","message":{"sequence":4,"commandType":1700,"nestedCommandType":1000,"channel":0,"acknowledged":true,"retries":0,"returnCode":0,"data":{"type":"Buffer","data":[209,0,0,4,88,90,89,72,164,6,160,1,0,0,1,0,0,1,0,0,40,69,61,115,96,168,141,208,195,216,153,189,187,114,251,152,10,59,247,235,12,114,253,110,11,246,176,92,235,1,91,141,213,141,245,225,118,45,160,127,99,85,11,222,199,195,5,215,235,57,212,144,228,95,167,162,218,191,185,195,70,140,77,121,246,134,127,181,99,73,120,142,208,203,130,22,0,227,67,114,194,94,110,87,26,177,6,105,113,82,22,95,138,136,93,217,39,74,136,32,23,211,160,95,178,151,245,4,228,236,227,252,18,197,208,194,77,47,52,68,236,132,121,67,128,60,248,154,176,203,160,70,190,3,235,193,191,240,38,26,123,55,226,127,58,102,17,38,236,28,219,251,183,62,126,222,206,159,22,173,131,154,125,105,207,202,163,97,225,226,128,93,150,183,19,73,91,90,53,189,250,25,81,209,147,131,253,29,164,42,177,76,141,137,65,155,106,176,127,193,34,181,69,242,121,29,59,3,170,117,213,68,115,200,118,86,149,51,71,204,184,175,179,45,11,192,144,69,158,16,43,2,143,30,80,46,24,180,105,75,216,138,213,98,238,74,204,112,177,176,139,182,60,4,104,9,183,51,102,33,246,163,234,159,46,92,136,95,188,254,52,151,208,29,109,119,219,235,205,29,110,116,25,116,241,41,235,49,174,102,134,34,44,251,90,175,184,56,200,143,73,131,118,106,225,183,197,25,196,225,2,153,158,226,203,61,107,249,132,184,146,172,141,28,102,107,27,91,93,82,239,173,137,1,2,67,118,140,251,39,174,142,45,151,70,206,92,77,203,223,61,58,162,60,57,63,176,0,213,148,53,171,89,4,127,149,212,66,35,227,25,125,164,250,119,236,161,78,39,99,192,221,75,209,57,248,113,83,14,129,235,67,176,169,109,162,91,32,55,77,122,176,192,218,55,86,82,251,246,39,218,137,195,121,250,229]},"customData":{"command":{"name":"deviceStartLivestream","value":0}}},"resultCodeName":"ERROR_PPCS_SUCCESSFUL","resultCode":0}] 2026-09-28 14:00:00.835 - [34mdebug[39m: eusec.0 (19892) [Object.write] [http] [Station.onCommandResponse] Station got p2p command response [{"station":"T8426xxxxxxxxxxx","commandType":1000,"channel":0,"returnCodeName":"ERROR_PPCS_SUCCESSFUL","returnCode":0,"customData":{"command":{"name":"deviceStartLivestream","value":0}}}] 2026-09-28 14:00:00.836 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA CONTROL - Processing sequence 44... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":18914,"dataType":"CONTROL","seqNo":44}] 2026-09-28 14:00:00.837 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleDataControl] Handle DATA CONTROL - CMD_WIFI_CONFIG [{"stationSN":"T8426xxxxxxxxxxx","channel":0,"rssi":-67}] 2026-09-28 14:00:00.882 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 0... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":18914,"dataType":"VIDEO","seqNo":0}] 2026-09-28 14:00:00.883 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 1... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":18914,"dataType":"VIDEO","seqNo":1}] 2026-09-28 14:00:00.884 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 2... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":18914,"dataType":"VIDEO","seqNo":2}] 2026-09-28 14:00:00.885 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 3... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":18914,"dataType":"VIDEO","seqNo":3}] 2026-09-28 14:00:00.886 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 4... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":18914,"dataType":"VIDEO","seqNo":4}] 2026-09-28 14:00:00.887 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 5... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":18914,"dataType":"VIDEO","seqNo":5}] ... 2026-09-28 14:01:26.147 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 9504... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":18914,"dataType":"VIDEO","seqNo":9504}] 2026-09-28 14:01:26.148 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 9504... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":18914,"dataType":"VIDEO","seqNo":9504}] 2026-09-28 14:01:26.172 - [34mdebug[39m: eusec.0 (19892) [euSec.onStateChange] state eusec.0.T8426xxxxxxxxxxx.cameras.T8426xxxxxxxxxxx.stop_stream changed: true (ack = false) 2026-09-28 14:01:26.175 - [34mdebug[39m: eusec.0 (19892) [Object.write] [http] [Station.stopLivestream] Station stop livestream - sending command [{"stationSN":"T8426xxxxxxxxxxx","deviceSN":"T8426xxxxxxxxxxx"}] 2026-09-28 14:01:26.177 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol._sendCommand] Sending p2p command... [{"station":"T8426xxxxxxxxxxx","sequence":5,"commandType":1004,"channel":0,"retries":0,"messageStatesSize":1}] 2026-09-28 14:01:26.211 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA CONTROL - Processing sequence 45... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":18914,"dataType":"CONTROL","seqNo":45}] 2026-09-28 14:01:26.216 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleDataControl] Station Handle DATA CONTROL - CMD_NOTIFY_PAYLOAD [{"stationSN":"T8426xxxxxxxxxxx","payload":"{\"cmd\":6246,\"payload\":{\"num\":0}}"}] 2026-09-28 14:01:26.216 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleDataControl] Handle DATA CONTROL - CMD_NOTIFY_PAYLOAD Livestream status [{"stationSN":"T8426xxxxxxxxxxx","payload":{"num":0}}] 2026-09-28 14:01:26.217 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA CONTROL - Processing sequence 45... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":18914,"dataType":"CONTROL","seqNo":45}] 2026-09-28 14:01:26.217 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA DATA - Processing sequence 4... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":18914,"dataType":"DATA","seqNo":4}] 2026-09-28 14:01:26.218 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleData] Handle DATA DATA - Skipping decryption, data not block-aligned [{"stationSN":"T8426xxxxxxxxxxx","seqNo":4,"commandType":"CMD_STOP_REALTIME_MEDIA","signCode":1,"dataLength":36,"mod16":4}] 2026-09-28 14:01:26.218 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleData] Handle DATA DATA - Received data [{"stationSN":"T8426xxxxxxxxxxx","seqNo":4,"commandIdName":"CMD_STOP_REALTIME_MEDIA","commandId":1004,"resultCodeName":"ERROR_PPCS_SUCCESSFUL","resultCode":0,"resultData":"0000000000000000000000000000000000000000000000000000000000000000","data":"000000000000000000000000000000000000000000000000000000000000000000000000","seqNumber":6,"p2pDataSeqNumber":5,"offsetDataSeqNumber":0}] 2026-09-28 14:01:26.218 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleData] Handle DATA DATA - Result data for command received [{"stationSN":"T8426xxxxxxxxxxx","message":{"sequence":5,"commandType":1004,"channel":0,"acknowledged":true,"retries":0,"returnCode":0,"data":{"type":"Buffer","data":[209,0,0,5,88,90,89,72,236,3,16,0,0,0,1,0,0,1,0,0,233,206,85,185,220,3,31,146,34,53,75,142,140,224,229,156]},"customData":{"command":{"name":"deviceStopLivestream"}}},"resultCodeName":"ERROR_PPCS_SUCCESSFUL","resultCode":0}] 2026-09-28 14:01:26.219 - [34mdebug[39m: eusec.0 (19892) [Object.write] [http] [Station.onCommandResponse] Station got p2p command response [{"station":"T8426xxxxxxxxxxx","commandType":1004,"channel":0,"returnCodeName":"ERROR_PPCS_SUCCESSFUL","returnCode":0,"customData":{"command":{"name":"deviceStopLivestream"}}}] 2026-09-28 14:01:26.220 - [34mdebug[39m: eusec.0 (19892) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA DATA - Processing sequence 4... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":18914,"dataType":"DATA","seqNo":4}] 2026-09-28 14:01:26.227 - [34mdebug[39m: eusec.0 (19892) [euSec.onStateChange] state eusec.0.T8426xxxxxxxxxxx.cameras.T8426xxxxxxxxxxx.livestream changed: (ack = true) was already acknowledged, ignore it... 2026-09-28 14:01:26.272 - [34mdebug[39m: eusec.0 (19892) [euSec.onStateChange] state eusec.0.T8426xxxxxxxxxxx.cameras.T8426xxxxxxxxxxx.livestream_rtsp changed: (ack = true) was already acknowledged, ignore it...'''Und hier der Calibrate Log:
eusec.0 2026-09-28 17:24:03.642 debug [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA DATA - Processing sequence 24... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":18914,"dataType":"DATA","seqNo":24}] eusec.0 2026-09-28 17:24:03.641 debug [Object.write] [http] [Station.onCommandResponse] Station got p2p command response [{"station":"T8426xxxxxxxxxxx","commandType":6017,"channel":0,"returnCodeName":"ERROR_PPCS_SUCCESSFUL","returnCode":0,"customData":{"command":{"name":"deviceCalibrate"}}}] eusec.0 2026-09-28 17:24:03.641 debug [Object.write] [p2p] [P2PClientProtocol.handleData] Handle DATA DATA - Result data for command received [{"stationSN":"T8426xxxxxxxxxxx","message":{"sequence":25,"commandType":1700,"nestedCommandType":6017,"channel":0,"acknowledged":true,"retries":0,"returnCode":0,"data":{"type":"Buffer","data":[209,0,0,25,88,90,89,72,164,6,144,0,0,0,1,0,0,1,0,0,242,175,205,61,220,74,172,253,161,133,161,19,248,185,73,236,26,12,82,103,135,1,86,39,249,72,173,205,196,143,149,31,174,240,151,205,103,219,141,206,242,215,130,3,4,27,229,180,227,133,221,167,239,221,34,56,179,25,140,7,207,146,48,80,247,240,242,196,156,189,150,161,52,171,91,233,167,210,225,126,251,156,149,53,238,9,140,37,165,196,86,25,127,237,93,102,194,120,167,223,76,13,127,49,209,162,18,230,151,165,103,210,180,91,4,178,7,117,9,59,52,240,166,65,2,169,232,183,141,95,238,140,42,87,225,117,142,72,207,140,251,40,129,164]},"customData":{"command":{"name":"deviceCalibrate"}}},"resultCodeName":"ERROR_PPCS_SUCCESSFUL","resultCode":0}] eusec.0 2026-09-28 17:24:03.641 debug [Object.write] [p2p] [P2PClientProtocol.handleData] Handle DATA DATA - Received data [{"stationSN":"T8426xxxxxxxxxxx","seqNo":24,"commandIdName":"CMD_DOORBELL_SET_PAYLOAD","commandId":1700,"resultCodeName":"ERROR_PPCS_SUCCESSFUL","resultCode":0,"resultData":"0000000000000000000000000000000000000000000000000000000000000000","data":"000000000000000000000000000000000000000000000000000000000000000000000000","seqNumber":26,"p2pDataSeqNumber":25,"offsetDataSeqNumber":0}] eusec.0 2026-09-28 17:24:03.640 debug [Object.write] [p2p] [P2PClientProtocol.handleData] Handle DATA DATA - Skipping decryption, data not block-aligned [{"stationSN":"T8426xxxxxxxxxxx","seqNo":24,"commandType":"CMD_DOORBELL_SET_PAYLOAD","signCode":1,"dataLength":36,"mod16":4}] eusec.0 2026-09-28 17:24:03.640 debug [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA DATA - Processing sequence 24... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":18914,"dataType":"DATA","seqNo":24}] eusec.0 2026-09-28 17:24:03.624 debug [Object.write] [p2p] [P2PClientProtocol._sendCommand] Sending p2p command... [{"station":"T8426xxxxxxxxxxx","sequence":25,"commandType":1700,"channel":0,"retries":0,"messageStatesSize":1}] eusec.0 2026-09-28 17:24:03.623 debug [Object.write] [p2p] [P2PClientProtocol.sendCommandWithStringPayload] sendCommandWithStringPayload: [{"p2pcommand":{"commandType":1700,"value":"{\"commandType\":6017,\"data\":{\"enable\":0,\"index\":0,\"status\":0,\"type\":0,\"value\":0,\"voiceID\":0,\"zonecount\":0,\"transaction\":\"1790609043623\"}}","channel":0},"customData":{"command":{"name":"deviceCalibrate"}}}] eusec.0 2026-09-28 17:24:03.623 debug [Object.write] [http] [Station.calibrate] Station calibrate - sending command [{"stationSN":"T8426xxxxxxxxxxx","deviceSN":"T8426xxxxxxxxxxx"}] eusec.0 2026-09-28 17:24:03.621 debug [euSec.onStateChange] state eusec.0.T8426xxxxxxxxxxx.cameras.T8426xxxxxxxxxxx.calibrate changed: true (ack = false)Talkback gibt kein Audio aus.
-
@Foggy Danke, das Log hilft weiter!
Rücksprung: Dann ist das die Standardposition der Kamera selbst und nicht die Bewegungsverfolgung. Die kennt die Bibliothek nicht: weder welches Preset Standard ist noch die Zeit bis zur Rückkehr. Im Moment ist dein Blockly deshalb der beste Weg. Gut zu wissen ist, dass die Schalter aus dem Adapter in der App ankommen. Damit ist bestätigt, dass auch die Einstellungen bei der E30 wirken.
Livestream: Das Log zeigt, dass die Kamera den Start annimmt und 86 Sekunden lang Videodaten schickt, bis du stop_stream gedrückt hast. Zwischen Kamera und Adapter läuft also alles, das Problem liegt zwischen go2rtc und deinem Browser. Einen eigenen Adapter brauchst du für go2rtc nicht, eusec bringt go2rtc mit und startet es selbst.
Zwei Dinge fallen mir auf:
- Die Adresse im Datenpunkt
livestreambaut der Adapter aus dem Feld „Hostname" in den Adaptereinstellungen. Wennhttp://IP:1984/lädt, die Adresse aus dem Datenpunkt aber nicht, steht dort vermutlich ein Name oder eine IP, die dein Rechner nicht erreicht. Zum Testen: Livestream starten,http://IP:1984/öffnen und in der Liste neben T8426… auf „stream" klicken. Kommt dann ein Bild, trag bitte im Feld „Hostname" die IP ein, unter der du die Oberfläche erreichst. - In deiner RTSP-Adresse steht Port 554, voreingestellt ist 8554. Unter Linux darf ein Programm ohne Root-Rechte keinen Port unter 1024 öffnen, dann startet der RTSP-Teil von go2rtc nicht. Falls du den Port geändert hast, stell ihn bitte wieder auf 8554.
Wenn beides nichts bringt: Im ioBroker-Log beginnen die Meldungen von go2rtc mit „go2rtc". Stell bitte die Zeilen nach dem Adapterstart und während des Livestreams hier ein, dazu, was die Seite genau anzeigt (Wortlaut oder Screenshot).
Die Warnung zur Qualität „Auto" im Log ist nur ein Hinweis. Falls später ein Bild kommt, das grün ist oder Artefakte zeigt, stell die Streaming-Qualität (
video_streaming_quality) auf eine feste Stufe.Calibrate: Die Kamera bestätigt den Befehl, bewegt sich aber nicht. Die E30 erwartet zum Kalibrieren offenbar einen anderen Befehl als die E340, und den kann ich ohne die Kamera nicht herausfinden. Kalibrier sie bitte über die Eufy-App, das braucht man ja nur selten.
Talkback: Was hast du in
talkback_playgeschrieben? Erwartet wird eine http(s)-Adresse oder ein vollständiger Dateipfad zu einer Audiodatei auf dem ioBroker-Rechner. Den Livestream startet der Adapter dafür selbst. Hilfreich wären die Log-Zeilen auf Stufe „debug", in denen „talkback" oder „Talkback" vorkommt. - Die Adresse im Datenpunkt
-
@typhos ganz herzlichen dank.
Der Livestream funktioniert jetzt. Im Feld Hostname habe ich jetzt die IP des ioBrokers eingesetzt, damit geht es. Auch der RTSP-Stream mit dem Port 8554.
Calibrate ist für mich persönlich nicht so wichtig und ich kann es in der App nutzen. Hätte hier nur helfen wollen.
Talkback: hier habe ich eine https adresse zu einer mp3-Datei eingetragen, hier mal der Log:
eusec.0 2026-09-28 22:13:15.454 debug [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 53... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":12522,"dataType":"VIDEO","seqNo":53}] eusec.0 2026-09-28 22:13:15.454 debug [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 52... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":12522,"dataType":"VIDEO","seqNo":52}] eusec.0 2026-09-28 22:13:15.453 debug [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 52... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":12522,"dataType":"VIDEO","seqNo":52}] eusec.0 2026-09-28 22:13:15.452 debug [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 52... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":12522,"dataType":"VIDEO","seqNo":52}] eusec.0 2026-09-28 22:13:15.452 debug [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 52... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":12522,"dataType":"VIDEO","seqNo":52}] eusec.0 2026-09-28 22:13:15.451 debug [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 52... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":12522,"dataType":"VIDEO","seqNo":52}] eusec.0 2026-09-28 22:13:15.450 debug [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 52... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":12522,"dataType":"VIDEO","seqNo":52}] eusec.0 2026-09-28 22:13:15.449 debug [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 52... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":12522,"dataType":"VIDEO","seqNo":52}] eusec.0 2026-09-28 22:13:15.448 debug [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 52... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":12522,"dataType":"VIDEO","seqNo":52}] eusec.0 2026-09-28 22:13:15.446 debug [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 52... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":12522,"dataType":"VIDEO","seqNo":52}] eusec.0 2026-09-28 22:13:15.445 debug [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 51... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":12522,"dataType":"VIDEO","seqNo":51}] eusec.0 2026-09-28 22:13:15.356 debug [euSec.onStateChange] state eusec.0.T8426xxxxxxxxxxx.cameras.T8426xxxxxxxxxxx.livestream_rtsp changed: rtsp://IP.ioBroker:8554/T8426xxxxxxxxxxx (ack = true) was already acknowledged, ignore it... eusec.0 2026-09-28 22:13:15.353 debug [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 51... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":12522,"dataType":"VIDEO","seqNo":51}] eusec.0 2026-09-28 22:13:15.352 debug [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 51... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"IP.Adresse","remotePort":12522,"dataType":"VIDEO","seqNo":51}] eusec.0 2026-09-28 22:13:15.329 debug [euSec.onStateChange] state eusec.0.T8426xxxxxxxxxxx.cameras.T8426xxxxxxxxxxx.livestream changed: http://IP.ioBroker:1984/stream.html?src=T8426xxxxxxxxxxx&background=false (ack = true) was already acknowledged, ignore it... eusec.0 2026-09-28 22:13:15.316 info Talkback for device T8426xxxxxxxxxxx: playing "https://www.url.de/test.mp3"... eusec.0 2026-09-28 22:13:15.315 debug [Object.write] [http] [Station.onCommandResponse] Station got p2p command response [{"station":"T8426xxxxxxxxxxx","commandType":1005,"channel":0,"returnCodeName":"ERROR_PPCS_SUCCESSFUL","returnCode":0,"customData":{"command":{"name":"deviceStartTalkback"}}}] eusec.0 2026-09-28 22:13:15.315 debug [Object.write] [p2p] [P2PClientProtocol.handleData] Handle DATA DATA - Result data for command received [{"stationSN":"T8426xxxxxxxxxxx","message":{"sequence":5,"commandType":1005,"channel":0,"acknowledged":true,"retries":0,"returnCode":0,"data":{"type":"Buffer","data":[209,0,0,5,88,90,89,72,237,3,16,0,0,0,1,0,0,1,0,0,233,206,85,185,220,3,31,146,34,53,75,142,140,224,229,156]},"customData":{"command":{"name":"deviceStartTalkback"}}},"resultCodeName":"ERROR_PPCS_SUCCESSFUL","resultCode":0}] eusec.0 2026-09-28 22:13:15.314 debug [Object.write] [p2p] [P2PClientProtocol.handleData] Handle DATA DATA - Received data [{"stationSN":"T8426xxxxxxxxxxx","seqNo":4,"commandIdName":"CMD_START_TALKBACK","commandId":1005,"resultCodeName":"ERROR_PPCS_SUCCESSFUL","resultCode":0,"resultData":"0000000000000000000000000000000000000000000000000000000000000000","data":"000000000000000000000000000000000000000000000000000000000000000000000000","seqNumber":6,"p2pDataSeqNumber":5,"offsetDataSeqNumber":0}] eusec.0 2026-09-28 22:13:15.314 debug [Object.write] [p2p] [P2PClientProtocol.handleData] Handle DATA DATA - Skipping decryption, data not block-aligned [{"stationSN":"T8426xxxxxxxxxxx","seqNo":4,"commandType":"CMD_START_TALKBACK","signCode":1,"dataLength":36,"mod16":4}] -
@Foggy Schön, dass der Livestream jetzt läuft, und danke für die Rückmeldung!
Zum Talkback: Laut Log nimmt die Kamera den Talkback-Start an, und der Adapter fängt an, die Datei abzuspielen („Talkback for device … playing“). Dein Ausschnitt endet aber eine Zehntelsekunde danach, da ist ffmpeg noch gar nicht richtig angelaufen. Was danach passiert, kann ich deshalb nicht sehen. An der E30 hat Talkback außerdem noch niemand getestet. Kannst du bitte Folgendes nachschauen?
- Das Log ab der Zeile „playing“ bis zum Ende des Livestreams, nur die Zeilen mit „talkback“, „Talkback“, „ffmpeg“ oder „Error“. Die vielen VIDEO-Zeilen kannst du weglassen. Mich interessiert vor allem, ob eine Zeile „Talkback for device … - Error“ kommt und ob danach „Station stop talkback“ und „Station stop livestream“ folgen.
- Wird
talkback_playnach dem Abspielen bestätigt (ack = true)? Das passiert erst, wenn die Datei ganz durchgelaufen ist. - Wie lang ist die MP3, und läuft der Livestream ungefähr so lange?
- Hörst du etwas, wenn du über die Eufy-App sprichst? Steht
speakerauf true undspeaker_volumenicht auf 0? - Zum Gegentest: Leg die MP3 direkt auf den ioBroker-Rechner (unter Linux z. B.
/opt/iobroker/test.mp3) und schreib den vollständigen Pfad intalkback_play. Dann scheidet der Download über https als Ursache aus.
-
Guten Abend,
hier das entsprechende Log. Die mp3 ist gut 20 Sekunden lang. Speakter ist true und volume auf 100. Wenn ich über die App spreche, höre ich das.
2026-10-01 19:47:49.669 - info: eusec.0 (47919) Talkback for device T8426xxxxxxxxxxx: playing "http://123.456.789.000:8081/files/0_userdata.0/acoustic-intro-music.mp3"... 2026-10-01 19:47:49.715 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA VIDEO - Processing sequence 58... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"123.456.789.E30","remotePort":29713,"dataType":"VIDEO","seqNo":58}] 2026-10-01 19:48:16.702 - debug: eusec.0 (47919) [euSec.onStateChange] state eusec.0.T8426xxxxxxxxxxx.cameras.T8426xxxxxxxxxxx.talkback_play changed: http://123.456.789.000:8081/files/0_userdata.0/acoustic-intro-music.mp3 (ack = true) was already acknowledged, ignore it... 2026-10-01 19:48:16.704 - debug: eusec.0 (47919) [Object.write] [http] [Station.stopTalkback] Station stop talkback - sending command [{"stationSN":"T8426xxxxxxxxxxx","deviceSN":"T8426xxxxxxxxxxx"}] 2026-10-01 19:48:16.705 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol._sendCommand] Sending p2p command... [{"station":"T8426xxxxxxxxxxx","sequence":6,"commandType":1006,"channel":0,"retries":0,"messageStatesSize":1}] 2026-10-01 19:48:16.706 - debug: eusec.0 (47919) [Object.write] [http] [Station.stopLivestream] Station stop livestream - sending command [{"stationSN":"T8426xxxxxxxxxxx","deviceSN":"T8426xxxxxxxxxxx"}] 2026-10-01 19:48:16.710 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol._sendCommand] Sending p2p command... [{"station":"T8426xxxxxxxxxxx","sequence":7,"commandType":1004,"channel":0,"retries":0,"messageStatesSize":2}] 2026-10-01 19:48:16.717 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA DATA - Processing sequence 5... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"123.456.789.E30","remotePort":29713,"dataType":"DATA","seqNo":5}] 2026-10-01 19:48:16.718 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol.handleData] Handle DATA DATA - Skipping decryption, data not block-aligned [{"stationSN":"T8426xxxxxxxxxxx","seqNo":5,"commandType":"CMD_STOP_TALKBACK","signCode":1,"dataLength":36,"mod16":4}] 2026-10-01 19:48:16.718 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol.handleData] Handle DATA DATA - Received data [{"stationSN":"T8426xxxxxxxxxxx","seqNo":5,"commandIdName":"CMD_STOP_TALKBACK","commandId":1006,"resultCodeName":"ERROR_PPCS_SUCCESSFUL","resultCode":0,"resultData":"0000000000000000000000000000000000000000000000000000000000000000","data":"000000000000000000000000000000000000000000000000000000000000000000000000","seqNumber":8,"p2pDataSeqNumber":7,"offsetDataSeqNumber":0}] 2026-10-01 19:48:16.719 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol.handleData] Handle DATA DATA - Result data for command received [{"stationSN":"T8426xxxxxxxxxxx","message":{"sequence":6,"commandType":1006,"channel":0,"acknowledged":true,"retries":0,"returnCode":0,"data":{"type":"Buffer","data":[209,0,0,6,88,90,89,72,238,3,16,0,0,0,1,0,0,1,0,0,233,206,85,185,220,3,31,146,34,53,75,142,140,224,229,156]},"customData":{"command":{"name":"deviceStopTalkback"}}},"resultCodeName":"ERROR_PPCS_SUCCESSFUL","resultCode":0}] 2026-10-01 19:48:16.719 - debug: eusec.0 (47919) [Object.write] [http] [Station.onCommandResponse] Station got p2p command response [{"station":"T8426xxxxxxxxxxx","commandType":1006,"channel":0,"returnCodeName":"ERROR_PPCS_SUCCESSFUL","returnCode":0,"customData":{"command":{"name":"deviceStopTalkback"}}}] 2026-10-01 19:48:16.721 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA DATA - Processing sequence 5... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"123.456.789.E30","remotePort":29713,"dataType":"DATA","seqNo":5}] 2026-10-01 19:48:16.723 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA DATA - Processing sequence 5... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"123.456.789.E30","remotePort":29713,"dataType":"DATA","seqNo":5}] 2026-10-01 19:48:16.748 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA DATA - Processing sequence 6... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"123.456.789.E30","remotePort":29713,"dataType":"DATA","seqNo":6}] 2026-10-01 19:48:16.749 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol.handleData] Handle DATA DATA - Skipping decryption, data not block-aligned [{"stationSN":"T8426xxxxxxxxxxx","seqNo":6,"commandType":"CMD_STOP_REALTIME_MEDIA","signCode":1,"dataLength":36,"mod16":4}] 2026-10-01 19:48:16.749 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol.handleData] Handle DATA DATA - Received data [{"stationSN":"T8426xxxxxxxxxxx","seqNo":6,"commandIdName":"CMD_STOP_REALTIME_MEDIA","commandId":1004,"resultCodeName":"ERROR_PPCS_SUCCESSFUL","resultCode":0,"resultData":"0000000000000000000000000000000000000000000000000000000000000000","data":"000000000000000000000000000000000000000000000000000000000000000000000000","seqNumber":8,"p2pDataSeqNumber":7,"offsetDataSeqNumber":0}] 2026-10-01 19:48:16.749 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol.handleData] Handle DATA DATA - Result data for command received [{"stationSN":"T8426xxxxxxxxxxx","message":{"sequence":7,"commandType":1004,"channel":0,"acknowledged":true,"retries":0,"returnCode":0,"data":{"type":"Buffer","data":[209,0,0,7,88,90,89,72,236,3,16,0,0,0,1,0,0,1,0,0,233,206,85,185,220,3,31,146,34,53,75,142,140,224,229,156]},"customData":{"command":{"name":"deviceStopLivestream"}}},"resultCodeName":"ERROR_PPCS_SUCCESSFUL","resultCode":0}] 2026-10-01 19:48:16.750 - debug: eusec.0 (47919) [Object.write] [http] [Station.onCommandResponse] Station got p2p command response [{"station":"T8426xxxxxxxxxxx","commandType":1004,"channel":0,"returnCodeName":"ERROR_PPCS_SUCCESSFUL","returnCode":0,"customData":{"command":{"name":"deviceStopLivestream"}}}] 2026-10-01 19:48:16.750 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA CONTROL - Processing sequence 46... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"123.456.789.E30","remotePort":29713,"dataType":"CONTROL","seqNo":46}] 2026-10-01 19:48:16.752 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol.handleDataControl] Station Handle DATA CONTROL - CMD_NOTIFY_PAYLOAD [{"stationSN":"T8426xxxxxxxxxxx","payload":"{\"cmd\":6246,\"payload\":{\"num\":0}}"}] 2026-10-01 19:48:16.752 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol.handleDataControl] Handle DATA CONTROL - CMD_NOTIFY_PAYLOAD Livestream status [{"stationSN":"T8426xxxxxxxxxxx","payload":{"num":0}}] 2026-10-01 19:48:16.756 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA DATA - Processing sequence 6... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"123.456.789.E30","remotePort":29713,"dataType":"DATA","seqNo":6}] 2026-10-01 19:48:16.757 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA CONTROL - Processing sequence 46... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"123.456.789.E30","remotePort":29713,"dataType":"CONTROL","seqNo":46}] 2026-10-01 19:48:16.757 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA CONTROL - Processing sequence 46... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"123.456.789.E30","remotePort":29713,"dataType":"CONTROL","seqNo":46}] 2026-10-01 19:48:16.763 - debug: eusec.0 (47919) [Object.write] [p2p] [P2PClientProtocol.handleMsg] Received message - DATA CONTROL - Processing sequence 46... [{"stationSN":"T8426xxxxxxxxxxx","remoteAddress":"123.456.789.E30","remotePort":29713,"dataType":"CONTROL","seqNo":46}] 2026-10-01 19:48:16.830 - debug: eusec.0 (47919) [euSec.onStateChange] state eusec.0.T8426xxxxxxxxxxx.cameras.T8426xxxxxxxxxxx.livestream changed: (ack = true) was already acknowledged, ignore it... 2026-10-01 19:48:16.875 - debug: eusec.0 (47919) [euSec.onStateChange] state eusec.0.T8426xxxxxxxxxxx.cameras.T8426xxxxxxxxxxx.livestream_rtsp changed: (ack = true) was already acknowledged, ignore it... -
@Foggy Danke für das Log! Laut Log läuft auf Adapterseite alles durch: Die Kamera bestätigt Start und Stopp des Talkbacks, ffmpeg spielt die Datei ohne Fehler ab, und
talkback_playwird danach bestätigt. Offen ist noch, ob die Kamera die einzelnen Audiopakete annimmt. Wenn nicht, schreibt die Bibliothek erst etwa 50 Sekunden nach dem Start eine Fehlermeldung, und dein Ausschnitt endet vorher.Kannst du es bitte noch einmal testen und Folgendes nachschauen?
- Das Log ab „playing“ bis etwa eine Minute nach „Station stop livestream“, nur die Zeilen mit „retries“, „talkback“ oder „error“ (Groß-/Kleinschreibung egal). Mich interessiert vor allem, ob „Max send video data retries … reached“ oder ein zweites „Station stop talkback“ auftaucht.
- Hörst du an der Kamera wirklich gar nichts, also auch kein Knacken, Rauschen oder abgehacktes Geräusch?
- Zum Gegentest bitte noch einmal mit der MP3 als lokaler Datei (z. B.
/opt/iobroker/test.mp3, vollständiger Pfad intalkback_play).
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden