Variablen Benutzung im Script

Ich muss da sabbelsau unterstützen, bei mir funktioniert bisher kein Skript mehr. Diese Änderung stellt alles bisherige auf den Kopf.

Ein Austausch von Skripts wird auch schwieriger, bzw. man muss von Anfang an dran denken.

Da ist irgendwo noch der Hund begraben…

nach Austauch der Namen und ersetzen der ID. War es schon mal OK.

Nach Neustart ist dann alles wieder weg. :confused:

<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : Code_Auswertung.ips.php
Trigger  : Code_Eingang
Interval : OnUpdate
*/



$Code = "196458E";     //fester Code

$Codeeingang = GetValueString("53348");  // Codeeingang Edip 0-9 +E als Return
$Codeeingabe = GetValueString("47586");  // temporärer String zum Aufsammeln der eingegebenen Ziffern
$Codeeingabe = $Codeeingabe. $Codeeingang;      // angekommenes Zeichen aufsammeln
$Sternanzeige = str_repeat("*", strlen($Codeeingabe)); // String mit Sternen erzeugen, hat die selbe Länge wie $Codeeingabe

//XBee_SendBuffer(42295 /*[eDIP]*/,  chr(27). "ZL". chr(55). chr(48).$Sternanzeige. chr(0)); // Sterne statt Klartext ausgeben
COMPort_SendText(42295 /*[eDIP]*/, chr(27). "ZL". chr(55). chr(48). $Sternanzeige. chr(0)); // Sterne statt Klartext ausgeben

if (strlen($Codeeingabe) < strlen($Code))       // prüfen, ob Eingabe vollständig
{
  SetValueString ("47586", $Codeeingabe);// Eingabe noch nicht vollständig, daher zwischenspeichern
}
else                                            // Eingabe ist vollständig
{
  if ($Codeeingabe == $Code)                    // prüfen, ob Eingabe korrekt ist
  {
    // korrekt, entsprechende Aktionen veranlassen
    //COMPort_SendText(50814 /*[Objekt #50814 exisitert nicht]*/, chr(27)."MT".chr(1));
    COMPort_SendText(42295 /*[eDIP]*/, chr(27)."MT".chr(1));
    SetValueString("54420", "Eingabe korrekt");
  }
  else                                          // Eingabe ist falsch
  {
    // falsch, Hinweis für Neueingabe anzeigen
    //COMPort_SendText(50814 /*[Objekt #50814 exisitert nicht]*/, chr(27)."MT".chr(39));
    COMPort_SendText(42295 /*[eDIP]*/, chr(27)."MT".chr(39));
    SetValueString("54420", "Eingabe falsch");
  }
  SetValueString("47586", "");           // Eingabe-String für neue Eingabe löschen
  SetValueString("53348", "");
}

?>

Das ganze Script stant schon mal mit allen korrekten Bezeichnungen.

IPS aus, neu starten. nichts geht mehr. :confused:

Hallo Zusammen

ich habe hier ein kleine Problem mit dem Kommentar.
Mit dem „Objekt auswählen“ wähle ich die Variable/Skript/… aus.
Mit der Auswahl wird auch der Kommentar eingeblendet. Siehe Beispiel
$luftfeuchtigkeit = GetValueInteger(„48789 /[PROGRAMME\Wetter\WE-FE-LI-TE-01\Luftfeuchtigkeit]/“);

doch nach dem Speichern des Skript ist der Kommentar weg. Siehe Beispiel
$luftfeuchtigkeit = GetValueInteger(„48789“);

Nur mit der ObjektID zu arbeiten finde ich recht gut. Wenn ich den Name des Objekts ändere, laufen die Skripts immer noch.
Die ObjektID bleibt.

Doch ohne Kommentar ist eine Fehlersuche sehr mühsam. Beim rumstöbern fand ich diesen alten Beitrag „Variablen Benutzung im Script“.
Hat sich hier was getan?
Muss man beim abspeichern was beachten, dass der Kommentar mit abgespeichert wird?
Oder muss man immer noch dem Kommentar händisch nachtragen?

Gruß
Luggi

Du musst die Anführungzeichen "12345" weglassen. z.B. SetValue(12345);

Das Script ist noch aus V1 Zeiten.

Super, Danke
Gruß
Luggi