Hallo
möchte die Keymatic in Symcon visualisieren… Ich habe im Forum ein Script gefunden und eingerichtet aber der Staus von der Keymatic wird nicht dargestellt ?? Die Keymatic sollte vom Webfront bedienbar sein und der Status angezeigt werden.
<?
// 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 = 22776; // Keymatic Instanz ID
$ID_KEYMATIC_STATE =20906; // STATE Variable der Keymatic Instanz
$ID_VAR_ACTION = 12270; // Integer Variable für Schalt und Darstellungszustände
$ID_VAR_KEYLOCK = 36788; // Boolean Variable für Tastensperre
//$ID_DOOR = 44468; // 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)==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);
}
}
?>