E-Mail Benachrichtigung und Signalton bei Dateiupload über Netzwerkpfad

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Robi66

Benutzer
Registriert
27. Mai 2023
Beiträge
6
Reaktionspunkte
0
Punkte
1
Hallo zusammen,

ich habe zu Hause einen ScanSnap Scanner von Fujtisu. Dieser wird genutzt, um meine Unterlagen zu digitalisieren. Dazu werden die gescannten Unterlagen direkt in einen freigegebenen Ordner auf meinem NAS 920+ gespeichert, dies funktioniert auch einwandfrei. Nun ist mein Problem, dass ich gerne eine Benachrichtigung per E-Mail und ein Signalton vom NAS bekommen möchte, sobald eine neue Datei in diesem Ordner erstellt wird, dies würde mir die Bestätigung geben, dass der Scanvorgang erfolgreich abgeschlossen ist. Gibt es irgendwie eine Möglichkeit? Ich wäre über jede Hilfe dankbar!

Mit freundlichen Grüßen Robi
 
Vielleicht findest du hier einige Tipps.
 
Herzlich willkommen hierim Forum, @Robi66 :)

Nutzt du eine Form der Nachbearbeitung auf dem NAS?
Im Fall von synOCR kann man das NAS nach Fertigstellung der Datei piepen lassen. Seit der aktuellen Beta kann man z.B. auch E-Mails und andere Benachrichtigungen schicken lassen.
 
Herzlich willkommen hierim Forum, @Robi66 :)

Nutzt du eine Form der Nachbearbeitung auf dem NAS?
Im Fall von synOCR kann man das NAS nach Fertigstellung der Datei piepen lassen. Seit der aktuellen Beta kann man z.B. auch E-Mails und andere Benachrichtigungen schicken lassen.
Hey,

vielen Dank für die schnelle Antwort!

Ich würde mich gerne mit synOCR beschäftigen, hast du zufällig einen Link wie ich die aktuelle Beta installieren kann und die Funktion mit der E-Mail einstellen kann?

Und zum Thema Nachbearbeitung, die ScanSnap App von Fujitsu macht die komplette Nachbearbeitung.
 
  • Beta findest du HIER
  • Die E-Mail Benachrichtigung ist in dem entsprechenden Feld in der synOCR-GUI einzutragen. Es lässt sich aber keine pauschale Aussage dazu machen, weil es auf den Provider drauf ankommt.
    Guck mal HIER
    Für meinen Provider sieht es so aus:
    mailtos://USER:PASSWORD@DOMAIN:587?to=empfaenger@example.com
Und zum Thema Nachbearbeitung, die ScanSnap App von Fujitsu macht die komplette Nachbearbeitung.
Aber wahrscheinlich nur über den PC oder Cloud, oder?
 
Hey, ich habe es so aufgebaut.

Ich habe einen Fujitsu ScanSnap IX1300 und beim Scannen werden die Unterlagen an eine virtuelle Maschine geschickt, welche auch auf dem NAS läuft, auf der Maschine läuft die hauseigene Software von Fujitsu zur nachbereitung. Nachdem die Nachbereitung abgeschlossen ist, wird das Dokument in dem gewünschten Laufwerk auf dem NAS gespeichert.

Also kleines Fazit: Ich habe eine VM mit Windows 7 Home, da es am wenigstens Ressourcen frisst und dort läuft 24/7 mein Mail Programm und die Software von Fujitsu.
 
Zuletzt bearbeitet von einem Moderator:
Da wäre ja synOCR nur für die Benachrichtigung etwas doppeltgemoppelt … 🤷‍♂️
Das ist immer schade, dass die meisten ScanSnap Scanner nicht direkt auf das NAS scannnen können.
 
@geimist

