Hallo Zusammen,
ich habe jetzt unzählige Beiträge gelesen, komme aber einfach nicht weiter.
Es klingt zwar einfach, aber das Problem liegt im Detail.
Eigentlich möchte ich ähnlich wie in der CCU:
-
den Zustand der Keymatic im Webfront in Form von 3 Feldern sehen:
->„Auf“ (entriegelt/grün), „Zu“ (verriegelt/rot) und „Zustand unbekannt“ (grau) -
Keymatic steuern über:
->„Auf“ (entriegeln) „Zu“ (verriegeln) und „Öffnen“ -
Durch Drücken der Buttons Auf/Zu im Webfront (oder über andere Fernbedienungen) soll sich der Status der Variable natürlich entspreched ändern.
-
Während die Felder „Auf“ und „Zu“ gleichzeitig Buttons und Statusvariablen in einem sind, soll das Feld "Zustand unbekannt nur „Statusvariable“ sein und nicht anklickbar sein und durch dessen Drücken den Status der Keymatic auf „Zustand unbekannt“ ändern.
Woran scheitert es und was habe ich versucht?
Um zunächst den Status meinem Wunsch entsprechend anzuzeigen, habe ich eine Statusvariable (Integer) erstellt mit folgendem Variablenprofil:
0=verriegelt (rot)
1=entriegelt (grün)
2=Zustand unbekannt (grau)
Diese Variable „STATUS“ wird getriggert über folgendes Skript:
<?
//0==verriegelt
//1=entriegelt
//2=Zustand unbestimmt
$keymatic = getvalue(30065);
$error = getvalue(23873);
//echo "keymatic: $keymatic error: $error";
If($keymatic == 1 and $error == 0)
{
setvalue(59694,1);
}
else
{
if($keymatic == 0 and $error == 0)
{
setvalue(59694,0);
}
else
{
setvalue(59694,2);
}
}
?>
Dieses Skript wiederrum wird gestartet über Ereignis: Bei Variablenaktualsierung der Variable Keymatic/STATE.
Status wird anscheinend angezeigt wie gewünscht, auch wenn ich es bisher nicht vollständig getestet habe.
Jetzt möchte ich über das Webfront (und über die eben erstellte Variable) auch die Keymatic verriegeln, entriegeln, öffnen.
Wie hier irgendwo gelesen, habe ich daher der Variable „STATUS“ über editieren eine „eigene Aktion“ zugeordnet. Das muss ja angeblich ein Skript sein. Ich verstehe zwar das folgende Skript, dass ich in der Doku gefunden habe, nicht ganz, aber über
"SetValue($IPS_VARIABLE, $IPS_VALUE);
kann man irgendwie über Variablen Aktionen starten.
Habe dieses Skript im Forum gefunden:
<?
if($IPS_SENDER == "WebFront")
{
$int = 0;
SetValue($IPS_VARIABLE, $IPS_VALUE);
if($IPS_VALUE) $int = 1|0 ;
HM_WriteValue(30065,$int);
}
?>
und kann damit die Keymatic über Webfront auch ver- und entriegeln.
Leider kann ich aber auch den Button „Zustand unbekannt“ übers Webfront anklicken und dann wird mir dieser Zustand auch angezeigt…
Den Button öffnen habe ich nicht.
Was muss ich jetzt machen? In der CCU muss man Keymatic anlernen und alles ist ready. Hier sitze ich wegen jedem kleinen Mist Stunden und komme zu nix:(
Kann mir jemand weiterhelfen?