NEWS
UNSOLVED SmS oder Anruf
-
hast du
console.log(JSON.stringify(result))
oder
let serialportgsm = require('serialport-gsm') serialportgsm.list((err, result) => { console.log(JSON.stringify(result)) })
gemacht ?
-
Sorry, aber ich hab Null Ahnung von JS - kann nur Blockly
@Dutchman sagte in SmS oder Anruf:
hast du
let serialportgsm = require('serialport-gsm') serialportgsm.list((err, result) => { console.log(JSON.stringify(result)) })
gemacht ?
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"}]
-
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 soda 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.
-
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 -
Na also 2 erfahrene die helfen wollen wann geht's los
-
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 -
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
-
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.
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 Deinemlet 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.
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.
-
@Dutchman sagte in SmS oder Anruf:
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 ?
-
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.
-
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...
-
@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").
sorry mein Fehler !
-
Ist doch nicht schlimm.
Bin doch froh, dass Du mir überhaupt zu helfen versucht hast.
-
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.Naja, ich denke, ich lasse jetzt einfach mal und warte/hoffe, dass irgendwann ein Adapter kommt.
-
Was für ein Gerät ist das genau juckt mich jetzt so n Teil zu besorgen irgendwie
-
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 ).
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. -
Bei Lidl gibts auch Mobilfunk Kram und da gibts einen daten Stick. Gehen auch andere. Muss nur normale sim Karte drin sein die sms kann.
-
Wie ich sagte, ich gebe ungern Geld für neue Sachen aus, wenn ich Kram hier habe, der gehen sollte. a) wegen des Geldes und b) weil es neuer Kram ist, der sich hier anhäuft.
Und da ist der 25 Euro Stick von LIDL keine Option für mich, so ein China GSM Modul für 5 Euro schon eher.
Aber ich hoffe ja, dass ich evtl. irgendwann eines meiner abgelegten Nokias doch noch dafür nutzen kann.
Das Projekt ist jetzt aber nicht so wichtig, hätte es problemlos funktioniert, wäre gut gewesen, tut es leider nicht, ist schade, möchte aber nicht damit noch mehr die Zeit anderer verschwenden.
Vor allem, wenn evtl. das Hauptproblem nur mein Unverständnis von JavaScript ist.... -
Hallo zusammen, hat jemand etwas im Bereich SMS Versand schon gemacht?
Ich hätte eine Kosten günstige Lösung was theoretisch auch machbar ist zudem währe man halt unabhängig vom Internet.Man könnte ein GSM Shild nehmen:https://www.ebay.de/itm/SIM800L-5V-GSM-GPRS-Module-includes-Antenna-Adapter-Supports-Quad-Band-RF-/293566759855?_trksid=p2385738.m4383.l4275.c10
Das ganze mit einem USB to TTL Adapter verbinden und im IOBroker JS Adapter über die Serielle Schnittstelle AT Befehle schicken.
SIM900.print("AT+IRP=9600")
void smssend() {
SIM900.println("AT+CMGF=1\r");
delay(100);
SIM900.println("AT + CMGS = "+nummer"");
delay(100);
SIM900.println("Fenster geoeffnet!!!");
delay(100);
SIM900.println((char)26);
delay(100);
SIM900.println();
delay(5000);Das wäre die Variante wenn man von einem Arduino eine SMS Schicken will. Wäre halt die frage ob da jemand helfen kann so etwas in ein JS Script mittels Serialport zu umwandeln.
-
@ThaBam said in SmS oder Anruf:
Hallo zusammen, hat jemand etwas im Bereich SMS Versand schon gemacht?
Ich hätte eine Kosten günstige Lösung was theoretisch auch machbar ist zudem währe man halt unabhängig vom Internet.Man könnte ein GSM Shild nehmen:https://www.ebay.de/itm/SIM800L-5V-GSM-GPRS-Module-includes-Antenna-Adapter-Supports-Quad-Band-RF-/293566759855?_trksid=p2385738.m4383.l4275.c10
Das ganze mit einem USB to TTL Adapter verbinden und im IOBroker JS Adapter über die Serielle Schnittstelle AT Befehle schicken.
SIM900.print("AT+IRP=9600")
void smssend() {
SIM900.println("AT+CMGF=1\r");
delay(500);
SIM900.println("AT + CMGS = "+nummer"");
delay(500);
SIM900.println("Fenster geoeffnet!!!");
delay(500);
SIM900.println((char)26);
delay(500);
SIM900.println();
delay(5000);Das wäre die Variante wenn man von einem Arduino eine SMS Schicken will. Wäre halt die frage ob da jemand helfen kann so etwas in ein JS Script mittels Serialport zu umwandeln.