Scriptfehler oder was ist falsch?

Hi Helmut,

hast Recht.

Nimm den und werd glücklich, läuft so bei mir.

<?
switch($IPS_SENDER)                                // ermitteln, wodurch das Skript aufgerufen wurde
{
    case "Execute":                                // von Hand aufgerufen: Schleife starten
    case "TimerEvent":                             // vom Timer aufgerufen: Schleife starten
		HID_SendEvent(42538 /*[Helmut´s 433 MHz Modul]*/, 0, chr(0x00).chr(0x01).chr(0x00).chr(0x00).chr(0x00).chr(0x00).chr(0x00).chr(0x00).chr(0x7D).chr(0x7D).chr(0x00).chr(0x00)); // Blankoaufruf senden
    break;

    case "RegisterVariable":                       // durch Registervariable aufgerufen: neuer Wert wurde empfangen

       SetValue(45705 /*[Technik\Helmut´s 433MHz Modul\vom 433MHz Modul]*/, $IPS_VALUE);  // empfangenen Wert abspeichern

// Erklärung der neu kennengelernten PHP Befehle:
// SetValue sollte klar sein, speichert den Krempel in die rot gekennzeichnete Objekt ID
// ord sorgt für die Darstellung des ASCII Wertes des selektierten Bytes
// substr beginnt bei dem Zeichen, welches im ersten Parameter genannt wird für die Länge des im im 2.ten Parameter genannten Wertes2

       SetValue(14144 /*[Technik\Helmut´s 433MHz Modul\1]*/, ord(substr ($IPS_VALUE, 1, 1)));
       SetValue(47900 /*[Technik\Helmut´s 433MHz Modul\2]*/, ord(substr ($IPS_VALUE, 2, 1)));
       SetValue(51969 /*[Technik\Helmut´s 433MHz Modul\3]*/, ord(substr ($IPS_VALUE, 3, 1)));
       SetValue(56301 /*[Technik\Helmut´s 433MHz Modul\4]*/, ord(substr ($IPS_VALUE, 4, 1)));
       SetValue(17189 /*[Technik\Helmut´s 433MHz Modul\5]*/, ord(substr ($IPS_VALUE, 5, 1)));
       SetValue(27399 /*[Technik\Helmut´s 433MHz Modul\6]*/, ord(substr ($IPS_VALUE, 6, 1)));
       SetValue(39903 /*[Technik\Helmut´s 433MHz Modul\7]*/, ord(substr ($IPS_VALUE, 7, 1)));
       SetValue(48195 /*[Technik\Helmut´s 433MHz Modul\8]*/, ord(substr ($IPS_VALUE, 8, 1)));
       SetValue(31921 /*[Technik\Helmut´s 433MHz Modul\9]*/, ord(substr ($IPS_VALUE, 9, 1)));
       SetValue(54861 /*[Technik\Helmut´s 433MHz Modul\10]*/, ord(substr ($IPS_VALUE, 10, 1)));
       SetValue(23687 /*[Technik\Helmut´s 433MHz Modul\11]*/, ord(substr ($IPS_VALUE, 11, 1)));
       SetValue(13591 /*[Technik\Helmut´s 433MHz Modul\12]*/, ord(substr ($IPS_VALUE, 12, 1)));
       SetValue(58687 /*[Technik\Helmut´s 433MHz Modul\13]*/, ord(substr ($IPS_VALUE, 13, 1)));
       SetValue(20603 /*[Technik\Helmut´s 433MHz Modul\14]*/, ord(substr ($IPS_VALUE, 14, 1)));

    break;
}

?>

Musst noch ein paar String Variablen anlegen, (hat mal einer ´nen Tip, wie automatisier ich das?) und gut. :slight_smile:

Das geht alles bestimmt viel eleganter, mit Array´s, Schleifen usw.. Mir ging es vor allem erst mal darum zu zeigen: es lüppt doch!
Falls einer der PHP Spezies sich austoben möchte, wir lernen gerne dazu. :rolleyes:

mfg

Bernd