Ich habe es aber richtig verstanden, ich kann mir mit synOCR diese E-Mail Benachrichtigung schicken lassen? Kannst du mir vielleicht ein Video machen, wie das eingerichtet wird? Ich muss sagen mein Englisch ist nicht das beste und diese ganzen Foren sind für mich andere Welten..
 
Für meinen Provider sieht es so aus:
mailtos://USER:PASSWORD@DOMAIN:587?to=empfaenger@example.com
Kannst du mir nochmal erklären, wie das funktionieren soll? Ich habe jetzt SynOCR installiert und unter dem Punkt DSM Benachrichtung -> Apprise Benachrichtungs URL versucht das einzupflegen, aber es funktioniert nicht. Ich bin beim E-Mail-Provider Gmail.
 
Ich wollte dir noch auf die PN antworten, indem ich dir das als eigenständiges Skript bereitstellen wollte.

Vorweg: für Gmail muss man ein Appkennwort erstellen.
 
  • Like
Reaktionen: Robi66
So, hier eine reine Ordnerüberwachung:
  1. Erstelle ein App-Passwort für dein Google-Mail
    https://security.google.com/settings/security/apppasswords
    https://support.google.com/accounts/answer/185833
  2. Lade dieses SPK (Inotify-Tools) und installiere es im DSM im PaketZentrum
  3. Speichere und entpacke das Skript auf deinem NAS
  4. Passe im Skript folgende Werte an:
    1. E-Mail Einstellungen anpassen (hier für GMail):
      apprise_call="mailto://USERNAME:APP-PASSWORD@gmail.com"
    2. Der zu überwachende Ordner als absoluten Pfad:
      watchFolder="/volume3/documents/input"
  5. kopiere den Pfad des Skripts und erstelle im Aufgabenplaner ein benutzerdefiniertes Skript
    ➜ Öffne dazu im DSM die Systemsteuerung
    • Aufgabenplaner
    • Schaltfläche Erstellen
    • geplante Aufgabe
    • Benutzerdefiniertes Skript
    ➜ Registerkarte "Allgemein":
    • Benutzer root
    • ein beliebiger Name unter Vorgang
    • Haken bei aktiviert
    ➜ Registerkarte "Zeitplan":
    • hier gewünschtes Intervall (z.B. stündlich)
    ➜ Registerkarte "Aufgabeneinstellung":
    • hier den kopierten Pfad zum Skript hineinkopieren:
    • /bin/bash /volume1/PFAD/DirMon.sh start
Um die Überwachung zu beenden das Gleiche mit diesem Aufruf:
/bin/bash /volume1/PFAD/DirMon.sh stop

Bash:
#!/bin/bash
# bash /volume3/DEV/DirMon/DirMon.sh start stop

# hier finden sich verschiedene Benachrichtigungskonfigurationen:
# https://github.com/caronc/apprise/wiki/Notify_email

# GMail:
#   Hinweis: Google-Nutzer, die das zweistufige Verifizierungsverfahren verwenden, müssen hier ein App-Passwort erstellen, das Sie im Feld {Passwort} verwenden können.
#       https://security.google.com/settings/security/apppasswords
#       https://support.google.com/accounts/answer/185833
    apprise_call="mailto://USERNAME:APPPASSWORD@gmail.com"

# überwachter Ordner:
    watchFolder="/volume3/DEV/FileWatcher/input"

#########################################################################################

if [ ! "$(which inotifywait)" ]; then
    echo "ERROR: Das Paket inotify-tools ist nicht installiert"
    echo "Du kannst das SPK von hier installieren: https://synocommunity.com/package/inotify-tools"
    exit 1
fi

