Supi, danke. Hat geklappt.
Sry für die Änderung.
Wie kann ich das ganze jetzt in den Button integrieren (webinterface)??
Supi, danke. Hat geklappt.
Sry für die Änderung.
Wie kann ich das ganze jetzt in den Button integrieren (webinterface)??
Hausautomation? Schau mal ob du hier fündig wirst!
Du kannst das wie folgt lösen (ich habs nicht ausprobiert):
<?php
if((isset($_GET['system_code'])) && (isset($_GET['unit_code'])) && (isset($_GET['state']))){
system("send ".$_GET['system_code']." ".$_GET['unit_code']." ".$_GET['state']."");
}
?>
Anschließend kannst du via <a href="dateiname.php?system_code=11111&unit_code=1&state=1">an</a> das ganze schalten.
Empfehlenswert wäre sicherlich noch eine Überprüfung zur Fehlervermeidung.. Aber das ist erstmal irrelevant.
Wie hast du es denn gemacht wenn du das nicht ausprobiert hast?
Hallo zusammen,
bei der Lösung von Chris1705 sehe ich noch zwei Punkte die man beachten sollte. Ansonsten sieht der PHP-Code in Ordnung aus.
1) "send" muss mit "sudo" aufgerufen werden. Kleine Änderung an dem PHP-Code.
2) Die "sudoers" muss angepasst werden damit der Benutzer "www-data" auch "send" aufrufen kann. Wurde hier schon mehrfach erklärt was man da machen muss.
Gruß Georg
Danke dir! Wie kann ich denn die sudoers anpassen sodass der send aufrufen kann?
Ich habe es schon möglich gemacht, das man ohne cd raspberry-remote den send befehl ausführen kann, falls das wichtig ist.
Ich habe jetzt eine Datei angelegt (steckdose.php):
<?php
if((isset($_GET['system_code'])) && (isset($_GET['unit_code'])) && (isset($_GET['state']))){
system("send ".$_GET['system_code']." ".$_GET['unit_code']." ".$_GET['state']."");
}
?>
Die liegt im gleichen Verzeichnis.
Dann Einbindung im Webinterface:
<tr>
<td>Bett</td>
<td><button id="aus" style="float: right;">An</button>
<a href="steckdose.php?system_code=11111&unit_code=3&state=1">An</a>
</td>
</tr>
Jetzt wird zwar "An" neben dem Button angezeigt, das ist aber erst einmal egal. Wenn ich aber darauf klicke, kommt eine neue, weiße, leere Seite. Jedoch passiert nichts.
Wie editiere ich richtig die /etc/sudoers sodass www-data auch den Befehl ausführen kann?
Neben bei: Ich brauche noch ein Script was die Temperatur des Temperatursensors: 28-000003ada56a ausliest und in dieser Sprechblase wiedergibt:
Hi Racer,
schau mal hier da ist die ganze sudoer Geschichte recht gut beschrieben.
Aber bitte bis zum Ende lesen, damit Du Dir keine Sicherheitslücken ins System reißt.
ciao,
-ds-
Danke. Das Problem ist, das ich ja ein PHP Script aufrufe und nicht ein Python. Wie soll ich das jetzt machen?
PS: Siehe Edits im letzten Beitrag
send ist also ein Programm, das mit root-Berechtigung laufen soll?
Dann wechsel mal in das Verzeichnis, in dem send steht ( cd /pfad/zu/send )
Dann machst Du einen
dann noch einen
und dann probiers noch mal, ohne sudo in Deinem script.
cu,
-ds-
Voher war es nur möglich, eine funksteckdose so zu aktivieren:
Sudo ./send 11111 1 1
Und man musste im Verzeichnis raspberry-remote sein. Jetzt kann ich aber dank post #20 auch ohne im Verzeichnis zu sein;
Sudo send 11111 1 1 machen ohne /.
war das ne frage ode ne feststellung. Also hast du doch die path version und nicht die /usr/local/bin version gemacht? Alles sehr verwirrend heute
Voher war es nur möglich, eine funksteckdose so zu aktivieren:
Sudo ./send 11111 1 1
Und man musste im Verzeichnis raspberry-remote sein. Jetzt kann ich aber dank path auch ohne im Verzeichnis zu sein;
Sudo send 11111 1 1 machen ohne /.
Hallo Racer,
hast Du mein Posting gelesen und verstanden?
ciao,
-ds-
Feststellung. Sry, meinte die Anleitung in Post #20. Das klappt auch. Bloß klappt es noch nicht das ich mit chris seinem Script die funksteckdosen aktivieren kann. Dazu muss www-data das ja erst einmal dürfen. Wie mache ich das jetzt möglich ?
Danke für die Geduld...
Hallo Racer j,
du rufst erstmal den folgenden Befehl auf damit du die "sudoers" bearbeiten kannst.
Anschließend fügst du am Ende der Datei die folgende Zeile ein.
Danach sollte auch der Aufruf über das PHP-Skript funktionieren.
Gruß Georg
Habe das ganze jetzt eingetragen. Doch leider funktioniert es immer noch nicht.
Mein PHP script (liegt im gleichen ordner) und heißt steckdose.php:
<?php
if((isset($_GET['system_code'])) && (isset($_GET['unit_code'])) && (isset($_GET['state']))){
system("send ".$_GET['system_code']." ".$_GET['unit_code']." ".$_GET['state']."");
}
?>
Dann mein HTML-Code:
<tr>
<td>Bett</td>
<td><button id="aus" style="float: right;">An</button>
<a href="steckdose.php?system_code=11111&unit_code=3&state=1">An</a>
</td>
</tr>
Wenn ich jetzt dort drauf klicke, kommt eine neue, leere, weiße Seite und in der Adressleiste sieht das ganze dann so aus:
Was mache ich falsch? In der Konsole geht das einwandfrei:
/Edit: Jetzt geht es, der Code ist so richtig:
Na Racer,
immer noch nicht weiter?
Probier mal für den Anfang das script dahingehend zu ändern aus den
$_GET Zugriffen $_REQUEST zu machen.
cu,
-ds-
Siehe /edit, geht jetzt wieder. Super. Vielen Dank euch allen, wie happy ich bin könnt ihr gar nicht glauben.
Was ich jetzt nur brauche, ist ein Script, was meinen Temperatursensor ausliest. Das Script von Chris funktioniert bei mir leider nich, sorry Chris
Siehe /edit, geht jetzt wieder. Super. Vielen Dank euch allen, wie happy ich bin könnt ihr gar nicht glauben.Was ich jetzt nur brauche, ist ein Script, was meinen Temperatursensor ausliest. Das Script von Chris funktioniert bei mir leider nich, sorry Chris
Hi Racer,
der sudo Aufruf in Deinem script deutet darauf hin, dass Du die sudoers geändert hast.
Hilfreich für alle die diesen Thread verfolgt haben wäre es aber wenn Du kundtun könntest welche Änderungen Du wie durchgeführt hast.
So eine Art Zusammenfassung halt ...
Schöne Zeit noch,
-ds-
Habe das gemacht, was boandlkramer mir gesagt hat: https://www.forum-raspberrypi.de/Thread-projekt…=19698#pid19698
Jetzt brauche ich nur noch ein Script was meinen Temperatursensor ausliest
Hast Du mal versucht mein Script einfach so zu nehmen wie es ist, ohne irgendwelche Veränderungen vorzunehmen?
ich verfolge das thema jetzt schon länger, bei mir funktioniert jetzt fast alles. aber was kann ich machen dass nicht immer die leere seite aufgeht wenn ich das php script mit href aufruf?
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!