Keymatic & WF - Skript, Variable, Aktionsskript, Trigger - ich blick nicht mehr durch

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:

  1. den Zustand der Keymatic im Webfront in Form von 3 Feldern sehen:
    ->„Auf“ (entriegelt/grün), „Zu“ (verriegelt/rot) und „Zustand unbekannt“ (grau)

  2. Keymatic steuern über:
    ->„Auf“ (entriegeln) „Zu“ (verriegeln) und „Öffnen“

  3. Durch Drücken der Buttons Auf/Zu im Webfront (oder über andere Fernbedienungen) soll sich der Status der Variable natürlich entspreched ändern.

  4. 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?

Die Anweisung

HM_WriteValue(30065,$int)

ist nicht korrekt. Leider kenne ich die KeyMatic nicht selber, aber die Homematic Write Anweisungen haben immer drei Parameter:

HM_WriteValueInteger ( integer $InstanzID , string $Parameter , integer $Wert )

In der Dokumentation findest du dazu Beispiele.

Sonst mach doch mal ein Hardcopy der KeyMatic Instanzen mit ihren Variablen im Objektbaum. Dann kann man leichter helfen.

Viele Grüße

Burkhard

Tür aufschliessen:

HM_WriteValueBoolean(33894 /*[Program\Türschloss\KEYMATIC]*/, "STATE" , true);

Tür abschliessen:

HM_WriteValueBoolean(33894 /*[Program\Türschloss\KEYMATIC]*/, "STATE" , false);

Tür öffnen:

HM_WriteValueBoolean(33894 /*[Program\Türschloss\KEYMATIC]*/, "OPEN" , true);

Die werden dann auch im WF angezeigt.

Gruß
Martin

Da bekommt man ja richtig Mitleid … :wink: :smiley: :smiley:

Gesehen ?

Allerdings ohne „Zustand unbekannt“, was auch immer das sein soll. Den Satz

  1. 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.

habe ich trotz mehrfachem, intensiven Lesens nicht verstanden. Habe so ein Feld bisher auch nicht gebraucht. :cool:

Gruß
Bruno

Im WebUi der CCU habe ich bei der Keymatic 4 Felder. Auf, Zu, Öffnen und Status unbestimmt.
Im WebUI kann ich auf 3 der 4 Felder klicken. Auf das Feld „Status unbestimmt“ nicht. Dieses Feld ist blau umrandet, wenn man bei der Keymatic am Rad dreht oder die Tür mit dem Hausschlüssel öffnet.
Um das im Webfront nachzubilden, habe ich daher auch eine Variable mit 4 Werten erstellt. Jetzt
habe ich 4 Felder im Webfront u. a. auch ein „Status unbestimmt“ Feld. Dieses Feld triggert nix und soll mir lediglich anzeigen, ob der Status ok ist oder nicht bestimmbar. Im Gegensatz zum WebUi kann ich im Webfront aber auf diesen Button klicken. Er löst zwar keine Auktion aus, aber beim anklicken im Webfront wechselt der Status von bestimmt auf unbestimmt, obwohl dies ja nicht der Fall ist. Wenn du eine keymatic hast und einmal das WebUi gesehen hast solltest du dir eigentlich vorstellen können, was ich meine.

Boah, tatsächlich, hatte mich da nie drum gekümmert. War mir bisher egal was die CCU zu meinem händischen Schlüsselbetätigen sagt. :wink: :smiley:

Gut, dann würde ich aber die Variable extra machen, nur als Status. Ist einfacher. Im WebUI sieht das Teil auch anders aus und es wird über die Variable „State uncertain“ übermittelt. Somit reicht ein Link (und Variableprofil anpassen nach Geschmack).

1A Info Kronos. Big THX.
Dachte schon, ich müsste ein Skript dafür basteln.

Bei der Keymatic geht das aber nicht mit dem Haken weg bei Status emulieren oder?

In einem anderen Thread habe ich das Problem schon geschildert. Variable erstellt für Verriegeln, Entriegeln, Öffnen UND Status unbestimmt, um nur eine Zeile im Webfront zu haben. Dort kann ich auch den „Status unbestimmt“ anklicken. Wenn ich jetzt den Haken rausnehme, kann ich vermutlich auch nicht die 3 Befehle ausführen oder?

Gruß und danke nochmal.

Ich habe den Beitrag hier reinkopiert.

Wenn Du eine Variable anlegst die das Variablenprofil mit allen diesen Zuständen hat und da eine Standardaktion oder ein Actionskript hinterlegt ist dann, tut der Klick auf die Variablen-Buttons natürlich etwas - auch wenn Blödsinn dabei heraus kommt. Aus Sicht von IPS ist das logisch oder Du fängst das skripttechnisch ab.

Bruno hat den Ansatz aber schon genannt - man nehme für die fragliche Zustandsanzeige eine extra Variable.

Es gibt hier im Forum auch eine fix-und-fertig-Lösung dafür. Bitte selber suchen - bin gerade zu faul dazu. :cool:

Okay.
Hatte mich schon gewundert, dass du nicht wusstest, wovon ich spreche, da ich mir Mühe gebe, meine Probleme so exakt wie möglich zu schildern.

Jetzt wo du weisst, wovon ich spreche, kannst du mir evtl. auch einen link schicken oder die Info geben, wie ich anstatt der Buttons mit auf, zu und öffnen und dem dazugehörigen Text 3 Icons wie im WebUI dargestellt bekomme? Ich meine damit nicht die Icons links, sondern rechts eben anstatt der farblichen Buttons mit Text? Oder soll ich dafür auch ein extra Thread aufmachen?

Gruß

Cäsar

Ja, das mit dem Suchen ist so eine Sache…
Während das bei anderen Foren sehr gut klappt (z.B. im Homematic Forum) bekomme ich hier eigentlich bei jedem Suchbegriff mind. 20 Seiten, die ich durchforsten muss. Ist natürlich kein Forum Problem und der Tatsache geschuldet, dass IPS einfach so universell einsetzbar ist, dass eben viel zu viel Unpassendes bei den Ergebnissen rauskommt. Da Tippen anstrengender ist als suchen, versuche ich erstmal was zu finden, ist aber, wie gesagt, eigentlich sinnlos hier…

Off Topic:

Teilweise muss ich Dir recht geben, teilweise nicht.

Ich persönlich komme mit der Suchfunktion hier deutlich besser klar als mit der im Homematic-Forum. Das kann man aber sicher unter der Rubrik „persönliches“ ablegen.

Ansonsten muss ich Dir zustimmen - man muss sich hier schon sehr anstrengen um sich ein Thema einfallen zu lassen welches noch nicht behandelt wurde. Entsprechend groß ist die Trefferquote und entsprechend genau muß man die Suche definieren. Das kann man aber wohl kaum dem Forum ankreiden.