Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [gelöst] Bildanzeige veraltet

    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

    [gelöst] Bildanzeige veraltet

    This topic has been deleted. Only users with topic management privileges can see it.
    • Glasfaser
      Glasfaser @aleks-83 last edited by

      @aleks-83

      Schau mal hier : wie writeFile() in js script nutzen

      1 Reply Last reply Reply Quote 0
      • A
        aleks-83 last edited by aleks-83

        Ja danke den Hinweis mit writefile habe ich gefunden.
        Ich möchte aber ungerne ein weitere Skript anlegen.
        Denn aktuell mache ich alles in Blockly.

        1 Reply Last reply Reply Quote 0
        • A
          aleks-83 last edited by aleks-83

          Ich habe dieses problem immer noch nicht in den Griff bekommen 🙄

          Leider verstehe ich zu wenig von dem JavaScript aus deinem Link. @Glasfaser
          Daraus kann ich mir kein passendes Skript für mich bauen.

          Ich stehe also vor dem Problem:
          vis kann keine Dateien anzeigen die höher liegen als "/iobroker-data/files/".
          Javascript (Blockly bei mir) darf unterhalb dieses Ordners aber keine Dateien ablegen.

          Kann ich vielleicht einen Symlink erstellen? (Unter Windows?)

          Glasfaser 1 Reply Last reply Reply Quote 0
          • Glasfaser
            Glasfaser @aleks-83 last edited by Glasfaser

            @aleks-83

            Was hälst du hiervon ..... Klingelscript von Chaot..
            Link Text

            A 1 Reply Last reply Reply Quote 1
            • A
              aleks-83 @Glasfaser last edited by aleks-83

              @Glasfaser
              Danke, das verstehe ich zumindest ansatzweise.

              Ich habe mal mein Blockly Skript in JS konvertiert und folgenden Block eingefügt:

              const bild1 = fs.readFileSync(folder,'snap01.jpg');
              writeFile('0_userdata.0','alarm1.jpg', bild1);
              
              var Empfaenger, Satz, date, timeout8, folder, timeout9, timeout10, timeout7, timeout2, timeout3, timeout4, timeout6, timeout, timeout5;
              var fs = require('fs');
              const path = require('path');
              
              on({id: "javascript.0.TEST.bDummy"/*BOOL dummy*/, change: "ne"}, function (obj) {
              
                if (getState("javascript.0.TEST.bDummy").val == true) {
                  setState("javascript.0.TEST.bDummy", false);
              
                  Satz = 'Satz1';
                  folder = 'D:\\ioBroker\\Besucherfotos\\TEST\\';
              
                  // Neues Verzeichnis auf D mit Datum erstellen
                  exec(('md ' + String(folder)));
                  console.debug("exec: " + ('md ' + String(folder)));
                  console.warn((['### Verzeichnis für Besucherfotos erstellt (',folder,')'].join('')));
              
                  // Snapshot 1 holen
                  exec((['wget --output-document ',folder,'snap01.jpg http://ioBroker:XXXXXX@10.0.0.21/ISAPI/Streaming/channels/101/picture'].join('')));
                  console.debug("exec: " + (['wget --output-document ',folder,'snap01.jpg http://ioBroker:XXXXXX@10.0.0.21/ISAPI/Streaming/channels/101/picture'].join('')));
              
                      timeout = setTimeout(function () {
                              
                          // Snapshots für VIS ablegen
                              const bild1 = fs.readFileSync(path.join(folder,'snap01.jpg'));
                              writeFile(path.join('vis.0/snapshots/',Satz),'/snap01.jpg', bild1, function (errorWRITE) {});
                      }, 2000);
                  }
              });
              
              function errorDEL() {
                  // function falls Fehler beim Löschen
                  console.error(('### Fehler beim Löschen (IPcam Snapshot)'));
              };
              
              function errorWRITE() {
                  // function falls Fehler beim Schreiben
                  console.error(('### Fehler beim Datei schreiben (IPcam Snapshot)'));
              };
              

              Wie lege ich denn als Ziel dann einen Ordner fest?
              Also anstatt "0_userdata.0" möchte ich die Bilder dann unter "D:/ioBroker/NUC/iobroker-data/files/vis.0/snapshots/" ablegen

              Der snapshot wird von der Kamera geholt und unter "folder" abgelegt.
              Unter "vis.0/snapshots/',Satz" liegt dann aber kein Bild.
              Die function "errorDEL()" wird nicht aufgerufen.

              Glasfaser 2 Replies Last reply Reply Quote 0
              • Glasfaser
                Glasfaser @aleks-83 last edited by

                @aleks-83

                Meins sieht so aus , damit Kopiere ich in Vis.0

                const bild1 = fs.readFileSync('/tmp/carport1.jpg');
                
                writeFile('vis.0','/klingelbild/carport1.jpg', bild1);
                
                A 1 Reply Last reply Reply Quote 2
                • Glasfaser
                  Glasfaser @aleks-83 last edited by Glasfaser

                  @aleks-83

                  Ich kann leider Windows nicht bei mir testen ... habe alles auf der Synology.

                  Versuche mal den Baustein mit reinzunehmen , damit kannst du direkt das Foto hinterlegen:

                  exec('wget --output-document /opt/iobroker/iobroker-data/tmp/Snapshot.jpg \'http://ioBroker:XXXXXX@10.0.0.21/ISAPI/Streaming/channels/101/picture\'');
                  
                  

                  Nimm eine leer JS und führe es dort aus ... direkt starten !!

                  1 Reply Last reply Reply Quote 0
                  • A
                    aleks-83 @Glasfaser last edited by

                    @Glasfaser sagte in Bildanzeige veraltet:

                    @aleks-83

                    Meins sieht so aus , damit Kopiere ich in Vis.0

                    const bild1 = fs.readFileSync('/tmp/carport1.jpg');
                    
                    writeFile('vis.0','/klingelbild/carport1.jpg', bild1);
                    

                    OK, das scheint es gewesen zu sein !
                    So funktioniert mein Test Skript. Mal sehen ob mein "Produktiv Skript" das auch richtig umsetzt.

                    Vielen Dank

                    Glasfaser 1 Reply Last reply Reply Quote 0
                    • Glasfaser
                      Glasfaser @aleks-83 last edited by

                      @aleks-83

                      Hast du oben meine Beitrag gesehen ... mit dem Direktlink

                      1 Reply Last reply Reply Quote 0
                      • A
                        aleks-83 last edited by

                        Ja, den wget output benutze ich ja schon um den snap in meinem "D:" Ordner abzulegen.
                        Ich meine ich hatte es so auch schon versucht direkt unter vis.0 abzulegen.
                        Das ging glaube ich nicht.

                        Glasfaser 1 Reply Last reply Reply Quote 0
                        • Glasfaser
                          Glasfaser @aleks-83 last edited by Glasfaser

                          @aleks-83

                          Sorry habe tmp nicht getauscht .. war ein Versuchsschnipsel ...

                          aber kommst du jetzt weiter ... oder soll ich dir mein gesamt Skript senden !!!

                          1 Reply Last reply Reply Quote 0
                          • A
                            aleks-83 last edited by

                            Es funktioniert jetzt alles !!
                            Danke dir.

                            Ich markiere als gelöst.

                            Glasfaser 1 Reply Last reply Reply Quote 0
                            • Glasfaser
                              Glasfaser @aleks-83 last edited by

                              @aleks-83

                              Freut mich ...
                              war aber schon lange her ... von 2019

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              961
                              Online

                              31.9k
                              Users

                              80.1k
                              Topics

                              1.3m
                              Posts

                              vis
                              5
                              23
                              1657
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo