Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. telegram

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    818

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

telegram

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
20 Beiträge 3 Kommentatoren 1.2k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M michihorn

    @haus-automatisierung

    /*****Bewegung Doorbell ****************************************************
    * Mai 2025
    * Adapter: 
    * geä:
    *************************************************************************/
    
    const idmotion = "reolink.1.sensor.motion"
    const camurl = 'http://192.168.188.122/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password=rxxxxxg04&width=800&height=600'
    
    on({ id: idmotion, change:"any" }, function (obj) {
        if (obj.state.val == true) {
        log("Motion Doorbell")
    
        httpGet(camurl, { responseType: 'arraybuffer' }, async (err, response) => {
            if (!err) {
                writeFile('vis.0', '/Doorbell/Doorbell.jpg', response.data, (err) => {
                    if (err) {
                        console.error(err);
                    }
                });
            } else {
                console.error(err);
            }
        });
       }
        readFile('vis.0', '/Doorbell/Doorbell.jpg', function (err, img) {
            var ereignis_text = formatDate(new Date(obj.state.ts), "hh:mm:ss");
            sendTo("telegram.0", {
                text: img,
                caption: "Doorbell Bewegung " + ereignis_text,
                type: "photo"
            });
            delFileAsync('vis.0', '/Doorbell/Doorbell.jpg')
        });
        
    });
    

    Aktuell ist das jetzt die Fehlermeldung

    elegram.0
    	2025-05-09 12:12:09.035	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    telegram.0
    	2025-05-09 12:12:03.582	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    telegram.0
    	2025-05-09 12:11:59.114	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    telegram.0
    	2025-05-09 12:11:53.525	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    telegram.0
    	2025-05-09 12:11:49.124	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    telegram.0
    	2025-05-09 12:11:48.590	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    telegram.0
    	2025-05-09 12:11:40.331	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    telegram.0
    	2025-05-09 12:11:36.294	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    telegram.0
    	2025-05-09 12:11:30.005	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    telegram.0
    	2025-05-09 12:11:23.893	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    telegram.0
    	2025-05-09 12:11:19.774	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    telegram.0
    	2025-05-09 12:11:13.677	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    telegram.0
    	2025-05-09 12:11:10.434	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    telegram.0
    	2025-05-09 12:11:04.927	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    telegram.0
    	2025-05-09 12:10:59.677	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    telegram.0
    	2025-05-09 12:10:53.561	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    telegram.0
    	2025-05-09 12:10:49.077	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    telegram.0
    	2025-05-09 12:10:44.206	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    telegram.0
    	2025-05-09 12:10:42.514	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
    
    OliverIOO Offline
    OliverIOO Offline
    OliverIO
    schrieb am zuletzt editiert von OliverIO
    #8

    @michihorn

    Da ist ein Zeitfehler drin.

    Httpget
    Und Readfile wird relativ zeitnah hintereinander ändernaufgerufen.
    Es ist nicht gesichert, das die callbacks genau auch so in der Reihenfolge fertig sind.

    D.h. Das Bild das du mit HTTPget abrufst ist wahrscheinlich noch nicht vorhanden, wenn du den readfile/telegram Befehl aufrufst.
    Daher auch die Meldung mit undefined oder message empty.

    Wenn du auf die Verwendung der callback Versionen der Funktionen verzichtest und mit await arbeitest, wird es viel logischer von der Abarbeitung her.

    Meine Adapter und Widgets
    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
    Links im Profil

    M 1 Antwort Letzte Antwort
    1
    • M michihorn

      @haus-automatisierung

      /*****Bewegung Doorbell ****************************************************
      * Mai 2025
      * Adapter: 
      * geä:
      *************************************************************************/
      
      const idmotion = "reolink.1.sensor.motion"
      const camurl = 'http://192.168.188.122/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password=rxxxxxg04&width=800&height=600'
      
      on({ id: idmotion, change:"any" }, function (obj) {
          if (obj.state.val == true) {
          log("Motion Doorbell")
      
          httpGet(camurl, { responseType: 'arraybuffer' }, async (err, response) => {
              if (!err) {
                  writeFile('vis.0', '/Doorbell/Doorbell.jpg', response.data, (err) => {
                      if (err) {
                          console.error(err);
                      }
                  });
              } else {
                  console.error(err);
              }
          });
         }
          readFile('vis.0', '/Doorbell/Doorbell.jpg', function (err, img) {
              var ereignis_text = formatDate(new Date(obj.state.ts), "hh:mm:ss");
              sendTo("telegram.0", {
                  text: img,
                  caption: "Doorbell Bewegung " + ereignis_text,
                  type: "photo"
              });
              delFileAsync('vis.0', '/Doorbell/Doorbell.jpg')
          });
          
      });
      

      Aktuell ist das jetzt die Fehlermeldung

      elegram.0
      	2025-05-09 12:12:09.035	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      telegram.0
      	2025-05-09 12:12:03.582	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      telegram.0
      	2025-05-09 12:11:59.114	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      telegram.0
      	2025-05-09 12:11:53.525	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      telegram.0
      	2025-05-09 12:11:49.124	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      telegram.0
      	2025-05-09 12:11:48.590	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      telegram.0
      	2025-05-09 12:11:40.331	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      telegram.0
      	2025-05-09 12:11:36.294	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      telegram.0
      	2025-05-09 12:11:30.005	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      telegram.0
      	2025-05-09 12:11:23.893	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      telegram.0
      	2025-05-09 12:11:19.774	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      telegram.0
      	2025-05-09 12:11:13.677	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      telegram.0
      	2025-05-09 12:11:10.434	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      telegram.0
      	2025-05-09 12:11:04.927	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      telegram.0
      	2025-05-09 12:10:59.677	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      telegram.0
      	2025-05-09 12:10:53.561	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      telegram.0
      	2025-05-09 12:10:49.077	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      telegram.0
      	2025-05-09 12:10:44.206	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      telegram.0
      	2025-05-09 12:10:42.514	error	Failed sending [chatId - 6105180270]: Error: ETELEGRAM: 400 Bad Request: message text is empty
      
      haus-automatisierungH Online
      haus-automatisierungH Online
      haus-automatisierung
      Developer Most Active
      schrieb am zuletzt editiert von haus-automatisierung
      #9

      @michihorn Das geht so nicht, Du übergibst die Daten aus readFile direkt an Telegam. Also Binärdaten. Der Telegram-Adapter kann damit aber nicht umgehen und hätte gerne einen Pfad. Dafür habe ich die Funktion createTempFile eingebaut.

      Und @OliverIO hat auch Recht - am besten mit einem weiteren Trigger auf geändert Bild-Dateien reagieren (oder sich den Umweg über das Datei-Management von ioBroker komplett sparen, wenn Du die Datei eh direkt wieder löschen willst).

      Vorschlag 1)

      const idmotion = 'reolink.1.sensor.motion';
      const camurl = 'http://192.168.188.122/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password=rxxxxxg04&width=800&height=600';
       
      on({ id: idmotion, change: 'any' }, (obj) => {
        if (obj.state.val == true) {
          log('Motion Doorbell'):
       
          httpGet(camurl, { responseType: 'arraybuffer' }, async (err, response) => {
              if (!err) {
                  writeFile('vis.0', '/Doorbell/Doorbell.jpg', response.data, (err) => {
                      if (err) {
                          console.error(err);
                      }
                  });
              } else {
                  console.error(err);
              }
          });
        }
      });
      
      onFile('vis.0', '/Doorbell/*.jpg', true, async (id, fileName, size, data, mimeType) => {
        const ereignis_text = formatDate(new Date(), 'hh:mm:ss');
      
        sendToAsync('telegram.0', {
            text: createTempFile(fileName, data),
            caption: `Doorbell Bewegung ${ereignis_text}`,
            type: 'photo'
        });
      });
      

      Vorschlag 2:

      const idmotion = 'reolink.1.sensor.motion';
      const camurl = 'http://192.168.188.122/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password=rxxxxxg04&width=800&height=600';
       
      on({ id: idmotion, change: 'any' }, (obj) => {
          if (obj.state.val == true) {
            log('Motion Doorbell'):
         
            httpGet(camurl, { responseType: 'arraybuffer' }, async (err, response) => {
                if (!err) {
                    const ereignis_text = formatDate(new Date(obj.state.ts), 'hh:mm:ss');
      
                    sendToAsync('telegram.0', {
                        text: createTempFile(fileName, response.data),
                        caption: `Doorbell Bewegung ${ereignis_text}`,
                        type: 'photo'
                    });
                } else {
                    console.error(err);
                }
            });
          }
      });
      

      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
      📚 Meine inoffizielle ioBroker Dokumentation

      OliverIOO M 3 Antworten Letzte Antwort
      1
      • haus-automatisierungH haus-automatisierung

        @michihorn Das geht so nicht, Du übergibst die Daten aus readFile direkt an Telegam. Also Binärdaten. Der Telegram-Adapter kann damit aber nicht umgehen und hätte gerne einen Pfad. Dafür habe ich die Funktion createTempFile eingebaut.

        Und @OliverIO hat auch Recht - am besten mit einem weiteren Trigger auf geändert Bild-Dateien reagieren (oder sich den Umweg über das Datei-Management von ioBroker komplett sparen, wenn Du die Datei eh direkt wieder löschen willst).

        Vorschlag 1)

        const idmotion = 'reolink.1.sensor.motion';
        const camurl = 'http://192.168.188.122/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password=rxxxxxg04&width=800&height=600';
         
        on({ id: idmotion, change: 'any' }, (obj) => {
          if (obj.state.val == true) {
            log('Motion Doorbell'):
         
            httpGet(camurl, { responseType: 'arraybuffer' }, async (err, response) => {
                if (!err) {
                    writeFile('vis.0', '/Doorbell/Doorbell.jpg', response.data, (err) => {
                        if (err) {
                            console.error(err);
                        }
                    });
                } else {
                    console.error(err);
                }
            });
          }
        });
        
        onFile('vis.0', '/Doorbell/*.jpg', true, async (id, fileName, size, data, mimeType) => {
          const ereignis_text = formatDate(new Date(), 'hh:mm:ss');
        
          sendToAsync('telegram.0', {
              text: createTempFile(fileName, data),
              caption: `Doorbell Bewegung ${ereignis_text}`,
              type: 'photo'
          });
        });
        

        Vorschlag 2:

        const idmotion = 'reolink.1.sensor.motion';
        const camurl = 'http://192.168.188.122/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password=rxxxxxg04&width=800&height=600';
         
        on({ id: idmotion, change: 'any' }, (obj) => {
            if (obj.state.val == true) {
              log('Motion Doorbell'):
           
              httpGet(camurl, { responseType: 'arraybuffer' }, async (err, response) => {
                  if (!err) {
                      const ereignis_text = formatDate(new Date(obj.state.ts), 'hh:mm:ss');
        
                      sendToAsync('telegram.0', {
                          text: createTempFile(fileName, response.data),
                          caption: `Doorbell Bewegung ${ereignis_text}`,
                          type: 'photo'
                      });
                  } else {
                      console.error(err);
                  }
              });
            }
        });
        
        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von OliverIO
        #10

        @haus-automatisierung

        Ein File handle sollte gemäß Doku auch gehen.
        Vgl. Beispiel
        https://github.com/iobroker-community-adapters/ioBroker.telegram/blob/master/docs/en/README.md#explicit-types-of-messages

        sendTo('telegram.0', 'send', {
            text: fs.readFileSync('/opt/path/picture.png'),
            type: 'photo'
        });
        

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        1 Antwort Letzte Antwort
        1
        • OliverIOO OliverIO

          @michihorn

          Da ist ein Zeitfehler drin.

          Httpget
          Und Readfile wird relativ zeitnah hintereinander ändernaufgerufen.
          Es ist nicht gesichert, das die callbacks genau auch so in der Reihenfolge fertig sind.

          D.h. Das Bild das du mit HTTPget abrufst ist wahrscheinlich noch nicht vorhanden, wenn du den readfile/telegram Befehl aufrufst.
          Daher auch die Meldung mit undefined oder message empty.

          Wenn du auf die Verwendung der callback Versionen der Funktionen verzichtest und mit await arbeitest, wird es viel logischer von der Abarbeitung her.

          M Offline
          M Offline
          michihorn
          schrieb am zuletzt editiert von
          #11

          @oliverio Ja stimmt, zumindest machmal, aber jetzt weiß ich ja woran es gelegen hat. Danke

          1 Antwort Letzte Antwort
          0
          • haus-automatisierungH haus-automatisierung

            @michihorn Das geht so nicht, Du übergibst die Daten aus readFile direkt an Telegam. Also Binärdaten. Der Telegram-Adapter kann damit aber nicht umgehen und hätte gerne einen Pfad. Dafür habe ich die Funktion createTempFile eingebaut.

            Und @OliverIO hat auch Recht - am besten mit einem weiteren Trigger auf geändert Bild-Dateien reagieren (oder sich den Umweg über das Datei-Management von ioBroker komplett sparen, wenn Du die Datei eh direkt wieder löschen willst).

            Vorschlag 1)

            const idmotion = 'reolink.1.sensor.motion';
            const camurl = 'http://192.168.188.122/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password=rxxxxxg04&width=800&height=600';
             
            on({ id: idmotion, change: 'any' }, (obj) => {
              if (obj.state.val == true) {
                log('Motion Doorbell'):
             
                httpGet(camurl, { responseType: 'arraybuffer' }, async (err, response) => {
                    if (!err) {
                        writeFile('vis.0', '/Doorbell/Doorbell.jpg', response.data, (err) => {
                            if (err) {
                                console.error(err);
                            }
                        });
                    } else {
                        console.error(err);
                    }
                });
              }
            });
            
            onFile('vis.0', '/Doorbell/*.jpg', true, async (id, fileName, size, data, mimeType) => {
              const ereignis_text = formatDate(new Date(), 'hh:mm:ss');
            
              sendToAsync('telegram.0', {
                  text: createTempFile(fileName, data),
                  caption: `Doorbell Bewegung ${ereignis_text}`,
                  type: 'photo'
              });
            });
            

            Vorschlag 2:

            const idmotion = 'reolink.1.sensor.motion';
            const camurl = 'http://192.168.188.122/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password=rxxxxxg04&width=800&height=600';
             
            on({ id: idmotion, change: 'any' }, (obj) => {
                if (obj.state.val == true) {
                  log('Motion Doorbell'):
               
                  httpGet(camurl, { responseType: 'arraybuffer' }, async (err, response) => {
                      if (!err) {
                          const ereignis_text = formatDate(new Date(obj.state.ts), 'hh:mm:ss');
            
                          sendToAsync('telegram.0', {
                              text: createTempFile(fileName, response.data),
                              caption: `Doorbell Bewegung ${ereignis_text}`,
                              type: 'photo'
                          });
                      } else {
                          console.error(err);
                      }
                  });
                }
            });
            
            M Offline
            M Offline
            michihorn
            schrieb am zuletzt editiert von
            #12

            @haus-automatisierung Danke für die Überarbeitung des Scriptes, ich habe jetzt mal die Variante eingebaut. Danke

            1 Antwort Letzte Antwort
            0
            • haus-automatisierungH haus-automatisierung

              @michihorn Das geht so nicht, Du übergibst die Daten aus readFile direkt an Telegam. Also Binärdaten. Der Telegram-Adapter kann damit aber nicht umgehen und hätte gerne einen Pfad. Dafür habe ich die Funktion createTempFile eingebaut.

              Und @OliverIO hat auch Recht - am besten mit einem weiteren Trigger auf geändert Bild-Dateien reagieren (oder sich den Umweg über das Datei-Management von ioBroker komplett sparen, wenn Du die Datei eh direkt wieder löschen willst).

              Vorschlag 1)

              const idmotion = 'reolink.1.sensor.motion';
              const camurl = 'http://192.168.188.122/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password=rxxxxxg04&width=800&height=600';
               
              on({ id: idmotion, change: 'any' }, (obj) => {
                if (obj.state.val == true) {
                  log('Motion Doorbell'):
               
                  httpGet(camurl, { responseType: 'arraybuffer' }, async (err, response) => {
                      if (!err) {
                          writeFile('vis.0', '/Doorbell/Doorbell.jpg', response.data, (err) => {
                              if (err) {
                                  console.error(err);
                              }
                          });
                      } else {
                          console.error(err);
                      }
                  });
                }
              });
              
              onFile('vis.0', '/Doorbell/*.jpg', true, async (id, fileName, size, data, mimeType) => {
                const ereignis_text = formatDate(new Date(), 'hh:mm:ss');
              
                sendToAsync('telegram.0', {
                    text: createTempFile(fileName, data),
                    caption: `Doorbell Bewegung ${ereignis_text}`,
                    type: 'photo'
                });
              });
              

              Vorschlag 2:

              const idmotion = 'reolink.1.sensor.motion';
              const camurl = 'http://192.168.188.122/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password=rxxxxxg04&width=800&height=600';
               
              on({ id: idmotion, change: 'any' }, (obj) => {
                  if (obj.state.val == true) {
                    log('Motion Doorbell'):
                 
                    httpGet(camurl, { responseType: 'arraybuffer' }, async (err, response) => {
                        if (!err) {
                            const ereignis_text = formatDate(new Date(obj.state.ts), 'hh:mm:ss');
              
                            sendToAsync('telegram.0', {
                                text: createTempFile(fileName, response.data),
                                caption: `Doorbell Bewegung ${ereignis_text}`,
                                type: 'photo'
                            });
                        } else {
                            console.error(err);
                        }
                    });
                  }
              });
              
              M Offline
              M Offline
              michihorn
              schrieb am zuletzt editiert von
              #13

              @haus-automatisierung sagte in telegram:

              Dafür habe ich die Funktion createTempFile eingebaut.

              Das Script moniert den fileName
              text: createTempFile(fileName, response.data),

              javascript.0	15:04:31.098	error	
              
              ReferenceError: fileName is not defined
              
              javascript.0	15:04:31.099	error	
              
                  at Object.<anonymous> (script.js.SYSTEM.Motion_Doorbell:26:40)
              
              OliverIOO 1 Antwort Letzte Antwort
              0
              • M michihorn

                @haus-automatisierung sagte in telegram:

                Dafür habe ich die Funktion createTempFile eingebaut.

                Das Script moniert den fileName
                text: createTempFile(fileName, response.data),

                javascript.0	15:04:31.098	error	
                
                ReferenceError: fileName is not defined
                
                javascript.0	15:04:31.099	error	
                
                    at Object.<anonymous> (script.js.SYSTEM.Motion_Doorbell:26:40)
                
                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von OliverIO
                #14

                @michihorn

                Ok, Du hast überhaupt keine Ahnung von JavaScript?

                Filename ist eine variable in der der Dateiname zu deinem Bild steht.
                Also entweder die Daten die aus dem httprequest kommen als Datei speichern oder besser doch wieder das file handle wie in deinem ursprünglichen Beispiel übergeben.

                Kann es leider nicht selbst nachstellen.

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                M 1 Antwort Letzte Antwort
                0
                • OliverIOO OliverIO

                  @michihorn

                  Ok, Du hast überhaupt keine Ahnung von JavaScript?

                  Filename ist eine variable in der der Dateiname zu deinem Bild steht.
                  Also entweder die Daten die aus dem httprequest kommen als Datei speichern oder besser doch wieder das file handle wie in deinem ursprünglichen Beispiel übergeben.

                  Kann es leider nicht selbst nachstellen.

                  M Offline
                  M Offline
                  michihorn
                  schrieb am zuletzt editiert von michihorn
                  #15

                  @oliverio Ich lerne jeden Tag dazu. Es ist noch kein Meister vom Himmel gefallen. ;-)
                  Die Variante2 von Hausautomatik habe ich so übernommen. Die Variable fileName war nicht in der Definition angegeben und es ist nicht klar wo wird die Variable "gefüllt", ergo moppert das Script. Leider gibt es auch keine Sendung per Telegram. Ich schaue mir das später nochmal an. Danke erstmal

                  OliverIOO 1 Antwort Letzte Antwort
                  0
                  • M michihorn

                    @oliverio Ich lerne jeden Tag dazu. Es ist noch kein Meister vom Himmel gefallen. ;-)
                    Die Variante2 von Hausautomatik habe ich so übernommen. Die Variable fileName war nicht in der Definition angegeben und es ist nicht klar wo wird die Variable "gefüllt", ergo moppert das Script. Leider gibt es auch keine Sendung per Telegram. Ich schaue mir das später nochmal an. Danke erstmal

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    schrieb am zuletzt editiert von
                    #16

                    @michihorn

                    Trage da einfach mal anstatt dessen

                    createTempFile('telegram-image.png', response.data)

                    Ein.

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    M 1 Antwort Letzte Antwort
                    0
                    • OliverIOO OliverIO

                      @michihorn

                      Trage da einfach mal anstatt dessen

                      createTempFile('telegram-image.png', response.data)

                      Ein.

                      M Offline
                      M Offline
                      michihorn
                      schrieb am zuletzt editiert von michihorn
                      #17

                      @oliverio sagte in telegram:

                      createTempFile('telegram-image.png', response.data)

                      und wo wird telegram-image.png "gefüllt"? Mit response.data?

                      haus-automatisierungH OliverIOO 2 Antworten Letzte Antwort
                      0
                      • M michihorn

                        @oliverio sagte in telegram:

                        createTempFile('telegram-image.png', response.data)

                        und wo wird telegram-image.png "gefüllt"? Mit response.data?

                        haus-automatisierungH Online
                        haus-automatisierungH Online
                        haus-automatisierung
                        Developer Most Active
                        schrieb am zuletzt editiert von
                        #18

                        @michihorn Ist die Doku der Funktion unvollständig?

                        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                        📚 Meine inoffizielle ioBroker Dokumentation

                        M 1 Antwort Letzte Antwort
                        0
                        • haus-automatisierungH haus-automatisierung

                          @michihorn Ist die Doku der Funktion unvollständig?

                          M Offline
                          M Offline
                          michihorn
                          schrieb am zuletzt editiert von
                          #19

                          @haus-automatisierung Aus meiner Sicht schon, ich werde mich am Montag mal in Ruhe damit beschäftigen.
                          Viele Grüße ;-)

                          1 Antwort Letzte Antwort
                          0
                          • M michihorn

                            @oliverio sagte in telegram:

                            createTempFile('telegram-image.png', response.data)

                            und wo wird telegram-image.png "gefüllt"? Mit response.data?

                            OliverIOO Offline
                            OliverIOO Offline
                            OliverIO
                            schrieb am zuletzt editiert von
                            #20

                            @michihorn

                            Das ist nur der temporäre Dateiname.
                            Gefüllt wird das durch diese Funktion.
                            Der Inhalt kommt von response.data

                            Meine Adapter und Widgets
                            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                            Links im Profil

                            1 Antwort Letzte Antwort
                            0
                            Antworten
                            • In einem neuen Thema antworten
                            Anmelden zum Antworten
                            • Älteste zuerst
                            • Neuste zuerst
                            • Meiste Stimmen


                            Support us

                            ioBroker
                            Community Adapters
                            Donate
                            FAQ Cloud / IOT
                            HowTo: Node.js-Update
                            HowTo: Backup/Restore
                            Downloads
                            BLOG

                            609

                            Online

                            32.6k

                            Benutzer

                            82.0k

                            Themen

                            1.3m

                            Beiträge
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Anmelden

                            • Du hast noch kein Konto? Registrieren

                            • Anmelden oder registrieren, um zu suchen
                            • Erster Beitrag
                              Letzter Beitrag
                            0
                            • Home
                            • Aktuell
                            • Tags
                            • Ungelesen 0
                            • Kategorien
                            • Unreplied
                            • Beliebt
                            • GitHub
                            • Docu
                            • Hilfe