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. SmS oder Anruf

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

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

SmS oder Anruf

Geplant Angeheftet Gesperrt Verschoben Ungelöst JavaScript
javascript
54 Beiträge 10 Kommentatoren 5.4k Aufrufe 9 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.
  • padrinoP padrino

    @ulistermclane sagte in SmS oder Anruf:

    @padrino Das ist nicht kompliziert; dafür gibt es auch ein npm Modul namens serialport-gsm hier Hab ich in Verwendung um damit zu steuern und Alarme übermittelt zu bekommen. Dazu nutze ich eines er bekannten China-Telefonmodule (SIM800)

    Nicht kompliziert? Das kommt auf die Ahnung an, die man hat. ;)

    Bei mir scheitert es schon an der Installation. :(

    Hab es versucht mit

    npm install serialport-gsm

    gab ein paar Warnungen, aber dann war wohl was installiert...

    Also mal das Beispiel im JS adapter eingeben, und das ist schon gescheitert.

    Ausgabe:
    Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/serialport-gsm'

    Also mal geschaut, dort liegt bei mir auch nix, denn jenes "node_modules" hat nur zwei (andere) Unterverzeichnisse.

    Weiter gesucht, gefunden, dass es wohl da ist:
    /home/pi/node_modules/serialport-gsm

    Und damit ist mein Wissen bzgl "X" auch schon ausgereizt... :-/

    CU,
    padrino

    DutchmanD Online
    DutchmanD Online
    Dutchman
    Developer Most Active Administrators
    schrieb am zuletzt editiert von
    #28

    @padrino sagte in SmS oder Anruf:

    npm install serialport-gsm
    gab ein paar Warnungen, aber dann war wohl was installiert...

    bitte log ausgabe ;)

    @padrino sagte in SmS oder Anruf:

    Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/serialport-gsm'

    er kann das Modul nicht finden

    ich denke mal du hast den Installationsbefehl im falschen Verzeichnis ausgeführt, trage das Modul doch bitte einfach mal im JS Adapter ein das braucht man nicht auf der Console zu machen.
    Im log solltest du dann sehen das er es installiert.

    1 Antwort Letzte Antwort
    0
    • padrinoP Online
      padrinoP Online
      padrino
      Most Active
      schrieb am zuletzt editiert von padrino
      #29

      Also, ich hab gesehen, dass ich wohl auch noch node-pdu brauche.

      Nachdem das sich beim install wegen root beschwert hat, habe ich es noch mit sudo probiert...

      Habe leider keinen Plan, wo ich ein log herbekommen. :((

      Denke, alles wurde installiert, bis auf ein paar "optional dependency warnings"...

      Gebe ich als script ein

      let serialportgsm = require('serialport-gsm')
      
      serialportgsm.list((err, result) => {
          console.log(result)
      })
      

      kommt nur

      Log
      22:20:53.094	[info]	javascript.0 Stop script script.js.common.js_test
      22:20:53.135	[info]	javascript.0 Start javascript script.js.common.js_test
      22:20:53.137	[info]	javascript.0 script.js.common.js_test: registered 0 subscriptions and 0 schedules
      22:20:53.291	[info]	javascript.0 script.js.common.js_test: [object Object],[object Object],[object Object]
      
      DutchmanD 1 Antwort Letzte Antwort
      0
      • padrinoP padrino

        Also, ich hab gesehen, dass ich wohl auch noch node-pdu brauche.

        Nachdem das sich beim install wegen root beschwert hat, habe ich es noch mit sudo probiert...

        Habe leider keinen Plan, wo ich ein log herbekommen. :((

        Denke, alles wurde installiert, bis auf ein paar "optional dependency warnings"...

        Gebe ich als script ein

        let serialportgsm = require('serialport-gsm')
        
        serialportgsm.list((err, result) => {
            console.log(result)
        })
        

        kommt nur

        Log
        22:20:53.094	[info]	javascript.0 Stop script script.js.common.js_test
        22:20:53.135	[info]	javascript.0 Start javascript script.js.common.js_test
        22:20:53.137	[info]	javascript.0 script.js.common.js_test: registered 0 subscriptions and 0 schedules
        22:20:53.291	[info]	javascript.0 script.js.common.js_test: [object Object],[object Object],[object Object]
        
        DutchmanD Online
        DutchmanD Online
        Dutchman
        Developer Most Active Administrators
        schrieb am zuletzt editiert von Dutchman
        #30

        @padrino sagte in SmS oder Anruf:

        Gebe ich als script ein
        let serialportgsm = require('serialport-gsm') serialportgsm.list((err, result) => { console.log(result) })

        mach mal

        console.log(JSON.stringify(result))
        
        1 Antwort Letzte Antwort
        0
        • padrinoP Online
          padrinoP Online
          padrino
          Most Active
          schrieb am zuletzt editiert von
          #31
          2019-02-20 23:05:23.487 - error: javascript.0 script.js.common.js_test: script.js.common.js_test:1
          2019-02-20 23:05:23.487 - error: javascript.0 console.log(JSON.stringify(result))
          2019-02-20 23:05:23.488 - error: javascript.0 ^
          2019-02-20 23:05:23.488 - error: javascript.0 ReferenceError: result is not defined
          2019-02-20 23:05:23.488 - error: javascript.0 at script.js.common.js_test:1:28
          2019-02-20 23:05:23.489 - error: javascript.0 at ContextifyScript.Script.runInContext (vm.js:59:29)
          
          DutchmanD 1 Antwort Letzte Antwort
          0
          • padrinoP padrino
            2019-02-20 23:05:23.487 - error: javascript.0 script.js.common.js_test: script.js.common.js_test:1
            2019-02-20 23:05:23.487 - error: javascript.0 console.log(JSON.stringify(result))
            2019-02-20 23:05:23.488 - error: javascript.0 ^
            2019-02-20 23:05:23.488 - error: javascript.0 ReferenceError: result is not defined
            2019-02-20 23:05:23.488 - error: javascript.0 at script.js.common.js_test:1:28
            2019-02-20 23:05:23.489 - error: javascript.0 at ContextifyScript.Script.runInContext (vm.js:59:29)
            
            DutchmanD Online
            DutchmanD Online
            Dutchman
            Developer Most Active Administrators
            schrieb am zuletzt editiert von
            #32

            @padrino

            hast du

            console.log(JSON.stringify(result))
            

            oder

            let serialportgsm = require('serialport-gsm')
             
            serialportgsm.list((err, result) => {
                console.log(JSON.stringify(result))
            })
            

            gemacht ? :wink:

            padrinoP 1 Antwort Letzte Antwort
            -1
            • DutchmanD Dutchman

              @padrino

              hast du

              console.log(JSON.stringify(result))
              

              oder

              let serialportgsm = require('serialport-gsm')
               
              serialportgsm.list((err, result) => {
                  console.log(JSON.stringify(result))
              })
              

              gemacht ? :wink:

              padrinoP Online
              padrinoP Online
              padrino
              Most Active
              schrieb am zuletzt editiert von padrino
              #33

              Sorry, aber ich hab Null Ahnung von JS - kann nur Blockly :(

              @Dutchman sagte in SmS oder Anruf:

              @padrino

              hast du

              let serialportgsm = require('serialport-gsm')
               
              serialportgsm.list((err, result) => {
                  console.log(JSON.stringify(result))
              })
              

              gemacht ? :wink:

              03:08:43.402
              [info]
              javascript.0 script.js.common.Skript3: [{"comName":"/dev/ttyAMA0"},{"manufacturer":"Nokia","pnpId":"usb-Nokia_Nokia_6230i-if01","vendorId":"0421","productId":"0428","comName":"/dev/ttyACM0"},{"manufacturer":"1a86","pnpId":"usb-1a86_USB2.0-Serial-if00-port0","vendorId":"1a86","productId":"7523","comName":"/dev/ttyUSB0"}]
              
              1 Antwort Letzte Antwort
              0
              • DutchmanD Online
                DutchmanD Online
                Dutchman
                Developer Most Active Administrators
                schrieb am zuletzt editiert von
                #34

                sieht sehr gut als, also die comunication steht !

                jetzt muss man weitermachen met den code Senden/empfangen ich wurde gerne helfen (die NPM binare ist eigentlich sehr gut dokumentiert).
                Ohne hardware aber schwer so :/

                da du jetzt Port usw hast kan man die Initialisierung starten und anfangen zu kommunizieren laut docs auf NPM :

                https://www.npmjs.com/package/serialport-gsm

                Hmm, also entweder hardware oder mit teamvieler zusammen setzen waehre hier das meist effiziente.

                padrinoP 1 Antwort Letzte Antwort
                0
                • apollon77A Offline
                  apollon77A Offline
                  apollon77
                  schrieb am zuletzt editiert von
                  #35

                  Das klingt nach perfekter Basis für einen Adapter ... Falls einer da starten will: Unterstütze gern :-)
                  Warum gabs die Lib noch schon früher ;)

                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                  1 Antwort Letzte Antwort
                  0
                  • DutchmanD Online
                    DutchmanD Online
                    Dutchman
                    Developer Most Active Administrators
                    schrieb am zuletzt editiert von
                    #36

                    Na also 2 erfahrene die helfen wollen wann geht's los 😉

                    1 Antwort Letzte Antwort
                    0
                    • DutchmanD Dutchman

                      sieht sehr gut als, also die comunication steht !

                      jetzt muss man weitermachen met den code Senden/empfangen ich wurde gerne helfen (die NPM binare ist eigentlich sehr gut dokumentiert).
                      Ohne hardware aber schwer so :/

                      da du jetzt Port usw hast kan man die Initialisierung starten und anfangen zu kommunizieren laut docs auf NPM :

                      https://www.npmjs.com/package/serialport-gsm

                      Hmm, also entweder hardware oder mit teamvieler zusammen setzen waehre hier das meist effiziente.

                      padrinoP Online
                      padrinoP Online
                      padrino
                      Most Active
                      schrieb am zuletzt editiert von
                      #37

                      @Dutchman

                      Für jemanden, der JavaScript kann, sicher nicht schwer, aber ich weiß ja nicht einmal, an welche Syntax ich mich halten muss, damit es überhaupt gültiger JS Code ist. :(
                      Von daher denke ich, das wird leider nix für mich.
                      Bräuchte quasi ein Gerüst in dem ich nur Werte eintragen brauche, da würde ich evtl. verstehen.

                      Aber die Code fetzen auf der Webseite erzeugen ja kein funktionierendes Programm.
                      Und wenn ich die versuche irgend im JS Editor zu pasten mit let oder ohne, oder eine "Rahmen", dann zeigt der mir nur, dass da kein JS code ist, mit "X". :(

                      Ich guck mal noch ein paar mal drüber, vielleicht tut sich ja noch was in meinem Oberstübchen...

                      Dank Dir trotzdem!

                      CU,
                      Mario

                      1 Antwort Letzte Antwort
                      0
                      • DutchmanD Online
                        DutchmanD Online
                        Dutchman
                        Developer Most Active Administrators
                        schrieb am zuletzt editiert von
                        #38

                        tja die Code fetzen sind schon gut, da ist die basis drin nur jetzt muss es nach Variablen und interne logic (also bissle JS und ioBroker Erfahrung)

                        hmja was ich anbieten kan ist zusammen dran sitzen, da ich das gerät nicht habe ist es sonst code kloppen im dunkeln

                        1 Antwort Letzte Antwort
                        0
                        • padrinoP Online
                          padrinoP Online
                          padrino
                          Most Active
                          schrieb am zuletzt editiert von padrino
                          #39

                          Also, sollte mal ein Adapter kommen, bin ich gerne bereit durch Testen und Log zu helfen, aber mehr kann ich dazu leider nicht beitragen. :(
                          Auch wenn ich eigentlich keinen ganzen Adpter bräucht. ;)

                          Mein Ziel wäre, mir eine SM zu schicken, dann wäre ich wohl schon happy - zumindest für den Moment. :D

                          Schauen wir uns mal den Codefetzen (ich weiß, die ersten beiden Zeilen sind kein Code =))

                          Get Sim Inbox
                          
                          Shows messages of sim inbox
                          
                          modem.getSimInbox(callback)
                          

                          an. Steht ja nicht viel drin. ;)
                          Wie verpackt man das?
                          Aus Deinem

                          let serialportgsm = require('serialport-gsm')
                          
                           
                          
                          serialportgsm.list((err, result) => {
                          
                              console.log(JSON.stringify(result))
                          
                          })
                          
                          let serialportgsm = require('serialport-gsm')
                          
                          modem.getSimInbox(callback)
                          
                          })
                          

                          machen geht schonmal nicht.

                          Daran siehst Du auch, wie wenig ich mit JS auskenne. :flushed:

                          Ich denke, wenn mal ein Gerüst steht, dann sollte es in Blockly mit Function (oder so ;)) schon auch mir möglich sein, ein paar aus Variablen gefühlte Parameter zu übergeben. ;)

                          1 Antwort Letzte Antwort
                          0
                          • DutchmanD Online
                            DutchmanD Online
                            Dutchman
                            Developer Most Active Administrators
                            schrieb am zuletzt editiert von
                            #40

                            @Dutchman sagte in SmS oder Anruf:

                            https://www.npmjs.com/package/serialport-gsm

                            in der basis (also hinter // sind Kommentare !)

                            // Hiermit laden wir die externe library/npm Modul das machen wir nur einmal !
                            let serialportgsm = require('serialport-gsm')
                            
                            // Dieser code sorgt dafür das du eine Übersicht bekommst (wie du bereits hattest) mit dem Port usw. 
                            serialportgsm.list((err, result) => {
                                console.log(JSON.stringnifyresult)
                            })
                            
                            // Dan fangen wir jetzt an mit dem Modem zu reden
                            let modem = serialportgsm.Modem()
                            let options = {
                                baudRate: 115200,
                                dataBits: 8,
                                parity: 'none',
                                stopBits: 1,
                                flowControl: false,
                                xon: false,
                                rtscts: false,
                                xoff: false,
                                xany: false,
                                autoDeleteOnReceive: true,
                                enableConcatenation: true,
                                incomingCallIndication: true
                            }
                             
                            modem.open('COM', options, callback[Optional])
                            
                            // dafür muss es initialisiert werden (Modem.on Heist hier reagieren auf Ereignisse in der variable Modem
                            modem.on('open', data => {
                                modem.initializeModem(callback[optional])
                            
                            })
                            
                            // Jetzt sollte es möglich sein so eine SMS zu schicken mit dem text " Hello there Zab!" !
                            modem.sendSMS('63999XXXXX19', 'Hello there Zab!', true, callback)
                            
                            

                            bringt dich das fuer den Anfang weiter ?

                            1 Antwort Letzte Antwort
                            0
                            • padrinoP Online
                              padrinoP Online
                              padrino
                              Most Active
                              schrieb am zuletzt editiert von
                              #41

                              Leider nicht wirklich.

                              Also, erst mal habe ich den letzten Befehl durch einen "sicheren" ersetzt, zum Testen für mich besser. ;)

                              modem.getSimInbox(callback)
                              

                              Das Ergebnis:

                              19:08:12.888	[info]	javascript.0 Stop script script.js.common.Skript3
                              19:08:12.941	[info]	javascript.0 Start javascript script.js.common.Skript3
                              19:08:12.942	[error]	javascript.0 script.js.common.Skript3: script.js.common.Skript3:51
                              19:08:12.942	[error]	javascript.0 at script.js.common.Skript3:51:28
                              19:08:13.126	[info]	javascript.0 script.js.common.Skript3: undefined
                              

                              Dann mal Zeile 51 auskommentiert, dann Zeile 70 auskommentiert...
                              Ergebnis:

                              19:12:13.273	[info]	javascript.0 Stop script script.js.common.Skript3
                              19:12:13.320	[info]	javascript.0 Start javascript script.js.common.Skript3
                              19:12:13.321	[info]	javascript.0 script.js.common.Skript3: registered 0 subscriptions and 0 schedules
                              19:12:13.447	[info]	javascript.0 script.js.common.Skript3: undefined
                              

                              Seltsamerweise spuckt der Teil

                              let serialportgsm = require('serialport-gsm')
                              
                               
                              
                              // Dieser code sorgt dafür das du eine Übersicht bekommst (wie du bereits hattest) mit dem Port usw. 
                              
                              serialportgsm.list((err, result) => {
                              
                                  console.log(JSON.stringnifyresult)
                              
                              })
                              

                              nun gar nix mehr aus. Nehm ich den Code alleine (aus Deinem ersten Hinweis), dann kommt wieder die Ausgabe.

                              Weitere Vermutungen meinerseits, später da wo 'COM' steht '/dev/ttyAMA0' reinschreiben... aber so weit isses noch nicht. =)

                              1 Antwort Letzte Antwort
                              0
                              • padrinoP Online
                                padrinoP Online
                                padrino
                                Most Active
                                schrieb am zuletzt editiert von padrino
                                #42

                                Bin zwar noch nicht weiter, aber immerhin weiß ich jetzt, wieso er mit dem großen Skript, gar nix mehr ausspuckt. =)

                                Zeile 6 hat einen Tippfehler: console.log(JSON.stringnifyresult) sollte console.log(JSON.stringnify(result)) sein (mit einer "()" um "result").

                                Dann mal weiter gucken...

                                DutchmanD 1 Antwort Letzte Antwort
                                0
                                • padrinoP padrino

                                  Bin zwar noch nicht weiter, aber immerhin weiß ich jetzt, wieso er mit dem großen Skript, gar nix mehr ausspuckt. =)

                                  Zeile 6 hat einen Tippfehler: console.log(JSON.stringnifyresult) sollte console.log(JSON.stringnify(result)) sein (mit einer "()" um "result").

                                  Dann mal weiter gucken...

                                  DutchmanD Online
                                  DutchmanD Online
                                  Dutchman
                                  Developer Most Active Administrators
                                  schrieb am zuletzt editiert von
                                  #43

                                  @padrino sagte in SmS oder Anruf:

                                  Zeile 6 hat einen Tippfehler: console.log(JSON.stringnifyresult) sollte console.log(JSON.stringnify(result) sein (mit einer "(" vor dem "result").

                                  :skull_and_crossbones: :white_frowning_face: sorry mein Fehler !

                                  1 Antwort Letzte Antwort
                                  0
                                  • padrinoP Online
                                    padrinoP Online
                                    padrino
                                    Most Active
                                    schrieb am zuletzt editiert von padrino
                                    #44

                                    Ist doch nicht schlimm. :)

                                    Bin doch froh, dass Du mir überhaupt zu helfen versucht hast.

                                    1 Antwort Letzte Antwort
                                    0
                                    • padrinoP Online
                                      padrinoP Online
                                      padrino
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #45

                                      Hoppla...

                                      "/dev/ttyAMA0" hier einzutragen

                                      modem.open('/dev/ttyAMA0', options);

                                      war wohl keine gute Idee.
                                      JS Adapter steigt im RAM Verbrauch schrittweise bis auf 700MB, dann stürtzt er ab und startet neu. :D

                                      Naja, ich denke, ich lasse jetzt einfach mal und warte/hoffe, dass irgendwann ein Adapter kommt. :relieved:

                                      1 Antwort Letzte Antwort
                                      0
                                      • DutchmanD Online
                                        DutchmanD Online
                                        Dutchman
                                        Developer Most Active Administrators
                                        schrieb am zuletzt editiert von
                                        #46

                                        Was für ein Gerät ist das genau juckt mich jetzt so n Teil zu besorgen irgendwie

                                        1 Antwort Letzte Antwort
                                        0
                                        • padrinoP Online
                                          padrinoP Online
                                          padrino
                                          Most Active
                                          schrieb am zuletzt editiert von padrino
                                          #47

                                          Was ich versuche zum Laufen zu bringen?
                                          Ne, das findest Du nirgends. ;)
                                          Ich probiere das gerade mit meinem alten Handy Nokia 6230i (weil ich das Kabel fürs 6310i gerade nicht finde :joy: ).
                                          Ich vermute, ich werde mir mal das von @ulistermclane beschriebene SIM800 besorgen, obwohl ich eigentlich ja neue Hardware vermeiden will, wenn ich noch so einiges an Kram, der gehen sollte rumliegen habe. ;)

                                          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

                                          818

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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