Hallo ich schreibe Temperaturen von verschiedenen Räumen in jeweils eine Logdatei.
Ich muss ja die Dateien jedesmal beim Update öffnen, beschreiben und wieder schliessen.
Kann man das Script nicht irgendwie zusammenfassen. Ist so ja auch recht unübersichtlich.
ich hab mir einen alten Thread rausgesucht und das ganze nur für float Variablen an die V2 angepaßt.
<?
$separator = ";"; // separate fiels by ; - good for Excel ;-)
$leerzeichen = " "; // ein Leerzeichen
{
$IPS_Value = round(GetValueFloat($IPS_VARIABLE),1);
$IPS_Value = str_replace( ".", ",", $IPS_Value );
$handle = fopen("../logs_var/" .$IPS_VARIABLE. ".txt", "a");
fwrite( $handle, date("d.m.y").
$separator.
date("H:i:s").
$separator.
$IPS_Value.
"
");
fclose($handle);
} ?>
getriggert wird das durch die Zustandsänderung bei einer Variablen und im Unterverzeichnis „logs_var“ (!anlegen unter IP-Symcon) unter der ObjektID (nicht aussagekräftig, aber absolut eindeutig, sprich Redundanzen können nicht vorkommen) abgespeichert, aber das kann´ste ja selbst im Script anpassen.
Vorteil ist, das er nur die Variable anpackt, die er gerade in Bearbeitung hat und ich deshalb mir das ganze Gedöns mit dem einzeln deklarieren sparen kann. Wenn man auf Änderung der Variablen triggert wird überdies der Datensatz auch nicht so groß. Das einzige, was erforderlich ist: Variable zum triggern auswählen und drauf achten, das es auch eine float ist. Falls andere Variablentypen benötigt werden: markieren, kopieren, neuen PHP Script anlegen, einfügen, Variablentyp anpassen usw…
PHP Spezies können das bestimmt noch besser, ich bin diesbezüglich absoluter Anfänger und freue mich auf Optimierungsvorschläge.
Hallo Thomas, Hallo Attain,
danke schön, so geht es.
@Bernd
Aber ich kann mit dem Code ja auch immer nur den Wert der auslösenden Variable schreiben, dann hab ich doch genau so viel Code wie vorher, oder hab ich da was missverstanden.
Der Code von Anti funktioniert bestens , werde ich für meine nächsten LogDateien berücksichtigen.
Einen schönen Abend
@Bernd
Aber ich kann mit dem Code ja auch immer nur den Wert der auslösenden Variable schreiben, dann hab ich doch genau so viel Code wie vorher, oder hab ich da was missverstanden.
Du kannst zu diesem Script viele auslösende Ereignisse hinzufügen, er erzeugt dann zu jedem eine Logdatei. Ein gemeinsames Script für alle, willst du eine weitere Logdatei, nur das ausführende Ereignis bei diesen Script hinzufügen.