Ich habe ein kleines Script, welches eine Pumpe ausschaltet. Dieses Script wird von Anderen, mittels IPS_runscript gestartet. Irgend jemand schaltet die Pumpe ständig aus und ich finde den Verursacher nicht. Mit $_IPS[‚SENDER‘] finde ich nur heraus, dass es der runscript Befehl ist.
Kann Jemand helfen?
Eine Idee wäre mal zu suchen ob du irgendwo eine laufende Zweitinstallation von IPS hast (alter Lap,Testsystem etc), weil da suchst du sonst lange. Dann würde ich, wenn die Pumpe schaltet, nach dem Zeitpunkt einfach im IPS Log suchen, dann siehst gleich wer das Script startet.(außer natürlich eben keine Zweitinstallation, da habe ich mal viel Zeit mit suchen verloren)
Nachtrag, je nach Geraetetyp könnte auch eine Direktverbindung oder gruppenschaltung das Auslösen… Zbsp HM oder Eaton, da musst du in den jeweiligen GW-Stationen schauen. Davon sieht IPS gar nichts.
Du könntest in den anderen Skripten statt mit „IPS_RunScript“ mit „IPS_RunScriptEx“ die anderen Skripte starten und so die SkriptID mit übergeben und dann im Ziel-Skript auch auswerten/ausgeben!
Abhilfe mit „workaround“: bei allen Aufrufen eines anders Skriptes (und das muß es ja sein, wenn $_IPS[‚SENDER‘] == ‚RunScript‘ ist, dann ist das Skript durch eine der IPS_RunScript Funktionen ausgeführt worden) selbst die Parameter mitgeben:
habe ich verstanden.
Mit --in allen Dateien ersetzen-- sollte das leicht machbar sein!
Könnt ihr mir noch helfen das IPS_GetName($_IPS[‚SELF‘])." Zeile:".LINE." Zeit:".date(„H.i.s“) in die Formel zu packen und im Zielscript in ein setvaluestring(12345) zu schreiben? Bei Arrays habe ich oft eine Hirnblockade. :o