NEWS
Fehler beim Kopieren des snapshot aus Tapo-Cam
-
Vielleicht hat einer eine Idee, woher der Fehler stammt und wie er zu verhindern ist:
- Tapo-Cam erkennt Bewegung
- DP IsMotion geht auf true
- Script steuert den DP remote.snapshot
- nach 3 sek wird dieser Snapshot mit vorangestelltem Datum und Zeit in ein Verzeichnis kopiert.
Das funktioniert ja zunächst einmal ohne Probleme.
Ich bekomme jedoch in unregelmäßigen Abständen im Log diese Fehlermeldung:
Info: javascript.0 (934) script.js.common.Draft.Garten: Error: Command failed: wget --output-document /media/USBintern/snapshot/2025_0302-08.53.15.jpg http://192.168.178.80:8095/192_168_178_59_2020 --2025-03-02 08:53:19-- http://192.168.178.80:8095/192_168_178_59_2020 Connecting to 192.168.178.80:8095... connected. HTTP request sent, awaiting response... 500 Internal Server Error 2025-03-02 08:53:19 ERROR 500: Internal Server Error. at genericNodeError (node:internal/errors:984:15) at wrappedFn (node:internal/errors:538:14) at ChildProcess.exithandler (node:child_process:422:12) at ChildProcess.emit (node:events:518:28) at ChildProcess.emit (node:domain:489:12) at maybeClose (node:internal/child_process:1104:16) at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5) { code: 8, killed: false, signal: null, cmd: 'wget --output-document /media/USBintern/snapshot/2025_0302-08.53.15.jpg http://192.168.178.80:8095/192_168_178_59_2020' }
Meine bisherige Vermutung / Beobachtung:
Immer wenn die Cam sehr kurz hinter einander Bewegung erkennt, der DP IsMotion also fast sofort wieder auf true geht, gibt es ein zeitkritisches Problem (?). Der Status 500 kann ja mehrere Ursachen haben, lässt also nicht zwingend auf die genaue Ursache schließen. Mit dem übrigen Inhalt der Fehlermeldung kann ich wenig anfangen.Sollte das wirklich die Ursache sein, wäre die Lösung, nur die erste Bewegung (den ersten Trigger) auszuwerten.
Derzeit versuche ich, über einen DP unter userdata, den ich im Gegensatz zu IsMotion beschreiben kann, eine Art "Verriegelung" zu realisieren, aber so richtig weiter gekommen bin ich noch nicht.
Weil: Nachbars Katzen sind gerade nicht bei mir im GartenAny idea?
Tnx -
Hast du vileicht mal das script was du benutzt ? Danke
-
@wcag22 Gibt es keine Informationen (DP?) dazu, ob der Snapshot "fertig zur Abholung" ist?
Wenn es ohne die 3 Sekunden Wartezeit auch im Normalfall ohne Doppelauslösung nicht klappt (womöglich auch mit 500er Fehlercode) wäre das ja ein Hinweis, dass es bei Doppelauslösung etwas länger dauert ...
Einfach 3 Sekunden anzunehmen scheint mir keine saubere Lösung...
-
Das Skript fände ich auch interessant.
Habe 4 Tapo Kameras und arbeite mich mit Go2rtc durch den URL Dschungel. -
@wcag22 Noch eine Idee - ich WOLLTE nicht, dass jeder snapshot geholt wird, sondern dass sogar eine recht lange Totzeit von 10 Minuten pro Kamera dazwischen bleibt, weil ich eine e-mail mit dem Snapshot schicke.
Wenn das zu viele werden, befürchtete ich, dass mein Mail-Provider ggfs. denkt. dass mein Rechner gekapert und eine Spam-Schleuder ist...In Blockly sieht der "Steuerkopf" des Scriptes so aus:
-
Bei läuft das mit einer Tapo C510W jetzt soweit problemlos.
Den Grund für "leere" Snapshots habe ich jedoch nicht gefunden. Da es sich aber nicht um sicherheitsrelevante Aufnahmen handelt, sondern nur durch Wind bewegte Pflanzen, Nachbars Katzen oder wir selbst auf dem Grundstück :-), habe ich das jetzt nicht weiter verfolgt.Hier mein aktuelles Script:
var Copy; // Beschreibe diese Funktion … async function Copy_Send() { const url = 'http://192.168.178.9:8095/192_168_178_59_2020'; //const filename = '/media/tapo_report.jpg'; const newfile = ['/media/USBintern/snapshot/',formatDate(new Date(), 'YYYY_MM'),formatDate(new Date(), 'TT-hh.mm.ss'),'.jpg'].join(''); const wget = `wget --output-document ${newfile} ${url}`; exec(wget,function(error){ if (error) { console.log(error); } }); const find = `find /media/USBintern/snapshot -type f -mtime +10 -delete`; exec(find,function(error){ if (error) { console.log(error); } }); }
Und als Blockly:
Achtung:
Die Zeitbegrenzung für die Snapshots von 21:00 bis 07:00 Uhr habe ich heute erst zugefügt. Obs funktioniert wird sich zeigen. Es gab einfach zuviel "Rauschen" im Bildbestand.Vielleicht hilft Euch das weiter.
PS: Danke an Alle, die mir damals zu diesem Ergebnis verholfen haben.
Edit: Warum ich den Umweg über den DP unter userdata gewählt habe, kann ich gerade nicht mehr nachvollziehen, hatte aber sicher einen Grund.
-
Von wo holst Du das Bild?
Ne Software zwischengeschaltet ? -
@haselchen
Direkt aus dem Onfiv-Adapter. -
Danke für das Aufzeigen auch eines anderen Weges.....
-
@martinp
Ja, das war/ist auch bei mir ein Problem. Da füllt sich schnell der Snapshot-Ordner. Daher nun der Versuch über die Nachtzeit. -
@haselchen sagte in Fehler beim Kopieren des snapshot aus Tapo-Cam:
Danke für das Aufzeigen auch eines anderen Weges.....
Aber Hallo, dafür nicht
Dazu sind wir doch hier...Freue mich wie ein Kleinkind, auch mal ein wenig helfen zu können...