Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. JS zum senden über "Dockerized Signal Messenger REST API"

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • Codierknecht
      Codierknecht Developer Most Active @Klausimausi last edited by

      @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 1 Reply Last reply Reply Quote 0
      • K
        Klausimausi @Codierknecht last edited by

        @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

        Codierknecht 1 Reply Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @Klausimausi last edited by wendy2702

          @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

          wendy2702 1 Reply Last reply Reply Quote 0
          • wendy2702
            wendy2702 @Codierknecht last edited by

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

            Codierknecht 1 Reply Last reply Reply Quote 1
            • Codierknecht
              Codierknecht Developer Most Active @wendy2702 last edited by

              @wendy2702
              Danke - das waren logischerweise Phantasienummern 😉

              K 2 Replies Last reply Reply Quote 0
              • K
                Klausimausi @Codierknecht last edited by

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

                1 Reply Last reply Reply Quote 0
                • K
                  Klausimausi @Codierknecht last edited by

                  @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

                  Codierknecht 1 Reply Last reply Reply Quote 0
                  • Codierknecht
                    Codierknecht Developer Most Active @Klausimausi last edited by

                    @klausimausi
                    Du hast als number auch Deine Absendernummer eingetragen?

                    K 1 Reply Last reply Reply Quote 0
                    • K
                      Klausimausi @Codierknecht last edited by 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'}

                      Codierknecht 1 Reply Last reply Reply Quote 0
                      • Codierknecht
                        Codierknecht Developer Most Active @Klausimausi last edited by

                        @klausimausi
                        Die Empfängernummer ist ein Array?

                        recipients:['+49xxxxxxxx9']
                        
                        K 1 Reply Last reply Reply Quote 0
                        • K
                          Klausimausi @Codierknecht last edited by

                          @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

                          Codierknecht 1 Reply Last reply Reply Quote 0
                          • Codierknecht
                            Codierknecht Developer Most Active @Klausimausi last edited by

                            @klausimausi

                            httpPost(url, reqBody, {timeout: 5000}, (error) => {
                            
                            K 1 Reply Last reply Reply Quote 0
                            • K
                              Klausimausi @Codierknecht last edited by

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

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              769
                              Online

                              31.9k
                              Users

                              80.1k
                              Topics

                              1.3m
                              Posts

                              3
                              14
                              370
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo