message2action für Verarbeitung von eingehenden SMS und Mails (Serversteuerung)

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo an Alle,

    nachdem ich in diesem Forum schon einmal mein erstes Projekt sms2action vorgestellt habe, kommt nun der Nachfolger: messag2action.

    Warum ein Nachfolger zu sms2action? message2action kann nun nicht nur SMS verarbeiten sondern auch den Betreff von Mails, um Aktionen auf den Pi auszulösen. Es ist also etwas allgemeingültiger gehalten betreff den Nachrichten, die verarbeitet werden können.
    Um Mails regelmässig abzuholen, benutze ich fetchmail und lasse die Mails als Textdatei in einem Verzeichnis ablegen. Wenn eine Mail rausgehen soll, wird diese in einem anderen Verzeichnis abgelegt und ich lasse diese dann mit ssmtp versenden.
    Beide Pakete (fetchmail und ssmtp) muss man also selbst installieren und einrichten. Mit entsprechenden service- und timer-Dateien kann ich systemd nutzen, um regelmässig Mails abzuholen und zu versendende Mails auch zu verschicken. Beispieldateien für systemd habe ich in dem Archiv mit abgelegt.
    Ich nutze eine Mailadresse, die nur für den Zweck eingerichtet wurde, damit mein Pi von dort Kommandos bekommt und Antworten über diese Mailadresse an den eigentlichen Absender zurücksendet.
    Soll heißen, ich kann zum Beispiel von einem anderem Account aus eine Status-Anfrage an den Pi senden und ich erhalte auch an die Mailadresse die Antwort zurück, von der ich gesendet habe.
    Über die ini-Datei kann ich 10 gültige Mailadressen angeben, von denen aus der Pi Anfragen akzeptiert.
    Es gibt eine recht ausführliche Dokumentation in Text- und PDF-Format, in der ich alle Eigenschaften von message2action beschrieben habe. Die Textdatei habe ich hier mit eingebaut.
    Auch den Quellcode in C habe ich hier eingebaut:

    Das gesamte Paket habe ich als tar-Archiv in meiner Magenta Cloud abgespeichert.
    Das tar-Archiv enthält auch Beispieldateien für Mails und SMS, mit denen man das Programm testen kann. Dazu ist weder ein Surfstick, SIM-Karte noch der erwähnte Mailaccount erforderlich.

    Als weiteren Kanal zum Emfpangen und Senden von Nachrichten an den Pi plane ich Telegram zu integrieren.

    Über Feedback und Anregungen zu meinem Programm würde ich mich freuen.

  • message2action für Verarbeitung von eingehenden SMS und Mails (Serversteuerung)? Schau mal ob du hier fündig wirst!

  • Hallo peuler,
    das hört sich sehr sehr interessant und gut an. Besonders die Integration von Telegram fände ich spannend. War neulich auf der Suche nach einer "Software" die so etwas kann. Bleibe da bitte am Ball.
    Sehr guter Post!!!

    Das wird abonniert!!!

    Grüße

  • Danke für das Lob und die Motivation.
    Bin schon seit einigen Wochen am Spielen mit Telegram, um eine dateibasierte Schnittstelle aufzubauen, die so ähnlich wie Mails und SMS funktioniert.
    Wenn ich eine neue Version von message2action fertig habe, poste ich das hier gerne wieder. Das wird aber ein paar Monate dauern.

  • Habe eben eine neue Version meines Programms in meine Magenta Cloud hochgeladen, wo sich ein Archiv mit dem Programm und auch eine Dokumentation hinterlegt ist (habe ich hier angehängt). Das Programm kann nun auch Nachrichten eines Telegram-Bots interpretieren und auch an den Telegram-Bot antworten. In diesem Tutorial ist die Schnittstelle beschrieben, die Textdateien nutzt und die ich auch mit meinem Programm verwende.

    Feedback und Anregungen sind willkommen.

  • Hallo,

    ich schaff es nicht message2action.service active zu bekommen.
    Wenn ich mit systemctl list-units --all einen Abruf mache, finde ich zwar message2action.service aber da steht dann Loaded Inactiv.

    Ich hab dein Skript verwendet und auch die enables aktiviert.

    Was mach ich falsch? Oder ist das eh normal?

    Bin auf jeden Fall total froh, dein Programm gefunden zu haben, ist genau das was ich gesucht habe!

    Danke

    Ciao

    Michael

    2 Mal editiert, zuletzt von dinkel1975 (18. Dezember 2017 um 10:10)

  • Zu Post #9:

    Kann es sein, dass Du nach dem Installieren keinen Neustart des Pi ausgeführt hast? Danach müsste der Service message2action von alleine starten.

    Aber Du kannst auch den Service manuell starten:

    Code
    sudo systemctl start message2action

    Um nur den Status dieses Service zu ermitteln, kannst Du einfach dies aufrufen:

    Code
    sudo systemctl status message2action

    Vermutlich hast Du die Pfade zu den Dateien für die Verarbeitung von SMS, Mail und Telegram noch nicht eingerichtet und deswegen beendet sich das Programm sofort wieder. Das kannst Du auch im Logfile message2action.log nachlesen (dort werden Fehler in der Konfiguration mitgeschrieben). Um die korrekte Konfiguration zu prüfen, einfach dies eingeben:

    Code
    ./message2action config

    Wenn die Ini-Datei message2action.ini korrekte Werte enthält, dann wird die gesamte Konfiguration auch ausgegeben und das Programm sollte auch starten.

  • Danke für die rasche Antwort!

    Email und Telegram hab ich zar installiert aber sonst sind die 2 noch nicht in Verwendung.

    Kann ich in der ini die Pfade zu diesen Diensten blocken?

    Danke fürs Helfen!

  • Zu Post #9:

    Du kannst in der Ini-Datei die Pfade auskommentieren, dann werden sie nicht mit Werten belegt. Wenn Du im Laufe des Programms versuchst, auf die Pfade zuzugreifen (oder durch neuen Aufruf des Programms), dann wird es enden und eine entsprechende Fehlermeldung ausgeben und in das Logfile schreiben. Aber ich würde die Pfade korrekt in der Ini-Datei konfigurieren.

  • Ich habs jetzt geschafft.
    Log File zeigt mir, das alle 2 Sekunden abgefragt wird.

    Wenn ich mir jetzt SMS mit "status" schicke passiert aber leider nichts.

    Meine Nummer hab ich in der ini eingetragen.

    Die SMS kommt auch in dem SMS Server Ordner an und hat die Bezeichnung GSM1.***

    Mit deinem Testfile hab ichs auch ausprobiert - leider nix.

    Was kann ich noch falsch gemacht haben?

    Einmal editiert, zuletzt von dinkel1975 (18. Dezember 2017 um 21:08)

  • Naja - lesen sollt man können - DANKE!

    Die SMS werden jetzt ausgewertet.

    Auf "status" habe ich jedoch keine SMS zurückerhalten - aber das muss ich noch kontrollieren.

    Wenn ich mit einer falschen Rufnummer "status" schicke, bekomme ich Mitteilung "invalid number" :)

    Leider keine Reaktion auf CMD00 - dort hab ich ein .sh eingetragen.

    Wenn ich dieses .sh File normal aufrufe funktioniert es :(

    Im log File steht unknown command.

    Gleichzeitig auf SMS und Telegram zu hören ist nicht möglich?

    3 Mal editiert, zuletzt von dinkel1975 (19. Dezember 2017 um 09:55)

  • Betreff dem Kommando CMD00:

    In der Ini-Datei muss der komplette Pfad zum Programm/Shell-Skript angegeben werden. Wahrscheinlich hast Du nur den Namen angegeben; siehe Kapitel 5.6 letzter Absatz.

    Betreff SMS und Telegram gleichzeitig:

    Nein, das geht aktuell nicht. Ich bin aber am Überlegen, dies zu implementieren. Als Übergangslösung kannst Du versuchen, 2 mal das Programm (also in 2 Fenstern/Sessions) zu starten mit unterschiedlichen Parametern. Einzig die Logfunktion könnte auf die Nase fallen, wenn beide Programme gleichzeitig in die Log-Datei schreiben wollen. Wenn Du bei einem Start auf das Logging verzichtest, dann sollte es jetzt schon klappen.

  • In meinen SMS von sms server tools habe ich unter IMSI noch eine IMEI Zeile (weiß auch nicht wo die herkommt).

    Deswegen wird dein Programm den Befehl nicht finden.

    Kannst du mir verraten, wo ich das anpasse, dass das Kommande 1 Zeile tiefer steht?

    Bitte entschuldige aber ich schaffts auch nicht den Comiler zum Laufen zu bringen:

    Ich bin im message2action Verzeichnis und gebe den Befehl gcc -g –Wall -Wextra -o message2action message2action.c -lpthread ein.

    Dann bekomm ich Fehlermeldung im Raspberry: gcc: error: –Wall: Datei oder Verzeichnis nicht gefunden

    Ich find da leider nichts im google, mit dem ich da etwas anfange.

    Gelöst: siehe https://stackoverflow.com/questions/2168…-directory-in-c

    Vielen Dank!

    3 Mal editiert, zuletzt von dinkel1975 (19. Dezember 2017 um 16:30)

  • Es sieht so aus, dass das Feld IMEI seit der Version 3.1.16 der SMS Server Tools in der SMS-Datei zusätzlich auftaucht. Da ich selbst seit Monaten keine SMS mehr verarbeitet habe, weil ich mit der Integration von Telegram beschäftigt bin, ist mir das selbst nicht aufgefallen. Das muss ich noch verifizieren und das kann bis zum Wochenende dauern. Ich melde mich wieder mit neuen Ergebnissen.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!