Keymatic wehrt sich gegen IPS

Verstehe nicht, was Du da gemacht hast. Die Geräteinstanzen K0 und K1 hast Du nicht ??

Script

<?
$id_entriegeln = 39193;
HM_WriteValueBoolean($id_entriegeln, "STATE" , true);

?>

Zukünftig bitte die php-Tags verwenden (einfach mal im Editor nach php schauen :wink:

Fehlermeldung …

Hängt mit obigem Verständnisproblem zusammen

Was mache ich falsch? … Kleinigkeit

Das sehen wir dann :cool:

Ich hätte da eine Vermutung: Du sprichst mit der id direkt die Variable an, oder ? Du musst die Instanz eintragen…

Ansonsten, kuck mal hier: http://www.ip-symcon.de/forum/threads/12277-Steuerbefehle-f�r-Keymatic

Gruß
Martin

Danke für die Tipps.

Asche über mein Haupt. Ich hatte eine Fernbedienung hinzugefügt. Kann nicht gehen.
Ich habe aufgrund Eurer Hinweise nochmal alles gelöscht und noch mal begonnen und siehe da - alles geht :smiley:

Danke Euch!

Hallo Zusammen,

ich würde dieses Thema noch mal gerne wiederbeleben.

Erst mal dem Autor des Scripts einen herzlichen Dank!! Du hast mir viel Arbeit erspart :slight_smile:

Ich hab das Script bei mir nun am Laufen und so weit ist auch alles gut, aber ich bekomm im WebFront wenn ich auf Lock oder Unlock drück eine leere Fehlermeldung. Das Script wird aber korrekt ausgeführt und die KeyMatic macht das was sie soll. Hat jemand ne Idee wo diese tolle Fehlermeldung herkommt?

Hier mal das Script wies bei mir läuft:

 <?
    // keymatic ansteuern, bzw. darstellen
    // verriegeln:    HM_WriteValueBoolean(ID, "STATE" , false);
    // entriegeln:     HM_WriteValueBoolean(ID, "STATE" , true);
    // öffnen:        HM_WriteValueBoolean(ID, "OPEN" , true);
    // Tastensperre an: HM_WriteValueBoolean(ID, "INHIBIT" , true);
    // Tastensperre aus: HM_WriteValueBoolean(ID, "INHIBIT" , false);

    $ID_KEYMATIC = 35359 /*[Sicherheit\KEYMATIC]*/;      											// Keymatic Instanz ID
    $ID_KEYMATIC_STATE =15019 /*[Sicherheit\KEYMATIC\STATE]*/; 									// STATE Variable der Keymatic Instanz
    $ID_VAR_ACTION = 17971 /*[Sicherheit\KEYMATIC\Keymatik_Aktionen\KeyMatic_Action]*/;    // Integer Variable für Schalt und Darstellungszustände
    $ID_VAR_KEYLOCK = 26888 /*[Sicherheit\KEYMATIC\Keymatik_Aktionen\KeyMatic_Lock]*/;   // Boolean Variable für Tastensperre

    //$ID_DOOR = 44468 /*[Sicherheit\Dachfenster\STATE]*/;          // Instanz eines Türkontaktes

    // aufruf über steuervariable
     if ($_IPS['SENDER']=="WebFront" && $_IPS['VARIABLE']==$ID_VAR_ACTION)
    {
       $OLDVALUE=GetValue($ID_VAR_ACTION);
        // variable setzen, da aktion aus webfront als "taster" dient
       SetValue($ID_VAR_ACTION,$_IPS['VALUE']);

        if ($_IPS['VALUE']==0)
        {  // öffnen (türöffner)
              HM_WriteValueBoolean($ID_KEYMATIC, "OPEN" , true);
          }
        else if ($_IPS['VALUE']==1)
        {  // verriegeln nur wenn die tür zu ist
            //if (getValue(44468 /*[Sicherheit\Dachfenster\STATE]*/)==false)
            //{
               HM_WriteValueBoolean($ID_KEYMATIC, "STATE" , false);
				//}
          }
        else if ($_IPS['VALUE']==2)
        {  // entriegeln aber tür noch zu
           HM_WriteValueBoolean($ID_KEYMATIC, "STATE" , true);
          }

          // alten wert setzen, da nur einmalige tastaktion bei aktion open
        if ($_IPS['VALUE']==0)
        {
              SetValue($ID_VAR_ACTION,$OLDVALUE);
          }
    }
    else if ($_IPS['SENDER']=="WebFront" && $_IPS['VARIABLE']==$ID_VAR_KEYLOCK)
    {  // aufruf über variable tastensperre
       // oberflächen variable setzen und den selben status zur keymatic senden
       SetValue($_IPS['VARIABLE'],$_IPS['VALUE']);
       HM_WriteValueBoolean($ID_KEYMATIC, "INHIBIT" , $_IPS['VALUE']);

    }
    else
    {  // über variablenänderung aufgerufen prüfen wie der Keymatic status ist
       if (getValue($ID_KEYMATIC_STATE)==true)
        {  //entriegelt
              SetValue($ID_VAR_ACTION,2);
          }

        if (getValue($ID_KEYMATIC_STATE)==false)
        {  //entriegelt
              SetValue($ID_VAR_ACTION,1);
          }
      }


?>

Das Script hab ich in der Integer Variable als ActionScript hinterlegt.

Besten Dank schon mal für eure Hilfe!

Gruß und euch allen schon mal ein Frohes Fest

Mirank

Ein Leerzeichen vor dem <? oder hinter dem ?>

Gruß
Bruno

Vielen Dank!
Manchmal sieht man den Wald vor lauter Bäume nicht mehr!!