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. ![]()
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
