String Variable auswerten?

Hallo Forum,
steh gerade auf dem Schlauch und brauche mal Hilfe.
Ich möchte einen Script starten wenn in meiner „String Variable“ ein bestimmter Text steht.

$Termin=GetValueString(12345); //Holt Text aus Variable(Blaue Tonne)

If ($Termin == „Blaue Tonne“)
{
IPS_RunScript(45678);
}

Was mache ich falsch?

Gruß Werner

Sorry, falsches Forum. Bitte verschieben!

Keine PHP-Tags im Forum benutzen.
Oder was meinst du damit?
Wenn du dich auf dein Script beziehst; dann fehlt in deinem Beitrag die Fehlermeldung.

So auf den ersten Blick, da fehlt ein Semikolon hinter RunScript.
Michael

Hallo Nall-chan,

im Script habe ich das Semikolon.
Es kommt keine Fehlermeldung

Gruß Werner

Dann musst du wohl mehr Infos liefern.
Michael


<?

 $Termin=GetValueString(12345); //Holt Text aus Variable(Blaue Tonne)

 If ($Termin == "Blaue Tonne")
 {
 IPS_RunScript(54321);
 }
?>



Gruß Helmut

Wie sieht denn das Ereigniss aus dass dies auslöst?

Okay, ich versuchs mal zu erklären:
Google-Kalender schreibt einen Text in meine Variable (12345).
Mit dem o.g. Script will ich die Variable (12345) auslesen und wenn ein bestimmter Text in der Variable steht einen Script auslösen.
Aktuell steht in der Variable ("Blaue Tonne).
Der o. g. Script läuft ohne Fehlermeldung durch, der Script (45678) wird nicht ausgelöst.

Gruß Werner

@Helmut<? und >? sind drin.

Und wer startet das Script?
Screenshots?
Je mehr Infos desto besser.
Michael

Hallo, hier mal mein Testscript, funzt aber nicht

<?

$termin1=GetValueString(38862 /*[Scripte\Google Kalender\Muellensorgung\2 Naechste Muellabholung\Kalender]*/);

IF ($termin1 == "Blaue Tonne")
{
WFC_SendNotification(22662 /*[WebFront]*/, 'Termin! ', $termin1, 'anwesend', 0);
}

?>

In der Vaiable 38862 steht aktuell "Blaue Tonne.
Script wird durch ein zyklisches Ereignis (alle 24 Stunden) ausgelöst.

Wenn Du diese Script mit Echo Befehlen per „ausführen“ startest, was bekommst Du als Echo? Beide Texte oder ein Text

  <?

 $Termin=GetValueString(12345 /*[]*/); //Holt Text aus Variable(Blaue Tonne)

 If ($Termin == "Blaue Tonne")
 {
 IPS_RunScript(54321 /*[]*/);
 Echo " Blaue Tonne erkannt";
 }
Echo " Blaue Tonnen nicht erkannt";
?>  

?
Gruß Helmut

Hallo Helmut,

ich bekomme einen Text: „Blaue Tonnen nicht erkannt“

Gruß Werner

Dann ist es einfach: der Text den Du vergleichst ist nicht der Text der in Deiner Stringvariablen steht :wink:
Leerzeichen drin oder Groß und Kleinschreibung?
Gruß elmut

Habe ihn sogar aus der Variable in mein Script kopiert um Rechtschreibfehler auszuschließen.

Kopier mal den Text aus Deinem Vergleich und kopiere ihn in die String Variable

Okay, getan.

Jetzt kommen im Echo beide Texte :confused:

Mir ist gerade aufgefallen das mein Google-Kalender eine Leerstelle vor dem Text in der Variable setzt.
Wenn ich im Script eine Leerstelle mit setze oder sogar den Variableninhalt kopiere bringt das nichts.
wenn ich aber den Scripttext (Blaue Tonne) in die Variable kopiere funktioniert alles.

Gruß Werner

<? 

$termin1=GetValueString(38862 /*[Scripte\Google Kalender\Muellensorgung\2 Naechste Muellabholung\Kalender]*/); 

IF ($termin1 == "Blaue Tonne
") 
{ 
WFC_SendNotification(22662 /*[WebFront]*/, 'Termin! ', $termin1, 'anwesend', 0); 
} 

?>

Nach Blaue Tonne das " und die ) mit ENTER verschoben.
So funktioniert es
weiß aber nicht warum

Dem solltest du auf den Grund gehen. Da scheint beim Schreiben der Variablen noch ein Problem zu bestehen. Der Inhalt wird wohl mit einem nicht sichtbaren Zeilenendezeichen geschrieben. Das muss weg.

versuch es mal mit trim()


$termin1=trim(GetValueString(38862 /*[Scripte\Google Kalender\Muellensorgung\2 Naechste Muellabholung\Kalender]*/));  

@darx, Werde ich mal testen. Bin aber erst am Freitag wieder am PC. Danke