Unterstützung beim umformulieren von Variablen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Guten Abend @all,

    ich habe hier ein kleines Skript, welches gestartet wird sobald sich ein WLAN Client mit meinem Raspi mit hostapd (als Bridge konfiguriert) anmeldet. Die Bridge selber und das Skript funktionieren bereits. Ich möchte nur die Textnachricht für den PushOver Client etwas einfacher ausgeben lassen

    Bash
    #!/bin/bash
    #Überwachte Geräte
    Device1="b4:18:d1:d0:cf:8b" #Handy1
    Device2="54:E4:3A:2A:34:A9" #Handy2
    /home/pi/skripte/sendpushover.sh "$(date) $2 $3" "-1"
    exit 0

    Ich erhalte nun die folgende Nachricht via PushOver:

    So 24 Mai 21:11:43 CEST 2015 AP-STA-CONNECTED b4:18:d1:11:11:11

    hostapd übergibt also die folgenden Variablen:

    $2 --> Zustand
    $3 --> MAC Adresse

    Ich hätte nun die folgende Bitte. Könnte mir jemand das Skript so umschreiben, dass ich die folgende PushNachricht erhalte:

    24.05.2015 21:11:43 Handy1 wurde angemeldet
    oder
    24.05.2015 21:11:43 Handy1 wurde abgemeldet

    Die Variablen sind ja schon vorhanden, sie müssten also nur anders formuliert werden. Wäre jemand so nett und könnte mir hierbei helfen?

    Grüße M.

  • Hallo,

    vlt so?

  • Ich bin kein bash-Profi aber das hier sollte funktionieren:

    Man könnte das auch über ein Array lösen, sodass man nur noch eine einzige Zeile "sendpushover.sh" hat.

  • Hm, klappt es denn händisch?

    Code
    julian@Lenovo:~$ ./test.sh "somefirstparameter" "AP-STA-CONNECTED" "b4:18:d1:d0:cf:8b"
    24.05.2015 22:37:35 Handy 1 wurde angemeldet
    julian@Lenovo:~$ ./test.sh "somefirstparameter" "AP-STA-CONNECTED" "54:E4:3A:2A:34:A9"
    24.05.2015 22:38:17 Handy 2 wurde angemeldet
    julian@Lenovo:~$ ./test.sh "somefirstparameter" "not-connected.." "b4:18:d1:d0:cf:8b"
    24.05.2015 22:38:38 Handy 1 wurde abgemeldet
    julian@Lenovo:~$ ./test.sh "somefirstparameter" "not-connected.." "54:E4:3A:2A:34:A9"
    24.05.2015 22:38:49 Handy 2 wurde abgemeldet


    Sonst führ es doch mal so aus, dann siehst du wo es hängt:

    Code
    bash -x ./test.sh "somefirstparameter" "AP-STA-CONNECTED" "b4:18:d1:d0:cf:8b"
  • Hallo Julian,

    hab dein Skript nochmal eingebunden und ausführbar gemacht. Einen 1. Erfolg kann ich verbuchen, ich erhalte bereits eine Nachricht, wenn ich mich aus dem WLAN abmelde. Bei einer Anmeldung passiert noch nichts. Die Variable mit dem Handy klappt bereits.

  • Dann zeig doch am besten mal genau was da für Parameter übergeben werden.
    Füge dazu am Anfang vom Skript folgende Zeile ein:

    Code
    touch /home/pi/logfile && echo "Parameter: $@" >>/home/pi/logfile


    Dann meldest du dich ein wenig mit den Geräten ab- und an, um das Logfile mit Daten zu befüllen.
    Danach:

    Code
    cat /home/pi/logfile
  • Hallo Julian,

    hab zwar nach dem Ändern des Skriptes immer den hostapd service neugestartet aber keinen reboot durchgeführt. Bisher war das bei meinen Versuchen das Skript anzupassen auch nicht notwendig. Nun habe ich dennoch mal den pi neugestartet und siehe da, dein Skript funktioniert nun. Ich erhalte nun die gewünschten Infos bei jeder An- bzw. Abmeldung via PushOver. Dafür ein ganz herzliches Dankeschön von meiner Seite für deine und auch für die Hilfe von MichaelRPI.

    Danke sehr.

    LG Micky

    P.S: Hier noch der Vollständigkeit halber das Logfile:
    Parameter: wlan0 AP-STA-CONNECTED b4:18:d1:d0:cf:8b
    Parameter: wlan0 AP-STA-DISCONNECTED b4:18:d1:d0:cf:8b

    Einmal editiert, zuletzt von Micky (24. Mai 2015 um 23:13)

  • Schön :thumbs1:

    Eventuell noch die unbekannten Geräte abfangen:

    Spoiler anzeigen


    Oder noch etwas kürzer und flexibler in der Verwaltung von neuen Geräten:

    Spoiler anzeigen
  • Hallo Julian, vielen Dank für deinen Einsatz. Absolut genial, wie du mir hierbei Unterstützung leistet, also ein ganz Dickes Danke ! Ich werd mir heut Abend die beiden anderen Vorschläge anschauen und testen und dann berichten.

    LG Micky

    Einmal editiert, zuletzt von Micky (25. Mai 2015 um 22:29)

  • Hallo Julian,

    beide Skripte laufen perfekt. Ich teste jetzt ausgiebig die letzte Version. Es ist kompakt und zeigt mir auch unbekannte Devices an. Bisher meldet er genau die gewünschten Informationen per PushOver. Vielen Dank nochmal.

    Hast du vielleicht noch nen Tipp wo bzw. in welchem Logfile ich fehlgeschlagene Anmeldungen an hostapd sehen kann? Unter /var/log/syslog finde ich nichts, weil ich einen Mac-Filter über die hostapd.conf aktiviert habe.

    LG Micky

    Einmal editiert, zuletzt von Micky (25. Mai 2015 um 22:29)

  • Heißt Julian jetzt Florian?

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

Jetzt mitmachen!

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