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.6k

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

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

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 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

                            338

                            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