Hallo an alle Lesenden.
Ich bin noch ziemlich frisch mit IP-Symcon und habe keinerlei PHP Kenntnisse, aber dafür viele Probleme 
Jetzt möchte ich gerne diesen älteren Thread hier nochmal zum leben erwecken und erhoffe auf etwas Hilfe und viel Verständniss…
Also, ich habe einen Keymatic Türöffner, eine Funkfernbedienung und eine Raspberrymatic CCU2? (Hoffe das heisst auch so). Die HM-CCU habe ich mit dem Keymatic Türöffner gekoppelt. Funktioniert.
Auch habe ich es geschafft die Homematic CCU über IPS einzubinden.
Jetzt habe ich es sogar geschafft, unter Hilfenahme eins Scripts des Users „mäc“, welches ich aber in Mühevoller arbeit ändern musste damit es bei mir läuft, meine Keymatic über eine Integer Variable anzusteuern. (öffnen, entriegeln und verriegeln).
Das Script hänge ich natürlich gleich noch an.
Jetzt meine Frage bzw. mein Problem.:
Ich nutze zudem noch meine Funkfernbedienung der Keymatic. Wenn ich die Keymatic (KM) darüber schalte ändert sich auch schön brav in IPS die „State“ Variable. Allerdings bekomme ich diesen Status nicht auf meiner Integer Variable (mein Schalter) angezeigt. Sodass dort nur der Status erscheint, welchen ich zuletzt über IPS gesendet bzw. dann von der KM empfangen habe.
Ich vermute einen generellen Fehler bei dem vorgehen wie ich das Skript angelegt habe.
Dieses läuft bei mir nämlich als Aktionsscript an der Integer Variable. Ich bin hier aber schon seit drei Tagen (eigentlich die Nächte) am tüfteln und komme nicht weiter. Für jegliche Hilfe wäre ich dankbar.
Aber bitte für Anfänger…
<?
// 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);
// SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
$ID_KEYMATIC = 24281 ; // Keymatic Instanz ID
$ID_KEYMATIC_STATE =46763 ; // STATE Variable der Keymatic Instanz
$ID_VAR_ACTION = 51528; // Integer Variable für Schalt und Darstellungszustände
// $ID_VAR_KEYLOCK = 16482; // Boolean Variable für Tastensperre
// $ID_DOOR = 23191; // 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']==2)
{ // öffnen (türöffner)
HM_WriteValueBoolean($ID_KEYMATIC, "OPEN" , true);
}
else if ($_IPS['VALUE']==0)
{ // verriegeln nur wenn die tür zu ist
//if (getValue(23191)==true)
{
HM_WriteValueBoolean($ID_KEYMATIC, "STATE" , false);
}
}
else if ($_IPS['VALUE']==1)
{ // 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']==2)
{
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,1);
}
if (getValue($ID_KEYMATIC_STATE)==false)
{ //entriegelt
SetValue($ID_VAR_ACTION,0);
}
}
?>
link zum Original Script, welches bei mir aber Sehr viele Fehler hervorgerufen hatte.
https://www.symcon.de/forum/threads/11095-Keymatic-wehrt-sich-gegen-IPS/page4
Vielen Dank für Eure Hilfe