Boolean-Wert für 2sek. ändern

Hi,

hab ne für euch Wahrscheinlich ganz Simple Frage.
Ich möchte um meine Garagetore zu steuern einen Eingang
für 2 sek schalten danach soll der Wert wieder von true auf false wechseln.

Könnt ihr mir dabei helfen ?

Hab mal angehängt wies im mom aussieht.


<?
HM_WriteValueBoolean(24309 /*[Räume\Garage\Garage Jochen Start\STATE]*/, "STATE", true); 
?>



Eh voila: (von meinem Garagentortaster) :smiley:


<?
switch ($IPS_SENDER) {
	case "TimerEvent":
		IPS_SetScriptTimer($IPS_SELF, 0);
	        FS20_SwitchMode(18908 /*[.System\Garage\Taster]*/, false);
	        SetValue(34218 /*[Übersicht\Garage\Taster]*/, false);
	        break;
	case "WebFront":
		SetValue(34218 /*[Übersicht\Garage\Taster]*/, true);
	        FS20_SwitchMode(18908 /*[.System\Garage\Taster]*/, true);
		IPS_SetScriptTimer($IPS_SELF, 1);
	        break;
}
?>

Boolean-Variable mit dem Skript verknüpfen, ID der Variable im Skript anpassen und fertig. Ach ja, oben wird für 1 Sekunde geschaltet.

Hi danke,

dein Skript ist ja jetzt für nen FS 20 schalter. kann ich das auch auf meinen Homematic Aktor anwenden ?

Klar, musst eben nur deinen o.g. Befehl eintragen.

Hallo,

du kannst auch den internen Timer eines HM-Gerätes dafür verwenden.

Hiermit wird er für den nächsten Einschaltvorgang auf 2 Sek gesetzt. Das Gerät schaltet sich nach Ablauf des Timers selbst wieder aus.

$id = 10670 /*ID des HM-Gerätes*/;
HM_WriteValueFloat($id, "ON_TIME",  2);    //2 sek an
HM_WriteValueBoolean($id, "STATE", true);

Außerdem darfst du als ID bei den HM_WriteValue-Befehlen nicht die ID der Variablen eintragen, sondern die ID der Instanz. (In deinen ersten Post sieht es so aus, als hättest du die ID der Status-Variablen eingetragen)

Vielen Dank für die hilfe an beide !!

Hirschbart, super ich habe meine id angepasst (ich hatte es vorher auf die Variable gesetzt) und es klappte sofort.

Hab mir das mit ON TIME usw. in der art schon gebastelt aber hab zum einen den falschen Datentyp verwendet und hat die ID falsch gesetzt.

Aber aller Anfang ist schwer :loveips:

Welcher Homematic-Aktor unterstützt bei Euch die Übergabe von „On_Time“?:confused:

Ich habe eine Schalt-Steckdose und das 12V-Funk-Schaltmodul, wovon beide die Timer-Funktion über IPS anscheinend nicht unterstützen.
Es sind jeweils nur Variablen für „State“ und „Working“ angelegt.

ON_TIME ist nur schreibend aber nicht lesend, deshalb wirds keine „automatisch“ angelegte Variable geben…

Hatte ein Problem erster Ordnung…:o
… da hinter der Aktor-ID das Semikolon gefehlt hat, wollte der den Befehlt in der nächsten Zeile " HM_WriteValueFloat($id_Steckdose, „ON_TIME“, 5);" nicht erkennen.
Nach der Korrektur funktioniert die Ausschaltverzögerung prima.

Mich wundert nun folgendes bei der Verwendung von „ON_TIME“:

  • Die Schaltsteckdose bring die Warning „StatusVariable „ON_TIME“ existiert nicht“ :confused:
  • Das 12V-Funk-Schaltmodul bringt keine Warning

Wie gesagt schalten sich sowohl die Steckdose, als auch das 12V-Funk-Schaltmodul selbstständig wieder aus. Das Verhalten unterscheidet sich lediglich in der Warning-Message.

Hallo,
noch ´n kleiner Tipp… welches Gerät, welchen Parameter verträgt, steht im Band 4 der Anleitung http://www.homematic.com/fileadmin/pdfs/HM_Script_Teil_4_Datenpunkte_V1.0.pdf

//Sven

Für alle Dimmer-Freunde, die auch dem Copy&Paste-Fetischismus frönen wollen, hier das angepasste Skript…


<?

$id = 59039 /*[Homematic Gerät]*/;
HM_WriteValueFloat($id, "ON_TIME", 2);    //2 sek an
HM_WriteValueFloat($id, "LEVEL", 1);

?>

paresy

PS: Das wird hoffentlich unsere Support E-Mails zu dem Thema verringern :smiley: