Hallo.
Ich wollte bei einem Ereignis „Führe PHP Code aus“ verwenden und habe da als PHP code
require (‚14580.ips.php‘); verwendet. Das 14580 schaltet alleine ausgeführt ein Gerät um.
hier passiert aber nichts. Wie muss ich ein Skript da aufrufen?
lg Oli
Ohne den Inhalt vom Script zu kennen. Wird dir niemand helfen können.
Aber warum schaltest du nicht direkt per Ziel und Aktion die Variable?
Michael
Magst du mal probieren was passiert, wenn man <?php am Anfang setzt?
paresy
war schon:
Inhalt des Skriptes:
das Skript hängt unter der Power Variablen eines Tasmotageräts
$_IPS['SELF']
ist nicht die Script ID, weil du nicht das Script startest, sondern den Inhalt des Scripts ‚kopierst‘.
Trag die per Hand ein, dann wird es gehen.
o.k. verstanden,
aber gibts auch eine Möglichkeit, in dem Ereignis einfach das Skript zu starten?
Wenn ich in einem Ereignis php Code habe und in einem Skript nach Strings suche, wird der string im Ereignis nicht gefunden.
daher will ich so wenig wie möglich da drin haben
Warum das Ereignis nicht direkt unter dem Skript?
paresy
organisatorisches Problem
ich habe mir eine Variable Push angelegt, die dann das Licht umschaltet. und daher hab ich das Ereignis an die Push gehängt. (ist für mich übersichtlicher)
Aber das geht auch. danke
Eher Verständnis Problem
Ein Ereignis hängt immer unter dem Objekt welches es als Ziel ansteuern soll.
Also entweder unter dem Script was es starten soll, oder unter der Variable welches es schalten soll.
Michael
Auch wenn die „gedachte“ Lösung sicherlich das Ereignis unter dem Skript ist, könntest du alternativ auch per PHP-Code IPS_RunScript ausführen. Das führt halt das Skript auf von Symcon vorgesehenem Wege aus und „kopiert“ nicht einfach den Inhalt. Dann hast du auch deine benötigte Systemvariable $_IPS[‚SELF‘].