Befehle per Web-Oberfläche an RPI senden

PDF Dokumente für Informationen im Detail, sowie Bauanleitungen.

Moderatoren: Ulrich, TeamO

Antworten
SolMan
Beiträge: 10
Registriert: Mi 31. Mär 2021, 19:55

Befehle per Web-Oberfläche an RPI senden

Beitrag von SolMan »

Hallo zusammen,
ich versuche seit ein paar Stunden in Grafana einen Button einzubauen, der ein Kommando an den Raspi sendet um ein sh Skript auszuführen.
Ulrich hat das ja für seine definierten Button "RPI ausschalten" und "RPI neu starten" prima hinbekommen.

Ich habe mir auch das Dokument "Befehle an Geräte senden. Dokument [BE007]" bereits durchgelesen und verschiedene Tests gemacht, aber die Befehle an den Raspi laufen irgendwie anders als die Befehle an die anderen "Geräte".
1) Die nötige Freigabe der Befehle in der befehle.ini.php scheint nicht für die Raspi Befehle zu gelten. z.B. RPI_Reboot steht dort bei mir nirgends (Für Regler 0 = sollte der RPI sein, gibt es gar keine Einträge). Und dennoch funktionieren Ulrichs Buttons.
2) Wenn ich mir die Dateien server.halt.php oder server.reboot.php ansehe, habe ich das nächste Fragezeichen. Die Übergabe der Befehle in die jeweilige Datei in /pipe und dann später Ausführung verstehe ich soweit. Aber da scheint Ulrich sowohl bei der "server.halt" als auch bei der "server.restart" das Kommando "Reboot now" zu übergeben und dennoch macht er mal reboot und mal stop???
3) Naja, ich hab mir jedenfalls diese Dateien mal als Vorlage genommen und ein server.test.php angelegt mit meinem Befehlt zur Ausführung meines Skripts (voller Pfad) und den Button entsprechend parametrisiert (mit IP-Adresse, also http://IP/server.test.php), aber da passiert nichts. Rechte?

Habt ihr Hinweise? Wo bin ich falsch abgebogen?
Danke

SolMan
Beiträge: 10
Registriert: Mi 31. Mär 2021, 19:55

Re: Befehle per Web-Oberfläche an RPI senden

Beitrag von SolMan »

Ok. Habe es gefunden und es funktioniert.
Die Befehle an den Raspi laufen ja, wie ich schon gesagt habe, anders.
Per kopieren z.B. von server.halt.php und editieren erstellt man sich ein php (z.B. server.test.php), das ein file z.B. test.server in var/www/pipe erzeugt (ist wohl eine reine Namenskonvention von Urich, um anzuzeigen, dass dieser Befehl an den Server/Raspi gehen soll und nicht an ein Gerät).
Der Trigger (Ausführen/Löschen) dieser *.server Dateien läuft über ein sh skript in der crontab (checkreboot.sh)
Das muss man ein kleines bisschen ergänzen, um den eigenen Befehl abzufragen, auszuführen und das file in /pipe zu loeschen.
Ach ja: letztlich muss in der test.server gar kein richtiger Befehl stehen. Der steht dann in der checkreboot.sh. Dort passiert dann auch das shutdown -hP now das ich in meinem letzten post im server.halt.php vermisst habe.
Das war es schon.

Viel Spaß, falls es mal jemand sucht ;)

Antworten

Zurück zu „Dokumente, Bauanleitungen und How To's“