Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. habi989

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    H
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 24
    • Best 0
    • Groups 1

    habi989

    @habi989

    Starter

    0
    Reputation
    5
    Profile views
    24
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    habi989 Follow
    Starter

    Latest posts made by habi989

    • RE: Sync / Move Dateien von Android zum Iobroker

      @glasfaser
      war leider nicht der Fehler. Ich bekomme die gleiche Fehlermeldung.

      So wie ich das Verstehe, kann der iobroker keine Verbindung zum FTP aufbauen. Ich weis aber nicht warum. Über mein Macbook geht es ohne Probleme.

      posted in ioBroker Allgemein
      H
      habi989
    • RE: Sync / Move Dateien von Android zum Iobroker

      Ich habe mir die Idee von @liv-in-sky durch den Kopf gehen lassen und bin dann auf die Idee gekommen, auf dem Tablet mit der App Cx Datei Explorer einen FTP Server zu starten. Ich kann nun über die IP ftp://... auf die Dateistruktur des Tablets und auch auf den entsprechenden Ordner, in welchem die Videodateien durch die App Taster abgelegt werden, zugreifen.

      Jetzt möchte ich diese Dateien am besten so ähnlich wie in diesem Beitrag link text auslesen.

      ich habe versucht, die IP meines ftp Servers (Tablet) in das Script aus dem obigen Beitrag

      var Client = require('ftp');
      var fs = require('fs');
       
        var c = new Client();
        c.on('ready', function() {
          c.list(function(err, list) {
            if (err) throw err;
            console.log(list);
            c.end();
          });
        });
        // connect to localhost:21
      c.connect({
        host: "192.168.***.***",
        user: "*************",
        password: "**************"
      });
      

      einzusetzen.

      wie folgt:

      var Client = require('ftp');
      var fs = require('fs');
       
        var c = new Client();
        c.on('ready', function() {
          c.list(function(err, list) {
            if (err) throw err;
            console.log(list);
            c.end();
          });
        });
        // connect to localhost:3501
      c.connect({
        host: "ftp://192.168.178.96//device/DCIM/Ring",
        user: "p*",
        password: "******"
      });
      

      ich bekomme dann folgende Fehlermeldungen.

      Error: getaddrinfo ENOTFOUND ftp://192.168.178.96//device/DCIM/Ring
      
      Error: getaddrinfo ENOTFOUND ftp://192.168.178.96//device/DCIM/Ring at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:109:26)
      

      kann mir jemand sagen, an was das liegt?

      posted in ioBroker Allgemein
      H
      habi989
    • Sync / Move Dateien von Android zum Iobroker

      Hallo Zusammen,

      folgende Frage: Ich möchte Videodateien aus einem Ordner auf meinem Tablet zu einem Ordner auf dem IOBroker kopieren / verschieben, um mir diese dann im Anschluss in der VIS anzeigen zu lassen.

      Vielleicht macht ja jemand etwas ähnliches oder weiß wie so etwas geht.

      Hintergrund: Der Ring Adapter ist mir zu instabil und außerdem funktioniert er gerade nicht. Deshalb arbeite ich an einem Workaround. Die Videos werden durch Tasker auf dem Tablet aufgenommen und dort gespeichert.

      Ich bin für alle Vorschläge dankbar.

      posted in ioBroker Allgemein
      H
      habi989
    • RE: Script - Wöchentl. Löschen von Videos (Ring-Klingelanlage)

      @asgothian

      Vielen Dank soweit für deine Hilfe.

      Ich habe jetzt noch ein Problem mit diesem Skript:

       
      //+++++++++++  Script Snapshot ++++++++++++++
       
      on({id: '0_userdata.0.RINGCAM.VIS.PicID', change: "ne"}, async function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
       
      await wait(100); 
       
      var request = require('request');
      var fs = require('fs');
       
      var ring = getState('0_userdata.0.RINGCAM.VIS.PicID').val;
      console.log("RING-Bild erzeugt:ID1 " + ring); 
       
      const body = fs.readFileSync('/opt/iobroker/iobroker-data/ring_0/snapshot/' + getState('0_userdata.0.RINGCAM.VIS.PicID').val);
      // const body = fs.readFileSync('/opt/iobroker/iobroker-data/ring_0/snapshot/' + ring);
       
      writeFile("vis.0", "/RING/LAST_PIC.jpg", body, (err) => { console.log(err);}
      );
       
      });
       
       
      //+++++++++++  Script Livestream ++++++++++++++
       
      on({id: '0_userdata.0.RINGCAM.VIS.ClipID', change: "ne"}, async function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
       
      await wait(100); 
       
      var request = require('request');
      var fs = require('fs');
       
      var ring1 = getState('0_userdata.0.RINGCAM.VIS.ClipID').val;
      console.log("RING-Video erzeugt: " + ring1); 
       
      const body1 = fs.readFileSync('/opt/iobroker/iobroker-data/ring_0/snapshot/' + getState('0_userdata.0.RINGCAM.VIS.ClipID').val);
      // const body1 = fs.readFileSync('/opt/iobroker/iobroker-data/ring_0/snapshot/' + ring1);
       
      writeFile("vis.0", "/RING/LAST_CLIP.mp4", body1, (err) => { console.log(err);}
      );
       
      });
      

      Ich habe versucht zu verstehen was es genau tut. Vielleicht kann mich da jemand erleuchten.

      Ich habe die Zeile 19 um einen Callback erweitertet. Jedoch verstehe ich nicht was mit der Zeile genau bezweckt werden soll. Das Skript soll ja etwas für die VIS zur Verfügung stellen.

      Im vis.0 Ordner befinden sich bei mir die verschiedenen VIS Projekte. Was macht das Skript genau in diesem Ordner? Kann das so überhaupt funktionieren mit dem Wert ''/RING/LAST_PIC.jpg''?

      posted in JavaScript
      H
      habi989
    • RE: Script - Wöchentl. Löschen von Videos (Ring-Klingelanlage)

      Kann sich sonst jemand diesen Fehler in Zeile 19 erklären?

      Kann mir jemand vielleicht noch folgendes sagen

      wie müsste ich den Datenpunkt Trigger-Videoselection anlegen?

      Bei den Zeilen 7 ff. wird jeweils getstate(....Video-Nr_1) ausgeführt.

      Handelt es sich bei Video-Nr_1 um einen Datenpunkt? Und hat jemand eine Idee wie der genau aussehen muss?

      Weiter ab Zeile 42. Was bedeutet die Zeile 43 und der Punkt /Vis-Videoselection/?

      Vielleicht hat ja jemand zu den Skripten ein paar Erklärungen für mich parat.

      Vielen Dank!

      posted in JavaScript
      H
      habi989
    • RE: Script - Wöchentl. Löschen von Videos (Ring-Klingelanlage)

      @agria4800

      Danke für die Auskünfte.

      Bei diesem Script habe ich leider noch ein Problem:

       
      //+++++++++++  Script Snapshot ++++++++++++++
       
      on({id: '0_userdata.0.RINGCAM.VIS.PicID', change: "ne"}, async function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
       
      await wait(100); 
       
      var request = require('request');
      var fs = require('fs');
       
      var ring = getState('0_userdata.0.RINGCAM.VIS.PicID').val;
      console.log("RING-Bild erzeugt:ID1 " + ring); 
       
      const body = fs.readFileSync('/opt/iobroker/iobroker-data/ring_0/snapshot/' + getState('0_userdata.0.RINGCAM.VIS.PicID').val);
      // const body = fs.readFileSync('/opt/iobroker/iobroker-data/ring_0/snapshot/' + ring);
       
      writeFile("vis.0", "/RING/LAST_PIC.jpg", body);
       
      });
       
       
      //+++++++++++  Script Livestream ++++++++++++++
       
      on({id: '0_userdata.0.RINGCAM.VIS.ClipID', change: "ne"}, async function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
       
      await wait(100); 
       
      var request = require('request');
      var fs = require('fs');
       
      var ring1 = getState('0_userdata.0.RINGCAM.VIS.ClipID').val;
      console.log("RING-Video erzeugt: " + ring1); 
       
      const body1 = fs.readFileSync('/opt/iobroker/iobroker-data/ring_0/snapshot/' + getState('0_userdata.0.RINGCAM.VIS.ClipID').val);
      // const body1 = fs.readFileSync('/opt/iobroker/iobroker-data/ring_0/snapshot/' + ring1);
       
      writeFile("vis.0", "/RING/LAST_CLIP.mp4", body1);
       
      });
       
      //*/
      

      Hier in diesem Bild siehst du es.Bildschirmfoto 2022-03-04 um 22.49.40 1.png

      DU hast wahrscheinlich unter vis.0 den Ordner RING erstellt? Oder etwas anderes? Wie kann ich diesen Fehler beheben oder was steckt dahinter?

      Bei dem Script für die letzten 30 Tage:

      var my_1, my_2, my_3, my_4, my_5, my_6, my_7, my_8, my_9, my_10, my_11, my_12, my_13, my_14, my_15, my_16, my_17, my_18, my_19, my_20, my_21, my_22, my_23, my_24, my_25, my_26, my_27, my_28, my_29, my_30;
       
       
      on({id: '0_userdata.0.RINGCAM.VIS.Trigger-Videoselection', change: "ne"}, async function (obj) {
       var value = obj.state.val;
       var oldValue = obj.oldState.val;
       my_1 = getState("0_userdata.0.RINGCAM.History.Video-Nr_1").val;
       my_2 = getState("0_userdata.0.RINGCAM.History.Video-Nr_2").val;
       my_3 = getState("0_userdata.0.RINGCAM.History.Video-Nr_3").val;
       my_4 = getState("0_userdata.0.RINGCAM.History.Video-Nr_4").val;
       my_5 = getState("0_userdata.0.RINGCAM.History.Video-Nr_5").val;
       my_6 = getState("0_userdata.0.RINGCAM.History.Video-Nr_6").val;
       my_7 = getState("0_userdata.0.RINGCAM.History.Video-Nr_7").val;
       my_8 = getState("0_userdata.0.RINGCAM.History.Video-Nr_8").val;
       my_9 = getState("0_userdata.0.RINGCAM.History.Video-Nr_9").val;
       my_10 = getState("0_userdata.0.RINGCAM.History.Video-Nr_10").val;
       my_11 = getState("0_userdata.0.RINGCAM.History.Video-Nr_11").val;
       my_12 = getState("0_userdata.0.RINGCAM.History.Video-Nr_12").val;
       my_13 = getState("0_userdata.0.RINGCAM.History.Video-Nr_13").val;
       my_14 = getState("0_userdata.0.RINGCAM.History.Video-Nr_14").val;
       my_15 = getState("0_userdata.0.RINGCAM.History.Video-Nr_15").val;
       my_16 = getState("0_userdata.0.RINGCAM.History.Video-Nr_16").val;
       my_17 = getState("0_userdata.0.RINGCAM.History.Video-Nr_17").val;
       my_18 = getState("0_userdata.0.RINGCAM.History.Video-Nr_18").val;
       my_19 = getState("0_userdata.0.RINGCAM.History.Video-Nr_19").val;
       my_20 = getState("0_userdata.0.RINGCAM.History.Video-Nr_20").val;
       my_21 = getState("0_userdata.0.RINGCAM.History.Video-Nr_21").val;
       my_22 = getState("0_userdata.0.RINGCAM.History.Video-Nr_22").val;
       my_23 = getState("0_userdata.0.RINGCAM.History.Video-Nr_23").val;
       my_24 = getState("0_userdata.0.RINGCAM.History.Video-Nr_24").val;
       my_25 = getState("0_userdata.0.RINGCAM.History.Video-Nr_25").val;
       my_26 = getState("0_userdata.0.RINGCAM.History.Video-Nr_26").val;
       my_27 = getState("0_userdata.0.RINGCAM.History.Video-Nr_27").val;
       my_28 = getState("0_userdata.0.RINGCAM.History.Video-Nr_28").val;
       my_29 = getState("0_userdata.0.RINGCAM.History.Video-Nr_29").val;
       my_30 = getState("0_userdata.0.RINGCAM.History.Video-Nr_30").val;
       
       
       
       
       
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 1) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_1, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 2) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_2, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 3) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_3, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 4) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_4, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 5) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_5, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 6) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_6, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 7) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_7, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 8) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_8, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 9) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_9, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 10) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_10, 100, false);
       }
      if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 11) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_11, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 12) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_12, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 13) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_13, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 14) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_14, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 15) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_15, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 16) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_16, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 17) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_17, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 18) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_18, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 19) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_19, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 20) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_20, 100, false);
       }
        if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 21) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_21, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 22) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_22, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 23) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_23, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 24) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_24, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 25) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_25, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 26) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_26, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 27) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_27, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 28) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_28, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val ==29) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_29, 100, false);
       }
       if (getState("0_userdata.0.RINGCAM.VIS.Trigger-Videoselection").val == 30) {
         setStateDelayed("0_userdata.0.RINGCAM.VIS.Vis-Videoselection"/*Vis-Videoselection*/, my_30, 100, false);
       }
      });
      

      Wie muss der Datenpunkt Trigger-VIdeoselection aussehen?
      Also Zustandstyp (Zahl, Zeichenkette, Logikwert...?)
      Rolle = (State)?

      Und du hast da wohl den Ordner History unter 0_userdata.0.RINGCAM erstellt. Darin wiederum die 30 Datenpunkte. Wie sehen die aus in Sachen (Zustandstyp und Rolle)?

      Ich glaube mit diesem Angaben könnte es auch bei mir bald funktionieren.

      Grüße

      posted in JavaScript
      H
      habi989
    • RE: Script - Wöchentl. Löschen von Videos (Ring-Klingelanlage)

      @agria4800 said in Script - Wöchentl. Löschen von Videos (Ring-Klingelanlage):

      https://forum.iobroker.net/topic/51396/ring-adapter-snapshot-auf-share-oder-deaktivieren/4?_=1645179751876

      Hi,

      das sieht ja mega aus, wäre genau das, was ich suche, aber selbst nicht im Stande bin zu erstellen. Vielen Dank schonmal dafür!

      Ich habe ein paar Fragen zu deinen Skripten.

      1. bzgl. erstes Skript, welches die Snaphot und Doorbell Ordner löscht und wieder neu erstellt:
        der erste Block, steure 0_userdata.0.RINGCAM.ZAHLER mit 0

      was macht dieser Befehl? (die anderen Blöcke verstehe ich soweit.)

      1. Das Skript, welches Bild und Video für die VIS zur Verfügung stellt.
        Das erstellst du einen Datenpunkt. Wie muss ich das machen? Das muss ich ja machen, bevor ich das Skript aktiviere richtig?

      Und was macht das Skript genau? Es erstellt etwas in dem Userdata Ordner, sobald Ring ne neue Datei erstellt?

      1. Das JS Skript für den VIS Ordner.

      Ich habe bislang noch keine Skripte in meine VIS eingebaut.

      Muss ich das einfach im VIS unter der VIEW rechts unter dem Reiter Skripte einfügen?

      1. JS Skript für die letzten 30 Tage, genau das gleiche, wo kopiere ich das hin?

      2. Kurze Frage zur VIS:

      Wie unterscheiden sich die Zahlen direkt über und unter dem Videoimage zu den kleineren Zahlen die ganz unten sind.

      Ich weiß, das sind viele Fragen. Falls du mir die alle beantworten kannst wäre ich sehr dankbar. 🙂

      Echt Super, dass du den Code zur Verfügung stellst.

      Grüße Jonas

      posted in JavaScript
      H
      habi989
    • RE: Script - Wöchentl. Löschen von Videos (Ring-Klingelanlage)

      Leider habe ich noch keine Meldungen erhalten.

      Auf meine eigenen Recherchen habe ich herausgefunden, dass der Iobroker wohl im Normalfall keine rechte hat, einen sudo Befehl auszuführen.

      Gibt es denn eine Anleitung, wie ich dem Iobroker das Recht geben kann, genau die obigen Befehle auszuführen?

      Ich bin für jede Hilfe dankbar. Zur Veranschaulichung hier noch ein Screenshot meines Blocklyskriptes.

      Bildschirmfoto 2022-02-18 um 10.18.54.png

      posted in JavaScript
      H
      habi989
    • RE: Problem im Zusammenspiel von Tasker / VIS / Ring

      @liv-in-sky
      ich habe das komplette Tablett neu aufgesetzt und nun herausgefunden, dass es an dem Image lag, welches den letzten Snapshot des Ring adapters anzeigt. Dieses habe ich aus der VIS gelöscht und neu eingefügt. Fehler ist nun weg.

      Das Problem mit dem Kill ohne ROOT habe ich durch zwei Befehle (BackButton) ersetzt. Das klappt nun so. 😉

      Problem gelöst.

      Danke trotzdem!

      posted in Visualisierung
      H
      habi989
    • Script - Wöchentl. Löschen von Videos (Ring-Klingelanlage)

      Hallo Zusammen,

      der Ring Adapter speichert alle Videos und JPGs in einem bestimmten Ordner. Damit die Datenmassen nicht überhand nehmen und das wöchentliche Backup des IObroker auch ordentlich durchgeführt werden kann, möchte ich ein Skript mit Blockly erstellen, welches wöchentlich, kurz bevor das Backup durchgeführt wird, die Videos und Bilder löscht.

      Könnte wie folgt funktionieren oder habe ich etwas vergessen?

      schedule("30 2 * */1 4", async function () {
        exec('sudo -u iobroker rm ./iobroker-data/files/ring.0/doorbell_86292617/*.mp4');
        console.debug("exec: " + 'sudo -u iobroker rm ./iobroker-data/files/ring.0/doorbell_86292617/*.mp4');
      });
      schedule("35 2 * */1 4", async function () {
        exec('sudo -u iobroker rm ./iobroker-data/files/ring.0/doorbell_86292617/*.jpg');
        console.debug("exec: " + 'sudo -u iobroker rm ./iobroker-data/files/ring.0/doorbell_86292617/*.jpg');
      });
      

      Im Prinzip soll er jeden Donnerstag um 02:30 den ersten Befehl (MP4) und um 02:35 Uhr den zweiten Befehl (JPG) ausführen.

      posted in JavaScript
      H
      habi989
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo