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

      Ich zeige auf meiner VIS Bilder an die sich im Hintergrund dynamisch verändern.
      Mittels "jqui - contaienr - icon - view in jqui dialog" das Bild "/vis.0/snapshots/Set1/snap01.jpg"

      Dieses Bild ändert sich von Zeit zu Zeit im Hintergrund.
      Bis vor kurzem (ich kann nicht sagen bis wann), hat er immer das aktuelle Bild in dem Ordner angezeigt.
      Jetzt zeigt er aber ein Bild an was es schon lange nicht mehr gibt.

      Wie läuft die Änderung im Hintergrund ab?

      1. ioBroker erstellt ein Verzeichnis mit aktuellem Datum:
      md D:\ioBroker\Besucherfotos\YYYY_MM_DD_hh_mm
      

      3s Wartezeit...

      1. ioBroker füllt das Verzeichnis mit 4 Snapshots der IP Kamera.
        ...

      3s Wartezeit...

      1. ioBroker löscht Zielverzeichnis
      del /s /q D:\ioBroker\NUC\iobroker-data\files\vis.0\snapshots\Set1
      

      3s Wartezeit...

      1. ioBroker kopiert Fotos
      copy "D:\ioBroker\Besucherfotos\YYYY_MM_DD_hh_mm" "D:\ioBroker\NUC\iobroker-data\files\vis.0\snapshots\Set1\
      

      Die korrekten aktuellen Fotos sind dann auch per FTP (WinSCP) sichtbar.
      Ich habe schon den NUC neu gestartet, den Browser cache geleert und andere Widgets getestet.
      Mehr fällt mir jetzt nicht ein das ich tun könnte.

      Glasfaser 1 Reply Last reply Reply Quote 0
      • J.A.R.V.I.S.
        J.A.R.V.I.S. Developer last edited by

        Hey,

        könntest du bitte einmal dein Widget hochladen?

        Hast du mal versucht, das Bild direkt über den Browser zu laden? Also zum Beispiel in der VIS auf die Grafik Rechtsklick > Grafik anzeigen? Wird dort auch das veraltete Bild dargestellt?

        J.A.R.V.I.S.

        A 1 Reply Last reply Reply Quote 0
        • A
          aleks-83 @J.A.R.V.I.S. last edited by

          @J-A-R-V-I-S sagte in Bildanzeige veraltet:

          Hey,

          könntest du bitte einmal dein Widget hochladen?

          [{"tpl":"tplContainerIconDialog","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"contains_view":"Set1","src":"/vis.0/snapshots/Set1/snap01.jpg","dialog_width":"1800","dialog_height":"1100","dialog_top":"50","dialog_left":"50","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide"},"style":{"left":"298px","top":"973px","width":"355px","height":"200px","z-index":"3"},"widgetSet":"jqui"}]
          

          Hast du mal versucht, das Bild direkt über den Browser zu laden? Also zum Beispiel in der VIS auf die Grafik Rechtsklick > Grafik anzeigen? Wird dort auch das veraltete Bild dargestellt?

          J.A.R.V.I.S.

          Wenn ich beim Rechtsklick -> "Bild im neuen Tab öffnen" anklicke, öffnet das alte Bild im neuen tab.
          Auch wenn ich F5 drücke.

          1 Reply Last reply Reply Quote 0
          • J.A.R.V.I.S.
            J.A.R.V.I.S. Developer last edited by

            Siehst du die aktuellen Bilder im vis Editor?

            Hast du schon einen anderen Browser getestet?

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

              @aleks-83

              lösche das Zielverzeichnis komplett

              /snapshots/Set1/snap01.jpg
              

              dann einmal Klingel ... was passiert !?

              1 Reply Last reply Reply Quote 0
              • A
                aleks-83 @J.A.R.V.I.S. last edited by aleks-83

                @J-A-R-V-I-S sagte in Bildanzeige veraltet:

                Siehst du die aktuellen Bilder im vis Editor?

                Hast du schon einen anderen Browser getestet?

                Nein, ich sehe die alten Bilder.
                Ich habe Chrome und Opera getestet.

                @Glasfaser sagte in Bildanzeige veraltet:

                @aleks-83

                lösche das Zielverzeichnis komplett

                /snapshots/Set1/snap01.jpg
                

                dann einmal Klingel ... was passiert !?

                Als ich den Inhalt des Ordners Set1 gelöscht habe, sah man im vis keine Bilder.
                Wenn ich den Ordner Set1 komplett lösche, werden keine Bilder kopiert.

                Dann habe ich geklingelt, und man sah die alten Bilder.
                Aber nicht das was ich aus dem Ordner gelöscht habe, sondern immer das selbe Bild vom 10.10.19 was dort schon lange nicht mehr liegt. 🤐

                Der Befehl

                exec: del /s /q D:\ioBroker\NUC\iobroker-data\files\vis.0\snapshots\Set4\"
                

                funktioniert, das habe ich per FTP beobachtet. Das Verzeichnis wird geleert. Und...

                copy "D:\ioBroker\Besucherfotos\2019\2019.11.22_13.41.3\" "D:\ioBroker\NUC\iobroker-data\files\vis.0\snapshots\Set4\"
                

                Ja offenbar auch, sonst wären ja gar keine Bilder im Ordner.

                Warum zum Geier sehe ich so alte Bilder im vis?

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

                  @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

                  1 Reply Last reply Reply Quote 0
                  • umbm
                    umbm last edited by

                    Ich denke, die Ursache liegt in den erhöhten Sicherheitsanforderungen im js-controller 2.

                    Ich bin vor kurzem über das gleiche Problem mit dynamisch generierten Bildern für vis gestolpert.

                    https://forum.iobroker.net/topic/26784/gelöst-probs-im-vis-nach-update-js-controller

                    1 Reply Last reply Reply Quote 1
                    • Peoples
                      Peoples last edited by Peoples

                      Solltest du den js-controller in der Version 2.x nutzen wird es wirklich daran liegen. Es wurden die Zugriffsrechte auf verschiedene Verzeichnisse geändert. Musst du in den FAQ Mal nachlesen.

                      1 Reply Last reply Reply Quote 1
                      • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            933
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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