Benachrichtigung / Push bei Beenden von DoorPi

  • Hallo,


    ich habe jetzt wohl bereits alle Events versucht, ob in der Konfiguration der Aufruf erfolgt durch


    [EVENT_OnShutdown] bzw.
    ...
    [EVENT_AfterShutdown] oder
    ...
    [EVENT_BeforeShutdown]
    ...


    werden keine Benachrichtigungen bzw. ein Push per Telegram beim Beenden von DoorPi gesendet, wie es bei anderen Events passiert, z.B. beim Starten von DoorPi oder wenn es klingelt.


    Stoppe ich nur den Dienst von DoorPi via Konsole, wird eine Benachrichtigung / Push ausgelöst. Gerne hätte ich aber die Benachrichtigung auch dann, wenn der DoorPi komplett herunterfährt.


    Irgendwer eine Idee, warum es nicht funktioniert?

  • Ich mache das folgendermaßen:


    1. Auszug doorpi.ini


    Code
    [EVENT_AfterShutdown]
    10 = os_execute:/usr/local/etc/DoorPi/scripts/StopDoorPi.sh


    2. StopDoorPi.sh



    Das Verzeichnis für das Skript kannst Du natürlich selber festlegen.


    Wenn DoorPi beendet wird, bekomme ich so eine Push-Nachricht zugesendet. Problem: Wenn man die Stromversorgung des Raspis kappt, gibt's natürlich keine Meldung.


    Gruß,


    Thorsten

  • klappt es denn mit der Start Meldung via telegram auch wenn der Raspi neustartet? Weil es bei mir auch nur gepusht wird wenn ich per Konsole starte (mit Startmeldung.sh). Stoppen klappt nach dem hier genannten script per Konsole und Neustart. @dtp kannst du dazu was sagen?

  • klappt es denn mit der Start Meldung via telegram auch wenn der Raspi neustartet?

    Ja, auch das klappt.


    Hier mal mein Auszug aus der doorpi.ini:


    Code: doorpi.ini
    [EVENT_AfterStartup]
    10 = os_execute:/usr/local/etc/DoorPi/scripts/StartDoorPi.sh


    Und hier das zugehörige Shellskript:



    Gruß,


    Thorsten

  • Hi. Also funktioniert bei mir leider so nicht. Habe jetzt in meiner ini
    [EVENT_OnStartup]
    10 = sleep:1
    20 = os_execute:/usr/local/etc/DoorPi/scripts/Startmeldung.sh


    [EVENT_AfterStartup]
    10 = os_execute:/usr/local/etc/DoorPi/scripts/StartDoorPi.sh


    stehen, aber egal wie ich es hin und her verschiebe und Scripte austausche, bekomme ich nach einem sudo reboot keine Meldung

  • Also 3 von den 4 Scripten funktionieren ja. Hatte das System neu aufgesetzt und hintereinander alle startbar gemacht. Habe das
    Klingelbild.sh - funtioniert
    Startmeldung.sh- funktioniert wenn ich manuell doorpi über Konsole starte
    StopDoorPi.sh - funktioniert wenn ich manuell stoppe und bei shutdown und reboot
    StartDoorPi.sh - sollte ja beim Start oder nach reboot pushen, geht aber leider nicht
    von @dtp übernommen.


    hat das was mit dem HMInfo in dem script zu tun?

  • Exakt. "HMInfo1" ist nur ein Variablenname. Den kannst Du auch in z.B. "Token" umbenennen. Hab's oben mal entsprechend geändert.


    Wenn Dein Telegram-Token und Deine ChadID korrekt eingegeben sind, solltest Du direkt eine Push-Nachricht nach Eingabe von "bash StartDoorPi.sh" auf der Konsole erhalten, sofern das Shellskript ausführbar ist (chmod 775 StartDoorPi.sh).


    Gruß,


    Thorsten

  • Also manuell mit bash lassen sich alle 4 ausführen. Das Verhalten ist jedoch wie laut Post 8 gleich geblieben. Wollte jetzt halt falls der Strom mal weg war wissen, das der Raspi neugestartet hat. Also sobald er Strom bekommt und DoorPi auch mit startet es per Telegram gepusht wird.
    Oder können sich eventuell Startmeldung.sh und StartDooPi.sh überschneiden?

  • Oder können sich eventuell Startmeldung.sh und StartDooPi.sh überschneiden?

    Eigentlich nicht. Was ist denn der Inhalt von Startmeldung.sh? Du kannst ja aber mal zum Testen einfach das [EVENT_OnStartup] aus Deiner doorpi.ini löschen.


    Bei mir gibt es definitiv eine Pushnachricht nach dem erneuten Hochfahren von DoorPi, unabhängig davon, ob ich ihn vorher normal runtergefahren habe, oder ob er durch Kappen der Stromversorgung abrubt beendet wurde.


    Gruß,


    Thorsten

  • Der Inhalt ist eigentlich der von deinem Post für das Einrichten von Telegram. Da ich DoorPi im Autostart habe, funktioniert das script aber auch nur wenn ich vorher service doorpi stop und danach start mache, nicht schon beim Starten des Raspi's. Oder sollte das auch schon dort mit starten bzw sind die Scripte Startmeldung.sh und StartDoorPi.sh von der Funktion her gleich und nur mit anderem Inhalt?
    Oder ist das mit den Auführungsrechten nicht richtig? Weil @Nea ja was mit sudo chmod u+x und du mit 775 geschrieben hast. Habe da nämlich keine Ahnung und mache meistens nur copy paste :D

  • Damit Du auch mal nachsehen kannst was die Ausführungsrechte bedeuten.



    CHMOD Rechte-System
    CHMOD verfügt über drei unterschiedliche Rechte Bereiche.
    1. Stelle - Eigentümer: Die eigenen Rechte (englisch: user)
    2. Stelle - Gruppe: Die Rechte der selben Gruppe (englisch: group)
    3. Stelle - Alle Anderen: Die Rechte für alle anderen Benutzer (englisch: others)
    Alle drei Bereiche können die folgenden unterschiedliche Rechte aufweisen. Der zusätzlich aufgeführte Wert ist wichtig für die Berechnung der Oktaldarstellung eines CHMOD Wertes, bei diesem werden die einzelnen Werte pro Bereich zusammengerechnet und ergeben einen Gesamtwert zwischen 0 - 7.
    r Leserechte (read), Wert: 4
    w Schreibrechte (write), Wert: 2
    x Ausführungsrechte (execution), Wert: 1
    Zugriffsrecht Oktal BedeutungEigentümerGruppeAndere

    rwxrwxrwx777Lesbar, schreibbar und ausführbar für Alle Benutzer .
    rwxrwxr-x775Wie 1., aber ohne Schreibrecht für Andere Benutzer (z.b. CGI-Scripts, Perl-Skripte).
    rwxr-xr-x755Wie 1., aber ohne Schreibrecht für Andere Benutzer und Benutzer der eigenen Gruppe.
    rw-rw-rw-666Alle Benutzer dürfen lesen und schreiben.
    Optimaler CHMOD Wert, wenn der PHP Parser in einer anderen Gruppe ist und von PHP selbst geändert werden können soll.
    rw-rw-r--664Typischer Standardwert für neue Dateien: Lesbar für alle Benutzer, nicht schreibbar für Andere Benutzer, nicht ausführbar.
    rw-rw----660Der Dateibesitzer und die Gruppe kann die Datei lesen und schreiben, alle Anderen haben keine Berechtigungen.
    Optimaler CHMOD Wert, wenn der PHP Parser in der selben Gruppe ist und von PHP selbst geändert werden können soll.
    rw-r--r--644Lesbar für alle Benutzer, nicht schreibbar für Andere Benutzer und Benutzer der eigenen Gruppe, nicht ausführbar.
    rw-r-----640Der Dateibesitzer kann lesen und schreiben, die Gruppe nur schreiben und alle übrigen Benutzer haben keinen Zugriff.
    Optimaler CHMOD Wert, wenn der PHP Parser in einer anderen Gruppe ist.
    rw----r--604Lesbar für alle Benutzer, nicht schreibbar für Andere Benutzer und Benutzer der eigenen Gruppe, nicht ausführbar.
    Optimaler CHMOD Wert, wenn der PHP Parser in einer anderen Gruppe ist.
    rw----rw-606Lesbar für alle Benutzer, nicht schreibbar für Andere Benutzer und Benutzer der eigenen Gruppe, nicht ausführbar.
    Optimaler CHMOD Wert, wenn der PHP Parser in einer anderen Gruppe ist und von PHP selbst geändert werden können soll.
    rw-------600Der Dateibesitzer kann lesen und schreiben, alle übrigen Benutzer haben keinen Zugriff.
    Optimaler CHMOD Wert, wenn PHP unter dem selben Benutzernamen, als der Dateibesitzer, ausgeführt wird (möglich durch suPHP) und von PHP selbst geändert werden können soll.
    r--------400Der Dateibesitzer kann lesen, alle übrigen Benutzer haben keinen Zugriff.
    Optimaler CHMOD Wert, wenn PHP unter dem selben Benutzernamen, als der Dateibesitzer, ausgeführt wird (möglich durch suPHP).


    Verzeichnisse benötigen immer das Ausfürhungsrechte (X), da sie ansonsten nicht betreten und eingesehen werden können und damit auch der Inhalt des Verzeichnisses nicht erreichbar ist (zum Beispiel sind die System-Befehle "cd", "ls" oder "ll" betroffen).

  • Kann es denn sein, dass das StartDoorPi Script bei mir nicht funktioniert weil die Kodierung falsch ist? Habe eben durch Zufall bemerkt als ich ein neues Script mit "bash" testen wollte, dass der sleep Befehl nicht ging. Es stand da "sleep: ungültiges Zeitintervall „5\r“"
    Dann habe ich im PSPad Editor unten eine Einstellung gefunden wo man von DOS, MAC, UNIX umschalten konnte. Ich habe von DOS auf UNIX umgestellt und der sleep Befehl ging. Das StartDoorPi Script stand auch auf DOS. Das habe ich auch auf UNIX umgestellt, jedoch hat es hier keine Auswirkung gezeigt. Es wird beim Start des Raspis immernoch nicht gepusht. :thumbdown:

  • Hatte ich schon probiert. Ich denke es liegt irgendwie am Autostart(daemon richtig?) Weil ich "sudo service doorpi stop" und dann "sudo doorpi_cli --trace" ausgeführt habe. Da wurde gleich gepusht. Bloß brauche ich ja den Autostart, dass doorpi gleich mit dem Raspi startet...