NEWS

Gelöst: Speicherpfad in Iobroker



  • @michihorn

    Ich habe es bei mir getetest ... ohne Fehler !

    Zeige mir mal per Log die Fehlermeldung !



  • @Glasfaser Ich habe keine Fehlermeldung...aauch im Log steht nichts
    17:51:00.008 info javascript.3 (5376) script.js.Klingel.Skript_11: exec: wget --output-document /tmp/Vorne.jpg 'http://192.168.178.104:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=hxxn&pwd=roadki



  • @michihorn

    unlesbares Format

    und wie kommst du dann auf diese Aussage ?

    Wie und was meinst du damit !????



  • @Glasfaser Ich öffne das Speicherverzeichnis, sehe die Datei ohne Vorschau. Wenn ich die Datei anklicke bekomme ich vom "Windows Fotos" die Meldung VorneTest.jpg Dieses Dateiformat wird wahrscheinlich nicht unterstützt
    Ich habe mir gerade mal die Eigenschaften der Datei angeschaut, es ist eine 0 Bytes Datei. Also irgendwas habe ich noch falsch gemacht.
    Im Dateimanager vom Iobroker sieht es so aus
    Unbenannt.JPG


  • Developer

    @Glasfaser @michihorn
    exec ist asynchron, d.h. der Code darunter geht weiter, bevor der Befehl abgeschlossen ist. Alles was nach dem exec passieren soll, muss in den Callback:

    var fs = require("fs");
    
    exec(
      "wget --output-document /tmp/Vorne.jpg 'http://192.168.178.xxx:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=hxxx&pwd=roadxxxxx'",
      (error, stdout, stderr) => {
        if (!error) {
          const picture = fs.readFileSync("/tmp/Vorne.jpg");
          writeFile("vis.0", "/klingelbild/VorneTest.jpg", picture);
        }
      }
    );
    

    Da eh etwas runtergeladen werden soll, kann man den httprequest auch direkt selbst machen, ohne Umweg übers Dateisystem (ungetestet, sollte aber gehen):

    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);
        }
      }
    );
    


  • @michihorn

    nimm mal diese Widget und trage dort dein Bild ein ... :

    [{"tpl":"tplImage","data":{"g_fixed":false,"g_visibility":true,"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,"visibility-cond":"==","visibility-val":"true","visibility-groups-action":"hide","refreshInterval":"0","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,"src":"/vis.0/klingelbild/Vorne.jpg","visibility-oid":"javascript.0.Dreambox.Dreambox_an_aus"},"style":{"left":"629px","top":"161px","z-index":"1","width":"234px","height":"150px","font-family":"Jura-DemiBold","font-size":"14px"},"widgetSet":"basic"}]
    


  • @michihorn

    wie schon @AlCalzone braucht dein System zu lange ... deswegen 0kb bei dir

    
    var fs = require('fs');
    var timeout1
    exec('wget --output-document /tmp/Vorne.jpg \'http://xxxxxxxx@192.168.xxxxxx/streaming/channels/101/picture\'');
     
        timeout1 = setTimeout(function () {
           
             const picture= fs.readFileSync('/tmp/Vorne.jpg');
             writeFile('vis.0','/klingelbild/Vorneneu.jpg', picture, function (error) { });
    
        }, 20000);
    

    würde auch mit Timeout gehen ...



  • @AlCalzone sagte in Speicherpfad in Iobroker:

    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); } } );

    Super das klappt bei mir. Danke sehr
    Ich bedanke mich auch bei Glasfaser



  • @AlCalzone sagte in Speicherpfad in Iobroker:

    @Glasfaser @michihorn
    `
    Da eh etwas runtergeladen werden soll, kann man den httprequest auch direkt selbst machen, ohne Umweg übers Dateisystem (ungetestet, sollte aber gehen):

    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);
        }
      }
    );
    

    Kannte ich noch nicht ... kann man gut gebrauchen
    Danke



  • @AlCalzone Kannst Du mir evtl. noch zeigen wie ich eine Datei auf einem Laufwerk ins Vis bringen kann?
    Ich habe also einen Ordner auf C:\Test, dort werden mir regelmäßig Bilder einer Kamera per Email zugesandt, die ich dann extrahiert habe, ich möchte also immer das letzte Bild in Vis hoch laden.
    Gruß
    Michael


Log in to reply
 

Suggested Topics

1.5k
Online

32.4k
Users

39.0k
Topics

528.7k
Posts