Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Fehler beim Kopieren des snapshot aus Tapo-Cam

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    936

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Fehler beim Kopieren des snapshot aus Tapo-Cam

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
11 Beiträge 4 Kommentatoren 643 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • R Rico Sander

    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 Garten :-)

    Any idea?
    Tnx

    Mr. QiM Offline
    Mr. QiM Offline
    Mr. Qi
    schrieb am zuletzt editiert von
    #2

    @wcag22

    Hast du vileicht mal das script was du benutzt ? Danke

    1 Antwort Letzte Antwort
    0
    • R Rico Sander

      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 Garten :-)

      Any idea?
      Tnx

      MartinPM Online
      MartinPM Online
      MartinP
      schrieb am zuletzt editiert von
      #3

      @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...

      Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
      Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
      Linux pve 6.8.12-16-pve
      6 GByte RAM für den Container
      Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
      Remote-Access über Wireguard der Fritzbox

      1 Antwort Letzte Antwort
      0
      • R Rico Sander

        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 Garten :-)

        Any idea?
        Tnx

        haselchenH Offline
        haselchenH Offline
        haselchen
        Most Active
        schrieb am zuletzt editiert von
        #4

        @wcag22

        Das Skript fände ich auch interessant.
        Habe 4 Tapo Kameras und arbeite mich mit Go2rtc durch den URL Dschungel.

        Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

        R 1 Antwort Letzte Antwort
        0
        • R Rico Sander

          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 Garten :-)

          Any idea?
          Tnx

          MartinPM Online
          MartinPM Online
          MartinP
          schrieb am zuletzt editiert von
          #5

          @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:

          0b7893bf-b2ab-41f0-bbd8-62cae4ee17d0-grafik.png

          Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
          Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
          Linux pve 6.8.12-16-pve
          6 GByte RAM für den Container
          Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
          Remote-Access über Wireguard der Fritzbox

          R 1 Antwort Letzte Antwort
          0
          • haselchenH haselchen

            @wcag22

            Das Skript fände ich auch interessant.
            Habe 4 Tapo Kameras und arbeite mich mit Go2rtc durch den URL Dschungel.

            R Offline
            R Offline
            Rico Sander
            schrieb am zuletzt editiert von Rico Sander
            #6

            @haselchen @Mr-Qi

            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:

            a10a66d2-c3cc-48b2-8345-555dba5b25c7-grafik.png

            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.

            EDIT:
            In der Zeitbegrenzung muss es natürlich ODER statt UND heißen. Und dann funktioniert es auch :-)

            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.

            Wenns nicht geht, wie man will
            - muss mans tun, wie man kann.
            haselchenH 1 Antwort Letzte Antwort
            1
            • R Rico Sander

              @haselchen @Mr-Qi

              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:

              a10a66d2-c3cc-48b2-8345-555dba5b25c7-grafik.png

              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.

              EDIT:
              In der Zeitbegrenzung muss es natürlich ODER statt UND heißen. Und dann funktioniert es auch :-)

              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.

              haselchenH Offline
              haselchenH Offline
              haselchen
              Most Active
              schrieb am zuletzt editiert von
              #7

              @wcag22

              Von wo holst Du das Bild?
              Ne Software zwischengeschaltet ?

              Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

              R 1 Antwort Letzte Antwort
              0
              • haselchenH haselchen

                @wcag22

                Von wo holst Du das Bild?
                Ne Software zwischengeschaltet ?

                R Offline
                R Offline
                Rico Sander
                schrieb am zuletzt editiert von
                #8

                @haselchen
                Direkt aus dem Onfiv-Adapter.

                03fbf974-dac3-47d4-ae19-662543c7e253-grafik.png

                Wenns nicht geht, wie man will
                - muss mans tun, wie man kann.
                haselchenH 1 Antwort Letzte Antwort
                0
                • R Rico Sander

                  @haselchen
                  Direkt aus dem Onfiv-Adapter.

                  03fbf974-dac3-47d4-ae19-662543c7e253-grafik.png

                  haselchenH Offline
                  haselchenH Offline
                  haselchen
                  Most Active
                  schrieb am zuletzt editiert von
                  #9

                  @wcag22

                  Danke für das Aufzeigen auch eines anderen Weges.....

                  Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                  R 1 Antwort Letzte Antwort
                  0
                  • MartinPM MartinP

                    @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:

                    0b7893bf-b2ab-41f0-bbd8-62cae4ee17d0-grafik.png

                    R Offline
                    R Offline
                    Rico Sander
                    schrieb am zuletzt editiert von
                    #10

                    @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.

                    Wenns nicht geht, wie man will
                    - muss mans tun, wie man kann.
                    1 Antwort Letzte Antwort
                    0
                    • haselchenH haselchen

                      @wcag22

                      Danke für das Aufzeigen auch eines anderen Weges.....

                      R Offline
                      R Offline
                      Rico Sander
                      schrieb am zuletzt editiert von
                      #11

                      @haselchen sagte in Fehler beim Kopieren des snapshot aus Tapo-Cam:

                      @wcag22

                      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...

                      Wenns nicht geht, wie man will
                      - muss mans tun, wie man kann.
                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      592

                      Online

                      32.6k

                      Benutzer

                      82.2k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe