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. Skripten / Logik
  4. JavaScript
  5. JS zum senden über "Dockerized Signal Messenger REST API"

NEWS

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

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

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

JS zum senden über "Dockerized Signal Messenger REST API"

Geplant Angeheftet Gesperrt Verschoben JavaScript
14 Beiträge 3 Kommentatoren 705 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.
  • K Offline
    K Offline
    Klausimausi
    schrieb am zuletzt editiert von
    #1

    Hallo, ich muß als Neuling mal wieder was aufleben lassen.
    Diesen Code hatte @Codierknecht 2023 zur Verfügung gestellt.

    function sendWithSignal(message, recipients) {
        var sendParams = {
            url: 'http://192.168.178.5:8086/v2/send',
            headers: {'Content-Type': 'application/json'},
            body: '{"message": "' + message + '", "number": "+4915*****", "recipients": [ ' + recipients + ' ]}'
        };
        request.post(sendParams, function(error, response, body) {
            if (error) {
                log(error);
            } else {
                log('Nachricht versendet!');
            }
        });
    }
     
    

    Ich wollte diesen aufgrund mangelnder Codierkenntnisse auch nutzen.
    Das funktioniert auch soweit, bis auf das dass Verfahren über request.post nicht mehr up to date ist.
    Ich bin leider zu doof um das auf httpget oder fetch umzustellen.
    Es wäre schön, wenn mir das jemand anpassen könnte ohne noch zusätzliche Pakete installieren zu müssen.
    Vielen Dank
    Klausimausi

    CodierknechtC 1 Antwort Letzte Antwort
    0
    • K Klausimausi

      Hallo, ich muß als Neuling mal wieder was aufleben lassen.
      Diesen Code hatte @Codierknecht 2023 zur Verfügung gestellt.

      function sendWithSignal(message, recipients) {
          var sendParams = {
              url: 'http://192.168.178.5:8086/v2/send',
              headers: {'Content-Type': 'application/json'},
              body: '{"message": "' + message + '", "number": "+4915*****", "recipients": [ ' + recipients + ' ]}'
          };
          request.post(sendParams, function(error, response, body) {
              if (error) {
                  log(error);
              } else {
                  log('Nachricht versendet!');
              }
          });
      }
       
      

      Ich wollte diesen aufgrund mangelnder Codierkenntnisse auch nutzen.
      Das funktioniert auch soweit, bis auf das dass Verfahren über request.post nicht mehr up to date ist.
      Ich bin leider zu doof um das auf httpget oder fetch umzustellen.
      Es wäre schön, wenn mir das jemand anpassen könnte ohne noch zusätzliche Pakete installieren zu müssen.
      Vielen Dank
      Klausimausi

      CodierknechtC Online
      CodierknechtC Online
      Codierknecht
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      @klausimausi
      Der Teil von Zeile 7 bis 13 sollte dann so aussehen:

          httpPost(url, reqBody, (error) => {
              if (error) {
                  console.error(error)
              } else {
                  console.log('Nachricht versendet!');
              }
          });
      
      

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      K 1 Antwort Letzte Antwort
      0
      • CodierknechtC Codierknecht

        @klausimausi
        Der Teil von Zeile 7 bis 13 sollte dann so aussehen:

            httpPost(url, reqBody, (error) => {
                if (error) {
                    console.error(error)
                } else {
                    console.log('Nachricht versendet!');
                }
            });
        
        
        K Offline
        K Offline
        Klausimausi
        schrieb am zuletzt editiert von
        #3

        @codierknecht
        WoW! Schnell !
        Da muss ich nochmal nachhaken.
        Die Variable var sendParams brauche ich dann ja so nicht mehr. die URL kann ich da direkt eintragen
        nur wie übergebe ich dann die benötigten Parameter an regBody?

        Danke Klausimausi

        CodierknechtC 1 Antwort Letzte Antwort
        0
        • K Klausimausi

          @codierknecht
          WoW! Schnell !
          Da muss ich nochmal nachhaken.
          Die Variable var sendParams brauche ich dann ja so nicht mehr. die URL kann ich da direkt eintragen
          nur wie übergebe ich dann die benötigten Parameter an regBody?

          Danke Klausimausi

          CodierknechtC Online
          CodierknechtC Online
          Codierknecht
          Developer Most Active
          schrieb am zuletzt editiert von wendy2702
          #4

          @klausimausi
          So sieht meine Funktion komplett aus. Die kann auch Anhänge (Bilder) mitschicken.
          Nur mit 'ner Nachricht aufgerufen, wird diese an den Standardempfänger (mich) versendet.
          Man kann auch ein Array mitgeben - dann wird an mehrere Empfänger versendet.

          const url = 'http://192.168.179.13:8086/v2/send';
          const fs = require('fs');
          const mobileNumber = ['+49xxxxxx7'];
          
          function toBase64(filePath) {
            const img = fs.readFileSync(filePath);
            return Buffer.from(img).toString('base64');
          }
          
          async function sendSignalMessage(message, recipients = mobileNumber, attachment = '') {
          
              const reqBody = {
                  message,
                  number: '+49xxxxxxx9',
                  recipients: recipients,
              };    
          
              if (attachment != '') {
                  const base64File = await toBase64(attachment);
                  reqBody.base64_attachments = base64File;
                  console.log('Sende Signal-Nachricht mit Anhang');
              }
          
              httpPost(url, reqBody, (error) => {
                  if (error) {
                      console.error(error);
                  } else {
                      console.log('Nachricht versendet!');
                  }
              });
          }
          

          MOD EDIT: Private Handynummer unkenntlich gemacht

          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
          HmIP|ZigBee|Tasmota|Unifi
          Zabbix Certified Specialist
          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

          wendy2702W 1 Antwort Letzte Antwort
          0
          • CodierknechtC Codierknecht

            @klausimausi
            So sieht meine Funktion komplett aus. Die kann auch Anhänge (Bilder) mitschicken.
            Nur mit 'ner Nachricht aufgerufen, wird diese an den Standardempfänger (mich) versendet.
            Man kann auch ein Array mitgeben - dann wird an mehrere Empfänger versendet.

            const url = 'http://192.168.179.13:8086/v2/send';
            const fs = require('fs');
            const mobileNumber = ['+49xxxxxx7'];
            
            function toBase64(filePath) {
              const img = fs.readFileSync(filePath);
              return Buffer.from(img).toString('base64');
            }
            
            async function sendSignalMessage(message, recipients = mobileNumber, attachment = '') {
            
                const reqBody = {
                    message,
                    number: '+49xxxxxxx9',
                    recipients: recipients,
                };    
            
                if (attachment != '') {
                    const base64File = await toBase64(attachment);
                    reqBody.base64_attachments = base64File;
                    console.log('Sende Signal-Nachricht mit Anhang');
                }
            
                httpPost(url, reqBody, (error) => {
                    if (error) {
                        console.error(error);
                    } else {
                        console.log('Nachricht versendet!');
                    }
                });
            }
            

            MOD EDIT: Private Handynummer unkenntlich gemacht

            wendy2702W Offline
            wendy2702W Offline
            wendy2702
            schrieb am zuletzt editiert von
            #5

            @codierknecht War mal so frei deine Handynummer unkenntlich zu machen.

            Bitte keine Fragen per PN, die gehören ins Forum!

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            CodierknechtC 1 Antwort Letzte Antwort
            1
            • wendy2702W wendy2702

              @codierknecht War mal so frei deine Handynummer unkenntlich zu machen.

              CodierknechtC Online
              CodierknechtC Online
              Codierknecht
              Developer Most Active
              schrieb am zuletzt editiert von
              #6

              @wendy2702
              Danke - das waren logischerweise Phantasienummern ;-)

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              K 2 Antworten Letzte Antwort
              0
              • CodierknechtC Codierknecht

                @wendy2702
                Danke - das waren logischerweise Phantasienummern ;-)

                K Offline
                K Offline
                Klausimausi
                schrieb am zuletzt editiert von
                #7

                @codierknecht
                Danke ! Jetzt wird es klarer. Mal sehen ob ich das so in mein Script kriege.
                MfG Klausimausi

                1 Antwort Letzte Antwort
                0
                • CodierknechtC Codierknecht

                  @wendy2702
                  Danke - das waren logischerweise Phantasienummern ;-)

                  K Offline
                  K Offline
                  Klausimausi
                  schrieb am zuletzt editiert von
                  #8

                  @codierknecht

                  Also für heute gebe ich es auf.
                  Ich habe die attachments erstmal entfernt um die Fehlermeldung zu eleminieren, weil es kein (img) hatte.
                  Dann läuft das script ohne fehler durch und zeigt im LOG auch "Nachricht versendet!" an.
                  Nur am Empfänger kommt nichts an.

                  MfG

                  CodierknechtC 1 Antwort Letzte Antwort
                  0
                  • K Klausimausi

                    @codierknecht

                    Also für heute gebe ich es auf.
                    Ich habe die attachments erstmal entfernt um die Fehlermeldung zu eleminieren, weil es kein (img) hatte.
                    Dann läuft das script ohne fehler durch und zeigt im LOG auch "Nachricht versendet!" an.
                    Nur am Empfänger kommt nichts an.

                    MfG

                    CodierknechtC Online
                    CodierknechtC Online
                    Codierknecht
                    Developer Most Active
                    schrieb am zuletzt editiert von
                    #9

                    @klausimausi
                    Du hast als number auch Deine Absendernummer eingetragen?

                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                    HmIP|ZigBee|Tasmota|Unifi
                    Zabbix Certified Specialist
                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                    K 1 Antwort Letzte Antwort
                    0
                    • CodierknechtC Codierknecht

                      @klausimausi
                      Du hast als number auch Deine Absendernummer eingetragen?

                      K Offline
                      K Offline
                      Klausimausi
                      schrieb am zuletzt editiert von Klausimausi
                      #10

                      @codierknecht
                      Ja. number ist die Absendenummer und mobileNumber als Zielnummer. Als message übergebe ich einen String mit Funktionsaufruf.

                      httpPost Agrumente habe ich mir mal im log anzeigen lassen:
                      url --> http://192.168.33.33:8085/v2/send
                      reqBody--> {message:'Hallo Test',number:'+49xxxxxxx3',recipients:'+49xxxxxxxx9'}

                      CodierknechtC 1 Antwort Letzte Antwort
                      0
                      • K Klausimausi

                        @codierknecht
                        Ja. number ist die Absendenummer und mobileNumber als Zielnummer. Als message übergebe ich einen String mit Funktionsaufruf.

                        httpPost Agrumente habe ich mir mal im log anzeigen lassen:
                        url --> http://192.168.33.33:8085/v2/send
                        reqBody--> {message:'Hallo Test',number:'+49xxxxxxx3',recipients:'+49xxxxxxxx9'}

                        CodierknechtC Online
                        CodierknechtC Online
                        Codierknecht
                        Developer Most Active
                        schrieb am zuletzt editiert von
                        #11

                        @klausimausi
                        Die Empfängernummer ist ein Array?

                        recipients:['+49xxxxxxxx9']
                        

                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                        HmIP|ZigBee|Tasmota|Unifi
                        Zabbix Certified Specialist
                        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                        K 1 Antwort Letzte Antwort
                        0
                        • CodierknechtC Codierknecht

                          @klausimausi
                          Die Empfängernummer ist ein Array?

                          recipients:['+49xxxxxxxx9']
                          
                          K Offline
                          K Offline
                          Klausimausi
                          schrieb am zuletzt editiert von
                          #12

                          @codierknecht
                          Yes ! Das Script sendet nun die Message. Im Log erhalte ichnun allerdings eine Fehlermeldung:

                          error httpPost(url=http://192.168.33.33:8085/v2/send, error=timeout of 2000ms exceeded)
                          error timeout of 2000ms exceeded)

                          Puh
                          MfG

                          CodierknechtC 1 Antwort Letzte Antwort
                          0
                          • K Klausimausi

                            @codierknecht
                            Yes ! Das Script sendet nun die Message. Im Log erhalte ichnun allerdings eine Fehlermeldung:

                            error httpPost(url=http://192.168.33.33:8085/v2/send, error=timeout of 2000ms exceeded)
                            error timeout of 2000ms exceeded)

                            Puh
                            MfG

                            CodierknechtC Online
                            CodierknechtC Online
                            Codierknecht
                            Developer Most Active
                            schrieb am zuletzt editiert von
                            #13

                            @klausimausi

                            httpPost(url, reqBody, {timeout: 5000}, (error) => {
                            

                            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                            HmIP|ZigBee|Tasmota|Unifi
                            Zabbix Certified Specialist
                            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                            K 1 Antwort Letzte Antwort
                            0
                            • CodierknechtC Codierknecht

                              @klausimausi

                              httpPost(url, reqBody, {timeout: 5000}, (error) => {
                              
                              K Offline
                              K Offline
                              Klausimausi
                              schrieb am zuletzt editiert von
                              #14

                              @codierknecht
                              Geschafft. Jetzt geht es! Nochmal ei dickes Lob!
                              MfG

                              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

                              824

                              Online

                              32.4k

                              Benutzer

                              81.5k

                              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