Ich habe mehrere WF und benutze in ein paar scripte die WFC_SendNotification funktion.
Wie finde ich die WF ID von der aus das Script gestartet wird.
In der Hilfe unter $IPS_SENDER/Webfront gibt es die Variable $IPS_INSTANCE.
Wenn ich z.b. echo $IPS_REMOTEADDR aufrufe kommt die richtige IP zurück.
Bei $IPS_INSTANCE bekomme ich die fehlermeldung Variable undefiniert.
also - fuer WFC_SendNotifications brauche ich fuer div. webfront konfigurationen den entspr. $IPS_CONFIGURATOR.
wollte mir in einer art autoexec nach webfront start basteln, die u.a. sowas wie eine sesson-constante fuer eben $IPS_CONFIGURATOR bereitstellet.
geht halt nur mit einem manuellen skriptaufruf im webfront (klar - hat ja als $_IPS[‘SENDER’] = WebFront und kann entspr. liefern) - sonst gibts halt immer nur die 0 wenn dieses skript per (skript, event, timer etc) losgetreten wird.
das ist ja das eigentliche problem - die id des konfigurators ist doch abhaengig vom aufrufenden webfront - und entspr. skripte koennen somit doch nicht mit fixer $IPS_CONFIGURATOR codiert werden.
jedoch laesst diese sich auch nicht webfront-spezifisch ermitteln - zuminderst kann ich das nicht und wenn, dann doch nicht nur ueber einen haendisch ausgefuehrten skriptaufruf??!
1 .gibt es keine moeglichkeit ein skript ueber das webfront starten zu lassen mit einer $_IPS[‘SENDER’] = WebFront?
2. oder - warum liefert $IPS_CONFIGURATOR nicht immer brav den wert des aktuellen webfronts ab - unabhaengig von der skript aktivierung?
Ich glaube du versteht da irgendwas falsch. Die ID wird bei direkter Skriptausführung korrekt übermittelt.
Wenn du aber was schaltest, dann verändert sich eine Variable. Und wenn du auf die Änderung davon reagierst, ist der direkt Sender die Variable. Und der indirekte Sender das WF wird nicht gesendet. Das ist konzeptionell so gedacht. Und was auch immer du vor hast, mein Gefühl sagt mir - es geht nicht.
Stephan Du drückst Dich auch ein wenig kompliziert aus.
1 .gibt es keine moeglichkeit ein skript ueber das webfront starten zu lassen mit einer $_IPS[‘SENDER’] = WebFront?
2. oder - warum liefert $IPS_CONFIGURATOR nicht immer brav den wert des aktuellen webfronts ab - unabhaengig von der skript aktivierung?
Nein, mir fällt eine Umwegmöglichkeit ein. Du mußt halt beim Aufruf des Webfronts eine Kennung in eine Datei schreiben und diese dann auswerten.
Es gibt, wie paresy schon ausgeführt hat, Systemvars die nur beim Aufruf über einen bestimmten Sender existieren und bei $IPS_CONFIGURATOR ist das halt WebFront. Das ist auch logisch so.
das skript 12345 soll abhaengig vom aktuell laufenden webfront (heisst doch -> unterschiedliche werte von $IPS_CONFIGURATOR) zu einer WFC_SendNotification in der lage zu sein.
deshalb verstehe ich zwar die zugrunde liegende logik - nur nicht dessen sinnhaftigkeit -> das $IPS_CONFIGURATOR wird zum einen fuer diverses benoetigt - nur die ermittlung geht nur sehr eingeschraenkt.
in ein file ablegen ist sicherlich ok - nur halt umstaendlich, da der wert ja zum greifen nah waere.
versuchs doch mal mit „was willst Du erreichen?“ Du schreibst zwar, wie du es glaubst, erreichen zu können, aber was am Ende dabei rauskommen soll… ich habs immer noch nicht kapiert
eine ip-cam reagiert auf definiertes event und soll immer (egal was bei 1. bewaehlt wurde) schoene WFC_SendNotification 's absetzen.
mein vorhaben (so sollte es laufen)
moechte das skript (welches WFC_SendNotification organisiert) jedoch nicht fuer jede webfront- konfiguration ein separates (mit der entspr. 12345 bzw 54321) hardcodieren vorhalten - das sollte doch dynamisch eben ueber $IPS_CONFIGURATOR abzuwickeln sein.
daher brauche ich - (auch perspektivisch fuer z.b. kategorie-wechsel/ -ein/ausblenden im webfront) dieses ding!
Stell dir vor, du hast 100 Endgeräte. Stell dir vor diese Endgeräte haben jeweils eins von den WebFronts offen. Du weist aber nicht welches WebFront auf welchen Geräten offen sind. Praktisch sind sind jedoch beide WebFronts auf beliebig vielen Geräten offen. Woher soll ich jetzt das System wissen, welche WF ID jetzt die ist, die du gerne haben willst? Welche willst du denn überhaupt haben, wenn beide WebFronts offen sind?
Wenn du jetzt sagst, dass es egal ist, weil du eh nur 1 Endgerät hast, dann sende es an beide gleichzeitig. Das WebFront, das keine Endgeräte hat, führt die Befehle dann eh nicht weiter aus.
nochmals herzlichen dank fuer die muehe euch durch mein anscheinend nicht ips konformes gedankengut zu arbeiten.
muss mir zum letzten statement von paresy erst mal meine testumgebung anpassen - event. kommt dann die erleuchtung - nur so allmaehlich daemmerts etwas.
nur ganz beilaeufig eine trivialst standardfrage:
wie schaut eine ganz normale WFC_SendNotification anweisung in einem skript aus??
Und weiterhin wird hier im Forum auf Groß-/Kleinschreibung wert gelegt.
Und Code bitte in PHP-Tags einschließen, das ließt sich wesentlich besser und animiert eher zum Support