Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Bilder in Telegram, variablen und Funktionen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

Bilder in Telegram, variablen und Funktionen

Bilder in Telegram, variablen und Funktionen

Scheduled Pinned Locked Moved Skripten / Logik
8 Posts 3 Posters 2.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    Sebastian
    wrote on last edited by
    #1

    Hi,

    hoffe mir kann hier irgendwer erklären warum das nicht so funktioniert wie erwartet.

    Ich möchte mit Telegram ein Bid verschicken. Das funktioniert so auch problemlos

    var DoorbirdImagePath = "/home/pi/DoorbirdPics/2017-09-09_12h46m46s_20.6grad_DailyPic12am.jpg";
        sendTo('telegram.0', {
        text:                   DoorbirdImagePath,
        caption:                'Snapshot',
        disable_notification:   true,
        });
    
    

    Lasse ich den FilePfad aber in einer globalen Funktion erstellen und über return in die Variable schreiben. Schickt Telegram nur den Pfad als text.

    Die variable "DoorbirdImagePath" sieht aber in beiden versionen gleich aus. Selbst wenn ich den von der Fuktion erstellten pfad verwenden und, wie oben, direkt zuweise funktioniert es.

    var DoorbirdImagePath = saveDoorbirdImage("DailyPic12am");
       sendTo('telegram.0', {
        text:                   DoorbirdImagePath,
        caption:                'Snapshot',
        disable_notification:   true,
        });
    

    hat jamand eine Idee wo da der unterschied liegt?

    Gruß

    Sebastian

    1 Reply Last reply
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      wrote on last edited by
      #2

      Was wird angezeigt?

      var DoorbirdImagePath = saveDoorbirdImage("DailyPic12am");
      
      console.log(DoorbirdImagePath); // <<== Hier?
      
         sendTo('telegram.0', {
          text:                   DoorbirdImagePath,
          caption:                'Snapshot',
          disable_notification:   true,
          });
      
      1 Reply Last reply
      0
      • S Offline
        S Offline
        Sebastian
        wrote on last edited by
        #3

        Hi Bluefox, danke für die schnelle reaktion.

        Wenn ich das hier ausführe:

            var DoorbirdImagePath = saveDoorbirdImage("DailyPic12am");
            console.log("#1#" + DoorbirdImagePath);
        
            sendTo('telegram.0', {
            text:                   DoorbirdImagePath,
            caption:                'Snapshot',
            disable_notification:   true,
            }); 
        
            var DoorbirdImagePath = "/home/pi/DoorbirdPics/2017-09-09_12h46m46s_20.6grad_DailyPic12am.jpg";
            console.log("#2#" + DoorbirdImagePath);
            sendTo('telegram.0', {
            text:                   DoorbirdImagePath,
            caption:                'Snapshot',
            disable_notification:   true,
            });
        

        Steht im Log das hier. Die Pfade sind verschieden, da der eine aktuell ist und der zweite fest zugewiesen wurde. Den zweiten Pfad habe ich aus Telegram von einem vorherigen test kopiert.
        ` > 13:47:34.288 [info] javascript.0 script.js.In_Arbeit.DoorbirdImg: #1#/home/pi/DoorbirdPics/2017-09-13_13h47m34s_13.8grad_DailyPic12am.jpg

        13:47:34.288 [info] javascript.0 script.js.In_Arbeit.DoorbirdImg: #2#/home/pi/DoorbirdPics/2017-09-09_12h46m46s_20.6grad_DailyPic12am.jpg `

        Gruß

        Sebastian

        1 Reply Last reply
        0
        • F Offline
          F Offline
          Fitti
          wrote on last edited by
          #4

          @Sebastian:

          Steht im Log das hier. Die Pfade sind verschieden, da der eine aktuell ist und der zweite fest zugewiesen wurde. Den zweiten Pfad habe ich aus Telegram von einem vorherigen test kopiert.
          ` > 13:47:34.288 [info] javascript.0 script.js.In_Arbeit.DoorbirdImg: #1#/home/pi/DoorbirdPics/2017-09-13_13h47m34s_13.8grad_DailyPic12am.jpg

          13:47:34.288 [info] javascript.0 script.js.In_Arbeit.DoorbirdImg: #2#/home/pi/DoorbirdPics/2017-09-09_12h46m46s_20.6grad_DailyPic12am.jpg
          Was mich jedoch jetzt wundert. Stimmen denn die Pfade zum Bild?

          Probiere doch mal den Ordner /tmp/<dein_bild_name>.jpg. Vielleicht darf der Task nicht auf /home/pi zugreifen, wenn er automatisiert ist - das glaube ich sogar sehr, da wahrscheinlich der telegramm task nicht als pi ausgeführt wird.

          Kannst ja testweise erst mal ein Bild da rein kopieren und dir den Namen zusammenbasteln.</dein_bild_name>

          "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
          Plural von Status ist auch Status!

          1 Reply Last reply
          0
          • S Offline
            S Offline
            Sebastian
            wrote on last edited by
            #5

            Hi Fitti,

            hab's mal mit /tmp/ getestet. Selbes Ergebnis.

            Pfad direkt zuweisen geht, über die Funktion geht nicht.

            Scheint also nix mit den Rechten zu tz zu haben.

            Gruß

            Sebastian

            1 Reply Last reply
            0
            • BluefoxB Offline
              BluefoxB Offline
              Bluefox
              wrote on last edited by
              #6

              ` > Pfad direkt zuweisen geht, über die Funktion geht nicht.

              Scheint also nix mit den Rechten zu tz zu haben. `
              Das kann nicht sein. Dann sind irgendwelche Unicode-Zeichen im Pfad drin oder am Ende ein Lehrzeichen…

              1 Reply Last reply
              0
              • F Offline
                F Offline
                Fitti
                wrote on last edited by
                #7

                Hmm- prinzipiell geht das schon - nutze es ja selbst in meinen Skripten.

                Das Problem muss also noch irgendwo anders liegen… entweder wirklich einfach nur in einem "Sonderzeichen" oder in der eigentlichen Logik.

                Mich machen noch Deine unterschiedlichen Pfade skeptisch.

                Kannst Du dir nicht einfach das Bild selber holen, abspeichern und dann verwenden?

                Dann bist Du sicher, das richtige Bild zu haben. Und wenn Du es nur Testweise durchführst.

                Ich mache das so (orig-skript - läuft bei mir):

                        var request = require('request');
                        var fs      = require('fs');
                        request.get({url: 'http://192.168.1.321/tmpfs/auto.jpg?usr=XXX&pwd=XXX', encoding: 'binary'}, function (err, response, body) {
                            fs.writeFile("/tmp/snap.jpg", body, 'binary', function(err) {
                                if (err) {
                                    console.error(err);
                                } else {
                                    var info_text = 'Ein neues Bild';
                                    console.log('Snapshot sent');
                                    sendTo('telegram.0', {text: '/tmp/snap.jpg', caption: info_text });
                                }
                            });
                        });
                
                

                http://192.168.1.321/tmpfs/auto.jpg?usr=XXX&pwd=XXX muss natürlich an Deine Umgebung angepasst werden. Diese URL im Browser eingegeben, muss ein BILD anzeigen (kein Video).

                Versuchs doch mal damit.

                "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
                Plural von Status ist auch Status!

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  Sebastian
                  wrote on last edited by
                  #8

                  Fehler gefunden. Danke Euch für Eure Hilfe.

                  Anscheinend wurde das Bild verschickt bevor es überhaupt richtig gespeichert war.

                  Mit einer Sekunde Verzögerung zwischen speichern und "senden an Telegram" funktioniert es problemlos.

                  setTimeout(function() {
                      sendTo('telegram.0', {
                      text:                   DoorbirdImagePath,
                      caption:                'Es hat aktuell'+getState("hm-rpc.0.KEQ0174317.1.TEMPERATURE"/*Aussenthermometer Status.TEMPERATURE*/).val + '°C.',
                      disable_notification:   true,
                      });
                  }, 1000);
                  

                  Gruß und Danke nochmals

                  Sebastian

                  1 Reply Last reply
                  0
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  623

                  Online

                  32.4k

                  Users

                  81.3k

                  Topics

                  1.3m

                  Posts
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                  ioBroker Community 2014-2025
                  logo
                  • Login

                  • Don't have an account? Register

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Recent
                  • Tags
                  • Unread 0
                  • Categories
                  • Unreplied
                  • Popular
                  • GitHub
                  • Docu
                  • Hilfe