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.
    • A
      aleks-83 last edited by aleks-83

      Super! Danke für den Hinweis.

      Ich wollte mir einfach einen höhergelegenen Ordner erstellen und dort die Bilder reinkopieren.
      Aber leider hat man wohl in der gesamten Ebene unterhalb von "/iobroker-data/" diese Einschränkung.
      Und höher hinaus kommt man ja nicht mit der Pfadangabe im vis!?

      @Glasfaser sagte in Bildanzeige veraltet:

      @aleks-83
      Sehr merkmürdig 🤔

      Ändere doch mal komplett den Ordner/Zielnamen um und den Widget Datenpunkt zum Bild.

      snapshots in kamera
      Set1 in bilder1

      Habe ich getestet. Bilder werden kopiert, im vis dann aber gar keine Bilder angezeigt.
      Den Pfad zu den Bildern habe ich aber natürlich angepasst.

      Glasfaser 1 Reply Last reply Reply Quote 0
      • 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

                                718
                                Online

                                31.9k
                                Users

                                80.1k
                                Topics

                                1.3m
                                Posts

                                vis
                                5
                                23
                                1651
                                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