Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Lokal abgelegten Snapshot in VIS anzeigen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Lokal abgelegten Snapshot in VIS anzeigen

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      Berzi last edited by

      Hey ioBroker!

      Ich bekomme es irgendwie nicht hin ein sich ändernden Snapshot, der Lokal auf meinem ioBroker-Host (Raspberry) abliegt anzuzeigen.

      Hintergrund:
      Es ist kein Problem den "Live"-Snapshot der Kamera unter http://192.168.178.XXX/tmpfs/auto2.jpg?usr=XXX&pwd=XXX für mich in ein Basic-Image zu laden und anzeigen zu lassen, funktioniert wunderbar.
      Unabhängig davon holt sich mein Raspberry per Script immer den letzten Snapshot bei einer Bewegungsmeldung und legt ihn lokal unter /opt/iobroker/cam/alarm.jpeg ab. Er überschreibt das immer, es ist sozusagen einfach immer nur das Bild der letzten Alarmierung.
      Genau dieses würde ich nun auch gerne im VIS abrufbar machen. Sei es direkt im VIS oder per Button. (vllt sogar beides O:-) )

      Problem:
      Nur über den Pfad akzeptiert VIS das ja nicht so ganz, weil das ja immer auf seine dolle MediaLibary zurückgreifen möchte wenn es um lokalen Kram geht. Lade ich das Bild jedoch dort rein, so aktualisiert es sich nicht wirklich, wenn es überschrieben wird.

      Was wäre denn hier die Lösung in meinem verzwickten Falle? 🙂

      Danke!!

      Viele Grüße
      Berzi

      amg_666 Glasfaser 2 Replies Last reply Reply Quote 0
      • amg_666
        amg_666 @Berzi last edited by

        @berzi sagte in Lokal abgelegten Snapshot in VIS anzeigen:

        Lade ich das Bild jedoch dort rein, so aktualisiert es sich nicht wirklich, wenn es überschrieben wird.

        ich weiß nicht ob ich es richtig verstanden habe, aber wenn du ein Bild in der VIS anzeigst dann müsstest du dem widget auch noch eine Refresh Zeit (z.B. alle 1000 Milisekunden) mitgeben und dann sollte es eigentlich aktualisiert werden

        B 1 Reply Last reply Reply Quote 0
        • B
          Berzi @amg_666 last edited by

          @amg_666 Ja, das ist selbstverständlich, würde aber natürlich noch weitergesponnen ebenfalls dazu führen. Das ist aber nicht mein Problem, dennoch Danke.
          Mein Problem ist, dass die Datei /opt/iobroker/cam/alarm.jpeg den letzten aktuellen Alarm anzeigt.
          Wenn ich diese ins VIS einfügen möchte, so muss ich diese Datei (meines Wissens nach) über das Webfrontend in die VIS-Mediathek laden, da VIS die Datei sonst schlichtweg nicht anzeigt. Mit diesem Schritt löse ich jedoch den Zeiger auf die Ursprungsdatei in /opt/iobroker/cam/alarm.jpeg und eine Aktualisierung dieser hat keinen Effekt mehr. So meine derzeitige Vermutung meines Fehlerbildes bis hierhin.

          arteck 1 Reply Last reply Reply Quote 0
          • arteck
            arteck Developer Most Active @Berzi last edited by

            @berzi schreib die Datei hier.. /opt/iobroker/iobroker-data/
            von hier hast du zugriff auf diese

            B 1 Reply Last reply Reply Quote 0
            • B
              Berzi @arteck last edited by

              @arteck Danke für deine Rückmeldung. Ich habe jetzt mal eine Kopie auf der Befehlszeile hier hingelegt:
              /opt/iobroker/iobroker-data/alarm.jpeg
              2021-02-19_12-12.png

              Wenn ich dann im VIS diesen Pfad angebe, kann er das Bild nicht öffnen:
              2021-02-19_12-09.png

              Mache ich etwas falsch?

              Homoran arteck 2 Replies Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @Berzi last edited by

                @berzi sagte in Lokal abgelegten Snapshot in VIS anzeigen:

                Mache ich etwas falsch?

                ich denke du hast das selbe Problem / Knoten den ich damals hatte.

                Bilder für die vis müssen mit dem vis-editor hochgeladen werden.
                Ich dachte auch: Machst du das eben einmal, dann hat er den fileNamen registriert und überschreibst dann die Datei.
                Pustekuchen!
                klappt nicht

                Die Dateien müssen mit filesync hochgeladen werden

                Homoran 1 Reply Last reply Reply Quote 0
                • arteck
                  arteck Developer Most Active @Berzi last edited by

                  @berzi ahhh wo war der blöde Ordner....

                  /opt/iobroker/iobroker-data/files/vis.0/
                  

                  das problem sind die rechte ... du bist mit dem User iobroker unterwegs.. und der darf nicht überall rein
                  du darfst auch nicht den ganzen pfad angeben..

                  1 Reply Last reply Reply Quote 0
                  • B
                    Berzi last edited by

                    Danke für eure Hilfe, aaaaber das funktioniert so leider alles nicht 🙂

                    Ich versuche mal genau zu dokumentieren, dann ist mein Problem vielleicht lösbarer:

                    Ich habe es genau wie von euch vorgeschlagen gemacht.

                    Also ich beginne mal ganz brav über den WebUpload eine test.jpeg Datei hochzuladen und anzuzeigen, nichts spektakuläres:
                    2021-02-19_12-44.png

                    Parallel dazu habe ich in GENAU dieses Verzeichnis mal vorbereitend die alarm.jpeg reinkopiert, welche ich gleich zum Überschreiben nutzen werde. Alles per shell, denn so würde es ja auch in der Praxis geschehen. Erste Auffälligkeit ist, dass wenn ihr mein Bild oben anschaut, die alarm.jpeg dort nicht angezeigt wird, weil ich sie nicht aktiv über das Webfrontend reingeladen habe. Das heißt, dass VIS die Datei nunmal so lange auch irgendwie ignoriert, obwohl sie da ist, siehe hier:
                    2021-02-19_12-43.png

                    Im oberen Abschnitt des Auszuges erkennt ihr, dass die test.jpeg (hochgeladen über WebUpload) dort liegt und auch die von mir selbst hinkopierte alarm.jpeg.
                    2 verschiedene Dateien.
                    Dann überschreibe ich die in VIS eingepflegte test.jpeg mit der alarm.jpeg. Auf dem Dateisystem alles schick, ABER:
                    Im VIS bleibt schlichtweg das alte Bild bestehen. Es juckt das VIS einfach nicht. Auch jetzt noch während ich hier schreibe und ich weiß, dass es diese alte Datei gar nicht mehr gibt, bleibt im VIS die alte Bilddatei bestehen. Und genau das ist das Problem, welches ich Eingangs beschriebene habe. Nutzt man den WebUpload nicht, dann ist die Datei gar nicht abrufbar. Nutzt man ihn jedoch, dann ist dieser King-in-the-Ring und die Datei aktualisiert sich auch erst wieder wenn man diese über das WebFrontend neu reinlädt.

                    Ist mein Problem nachvollziehbar? 😄

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @Berzi last edited by

                      @berzi sagte in Lokal abgelegten Snapshot in VIS anzeigen:

                      Das heißt, dass VIS die Datei nunmal so lange auch irgendwie ignoriert, obwohl sie da ist,

                      Wie ich schrieb:
                      Nur Dateien, die von vis registriert wurden, können auch in vis verwendet werden.
                      Nichts was du "an der registrierung vorbei" in das Verzeichnis befördert hast

                      @berzi sagte in Lokal abgelegten Snapshot in VIS anzeigen:

                      Ist mein Problem nachvollziehbar?

                      Ja - ich dachte es genau so beschrieben zu haben

                      B 1 Reply Last reply Reply Quote 0
                      • B
                        Berzi @Homoran last edited by

                        @homoran Ich hatte es schon auch genauso verstanden - nur löst das mein Problem nicht? 😄

                        1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @Homoran last edited by

                          @berzi sagte in Lokal abgelegten Snapshot in VIS anzeigen:

                          nur löst das mein Problem nicht?

                          und das:
                          @homoran sagte in Lokal abgelegten Snapshot in VIS anzeigen:

                          Die Dateien müssen mit filesync hochgeladen werden

                          frag mich nicht wie - steht irgendwo mehrfach im Forum, aber ich kann kein js

                          1 Reply Last reply Reply Quote 0
                          • Glasfaser
                            Glasfaser @Berzi last edited by

                            @berzi

                            Hiermit kannst du es direkt von deiner Cam holen und in vis.0 legen .

                            request(
                            
                              {
                            
                                url: "http://192.168.178.xxx:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=hxxx&pwd=roadxxxxx",
                            
                                encoding: null,
                            
                              },
                            
                              (error, response, body) => {
                            
                                if (!error && body) {
                            
                                  writeFile("vis.0", "/klingelbild/VorneTest.jpg", body);
                            
                                }
                            
                              }
                            
                            );
                            
                            
                            B Yoda ? S 4 Replies Last reply Reply Quote 2
                            • B
                              Berzi @Glasfaser last edited by

                              @glasfaser Top! Vielen Dank! Genau das behebt das Problem 🙂

                              1 Reply Last reply Reply Quote 0
                              • Yoda
                                Yoda @Glasfaser last edited by Yoda

                                Hallo ich habe hier ein ähnliches Problem,
                                komme mit dem Tip von @Glasfaser leider aber noch nicht zum Ziel.

                                Ich möchte gern regelmäßig Bilder abspeichern und das Aktualisierte Bild dann alle 3 sec in Vis anzeigen lassen- soweit ist die Anforderung ja die gleiche.

                                • Aber mir fehlt im Skript die Zeit Einstellung wann das Bild geholt wird? Schlimmer aber noch,
                                • Meine IP Kamera (Wansview W6) hat keinen http:// .. Zugang um ein Snapshot zu machen, daher auch der Grund für die Zwischen Speicherung in Vis.0 über diesen weg.

                                Ein Bild von der Kamera kann ich nur über die folgenden URL abgreifen und speichern:

                                ffmpeg -loglevel fatal -i rtsp://user:pwd@192.168.178.xxx:554/live/ch0 -vframes 1 -y -r 1 /opt/iobroker/iobroker-data/files/vis.0/main/img/Hof3.jpg
                                

                                2021-02-22 22_36_47-Window-neu.jpg

                                Mit js Skripte komme ich leider nicht klar - bin froh es einigermaßen mit Blocky hinzubekommen 👶
                                Hier liegt mein Bild nun in Vis.0

                                opt/iobroker/iobroker-data/files/vis.0/main/img/Hof3.jpg
                                

                                Die Rechte auf die Datei habe ich bereits angepasst:
                                2021-02-22 22_17_26-Window-ziel.jpg
                                Wie man sieht wird das Bild dort nun auch regelmäßig aktualisiert:
                                2021-02-22 22_31_20-Window-update.jpg

                                Wäre Klasse wenn ihr mir dabei auch Helfen könntet.

                                Edit, habe die Pfade einmal angepasst

                                B ChrisNett 2 Replies Last reply Reply Quote 0
                                • B
                                  Berzi @Yoda last edited by

                                  @yoda
                                  Bei mir habe ich ein Skript "GetAlarmSnapshot" mit genau dem Code von Glasfaser angelegt. Lediglich den url und vis Pfad habe ich angepasst.
                                  Was ich nicht direkt beantworten kann ist, wie du dir zuvor die Datei holst, da deine Cam kein http unterstützt und du die Datei ja bereits lokal abliegen hast. Das muss aber auch gehen. Was du suchen musst ist wie du über Javascript eine lokale Datei einliest.

                                  Das wäre dann der obere Teil in der Manier:

                                  /* Hier kommt der Javascript-Kram, um die Datei einzulesen /
                                  ...
                                  ...
                                  /
                                  Hier nutze die Funktion writeFile("vis.0", "/pfad/zum/bild.jpg", body); */

                                  Für das Einlesen der Datei hilft dir vermutlich diese Seite hier (wenn das nicht runtergebrochen zuvor jemand hier reinstellt):
                                  https://www.html5rocks.com/de/tutorials/file/dndfiles//

                                  1 Reply Last reply Reply Quote 0
                                  • ChrisNett
                                    ChrisNett @Yoda last edited by

                                    @yoda Ich habe auch eine W6 die habe ich aber in MotionEye eingebunden dann hast du auch einen http Adresse für ein Bild.

                                    Yoda 1 Reply Last reply Reply Quote 1
                                    • Glasfaser
                                      Glasfaser last edited by

                                      @yoda

                                      var fs = require('fs');
                                      
                                      var timeout1
                                      
                                      exec('ffmpeg -loglevel fatal -i rtsp://user:pwd@192.168.178.xxx:554/live/ch0 -vframes 1 -y -r 1 /tmp/Vorne.jpg');
                                      
                                       
                                      
                                          timeout1 = setTimeout(function () {
                                      
                                             
                                      
                                               const picture= fs.readFileSync('/tmp/Vorne.jpg');
                                      
                                               writeFile('vis.0','/klingelbild/Vorneneu.jpg', picture, function (error) { });
                                      
                                       
                                      
                                          }, 20000);
                                      
                                      
                                      Yoda 1 Reply Last reply Reply Quote 1
                                      • Yoda
                                        Yoda @Glasfaser last edited by

                                        @Christian-Sandkaulen
                                        Danke, das beruhigt schon mal das du die W6 eingebunden hast. Mit MotionEye habe ich noch nichts gemacht, müsste ich mich mal einlesen was ich da machen muss.....

                                        @glasfaser
                                        Danke für deine Antwort, ich habe die Pfade mal entsprechend meiner Ordner angepasst und auch nochmal einen Neuen Name für das Bild verwendet Hof7.jpg

                                        • Dieses wird im Verzeichnis beim starten des Skripts nur einmalig Aktualisiert.
                                        • In Vis wird das Bild weiterhin nicht angezeigt.

                                        Wärst du so Lieb und schauts dort noch mal rüber - vielen Dank!

                                        var fs = require('fs');
                                         
                                        var timeout1
                                         
                                        exec('ffmpeg -loglevel fatal -i rtsp://user:pwd@192.168.178.117:554/live/ch0 -vframes 1 -y -r 1 /opt/iobroker/iobroker-data/files/vis.0/main/img/Hof7.jpg');
                                         
                                         
                                         
                                            timeout1 = setTimeout(function () {
                                         
                                               
                                         
                                                 const picture= fs.readFileSync('/opt/iobroker/iobroker-data/files/vis.0/main/img/Hof7.png');
                                         
                                                 writeFile('vis.0','/opt/iobroker/iobroker-data/files/vis.0/main/img/Hof7.png', picture, function (error) { });
                                         
                                         
                                         
                                            }, 20000);
                                         
                                        
                                        

                                        2.jpg

                                        Pfad in Vis:
                                        Bem. nehme ich ein anderes Bild aus dem Vis Ordner wird dieses angezeigt.
                                        /vis.0/main/img/Hof7.jpg

                                        3.jpg

                                        Glasfaser 1 Reply Last reply Reply Quote 0
                                        • Glasfaser
                                          Glasfaser @Yoda last edited by

                                          @yoda

                                          ändere auf :

                                          writeFile('vis.0','/main/img/Hof7.png', picture, function (error) { });
                                          
                                          Yoda 1 Reply Last reply Reply Quote 0
                                          • Yoda
                                            Yoda @Glasfaser last edited by Yoda

                                            @glasfaser
                                            habe ich gemacht - aber es ändert sich nichts, weiterhin so wie oben beschrieben:

                                            var fs = require('fs');
                                             
                                            var timeout1
                                             
                                            exec('ffmpeg -loglevel fatal -i rtsp://user:pwd@192.168.178.117:554/live/ch0 -vframes 1 -y -r 1 /opt/iobroker/iobroker-data/files/vis.0/main/img/Hof7.jpg');
                                             
                                             
                                             
                                                timeout1 = setTimeout(function () {
                                             
                                                   
                                             
                                                     const picture= fs.readFileSync('/opt/iobroker/iobroker-data/files/vis.0/main/img/Hof7.png');
                                             
                                                     writeFile('vis.0','/main/img/Hof7.png', picture, function (error) { });
                                             
                                             
                                             
                                                }, 20000);
                                             
                                            
                                            
                                            Glasfaser 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            13
                                            56
                                            4104
                                            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