prepare_python() {
# Diese Funktion prüft die Python3 & Pip Installation und die notwendigen Module

    python_module_list=( apprise )
    python3_env="${0%/*}/DirMOn_python3_env"
    python_check=ok

# check python3:
# ---------------------------------------------------------------------
    if [ ! "$(which python3)" ]; then
        echo "(ERROR - Python3 ist nicht installiert - EXIT ...)"
        python_check=failed
        exit 1
    else
        [ ! -d "${python3_env}" ] && python3 -m venv "${python3_env}"
        source "${python3_env}/bin/activate"

        # check / install pip:
        # ---------------------------------------------------------------------
            if ! python3 -m pip --version > /dev/null  2>&1 ; then
                printf "%s" "Python3 pip wurde nicht gefunden und wird jetzt installiert ➜ "
                # install pip:
                python3 -m ensurepip --default-pip > /dev/null  2>&1
                # upgrade pip:
                python3 -m pip install --upgrade pip > /dev/null  2>&1
                # check install:
                if python3 -m pip --version > /dev/null  2>&1 ; then
                    echo "ok"
                else
                    echo "fehlgeschlagen ! ! ! (bitte installiere Python3 pip manuell)"
                    python_check=failed
                    exit 1
                fi
            else
                if python3 -m pip list 2>&1 | grep -q "version.*is available" ; then
                    printf "%s\n" "pip ist bereits installiert ($(python3 -m pip --version)) / upgrade ..."
                    python3 -m pip install --upgrade pip
                fi
            fi

            moduleList=$(python3 -m pip list 2>/dev/null)

            # check / install python modules:
            # ---------------------------------------------------------------------
            echo -e
            for module in "${python_module_list[@]}"; do
                moduleName=$(echo "${module}" | awk -F'=' '{print $1}' )

                unset tmp_log1
                printf "%s" "➜ check python module \"${module}\": ➜ "
                if !  grep -qi "${moduleName}" <<< "${moduleList}"; then
                    printf "%s" "${module} was not found and will be installed ➜ "

                    # install module:
                    tmp_log1=$(python3 -m pip install "${module}")

                    # check install:
                    if grep -qi "${moduleName}" <<<"$(python3 -m pip list 2>/dev/null)" ; then
                        echo "ok"
                    else
                        echo "failed ! ! ! (please install ${module} manually)"
                        echo "install log:" && echo "${tmp_log1}"
                        python_check=failed
                        exit 1
                    fi
                else
                    printf "ok\n"
                fi
            done

            [ "$(whoami)" = root ] && chmod -R 755 "${python3_env}"
            printf "\n"
    fi

    return 0

}


inotify_start() {
# start monitoring:
# --------------------------------------------------------------
    printf "\n%s\n" "---------- START MONITORING ---------- $(date +%Y-%m-%d_%H-%M-%S) ----------"

    nohup inotifywait "${watchFolder}" -e moved_to -e close_write --monitor --timeout -1 |
        while read -r line ; do
            printf "%s\n" "Erkanntes Ereignis: ${line}"
            if grep -E "Watches established|Setting up watches" <<< "${line}" ; then
                continue
            fi
            printf "\n%s\n" "---------------- EREIGNIS --------------- $(date +%Y-%m-%d_%H-%M-%S) ----------"
            apprise --interpret-escapes -vv -t 'FileMonitor' -b "Erkanntes Ereignis:\n\r${line}\n\n" "${apprise_call}"
        done &

    sleep 1
}


inotify_stop() {
# stop monitoring:
# --------------------------------------------------------------
    printf "\n%s\n" "---------- STOP  MONITORING ---------- $(date +%Y-%m-%d_%H-%M-%S) ----------"

    inotify_process_id=$(ps aux | grep -v "grep" | grep -E "inotifywait.*${watchFolder}" | awk -F' ' '{print $2}')
    if kill "${inotify_process_id}"; then
        echo "Monitoring wurde beendet"
    else
        echo "ERROR beim beenden des Monitorings!"
        exit 1
    fi

    sleep 1
}

prepare_python

# start-stop-monitoring:
case "$1" in
    start)
        inotify_start
        exit 0
        ;;
    stop)
        inotify_stop
        exit 0
        ;;
esac

exit 0
 

Anhänge

Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat