Hallo,
ich habe ein Script geschrieben, welches bei einem Event ausgeführt werden soll. Das Event habe ich mit diesem Skript registriert:
[code]#!/usr/bin/env php
<?php $event = array( "TYPE" => 0, "ID" => "Switch Switching", "PEERID" => 1, "PEERCHANNEL" => 1, "VARIABLE" => "LEVEL", "TRIGGER" => 7, "TRIGGERVALUE" => true, "EVENTMETHOD" => "runScript", "EVENTMETHODPARAMS" => Array("Lichtchanged.php", (boolean) 1)); hg_invoke("addEvent", $event); ?>[/code]
Der Inhalt der Lichtchanged.php ist:
#!/usr/bin/env php
<?php
echo "Status: geändert";
$a = "Status";
$datei = fopen("/home/pi/Licht.log", "a");
fwrite($datei, $a);
fclose($datei);
?>
Das Event wird auch tatsächlich ausgeführt. Hier ein Auszug aus dem Log:
03/12/15 08:36:50.733 Info: Event "Switch Switching" raised for peer with id 1, channel 1 and variable "LEVEL". Trigger: "updated"
03/12/15 08:36:50.733 RPC Server (Port 2001): Info: RPC Method called: runScript Parameters:
(String) Lichtchanged.php
(Boolean) 1
03/12/15 08:36:50.774 RPC Server (Port 2001): Response:
(Integer) 125
Allerdings scheint das Skript “Lichtchanged.php” nicht ausgeführt zu werden. Es wird zumindest nichts in die Licht.log geschrieben. Rufe ich das Script direkt auf über “sudo homegear -e rs Lichtchanged.php”, dann wird die Licht.log erwartungsgemäß um einen neuen Eintrag erweitert. Gibt es hier irgendwelche Ansatzpunkt, warum das Skript im Event nicht funktioniert?