Rolladenaktoren - Shutter Control

Hallo,

habe heute erstmal einen Rolladen entsprechend verkabelt - funktioniert nun zumindest händisch. Taster sind auch zugeordnet.

Nun muss ich ja sicherstellen, daß alle auftretenden Zustände abgefangen werden. Z.B. fährt der Laden bereits hoch und der Taster HOCH wird betätigt, soll der Rolladen stoppen etc. Bin nun schon mit SWITCH/CASE und IF/ELSE zugange.

Du benutzt den HM-Joalousieaktor? Könntest Du mal einen Teil Deines Scriptes mailen?

z.b. mein Skript um die Westseite Nachmittags zu beschatten:

<?

//relevante Rollos
$Rollos[] = 26285 /*[HARDWARE\OBERGESCHOSS\Schlafen\OG Schlafen Rollo links\OG Schlafen Rollo links]*/; //OG Schlafen links
$Rollos[] = 43112 /*[HARDWARE\OBERGESCHOSS\Schlafen\OG Schlafen Rollo rechts\OG Schlafen Rollo rechts]*/; //OG Schlafen rechts
$Rollos[] = 16239 /*[HARDWARE\OBERGESCHOSS\Büro\OG Büro Rollo\OG Büro Rollo]*/; //OG Büro



$MSG = "Westseite wird beschattet... 
";
foreach ($Rollos as $Rollo)
{
	echo $Rollo;
	$Level = getvalue(IPS_GetObjectIDByName("LEVEL_SHADOW",IPS_GetParent($Rollo)))/100;
	HM_WriteValueboolean($Rollo,"STOP",true);
	HM_WriteValueFloat($Rollo,"LEVEL",$Level);
	$MSG .= "Rollo ".IPS_GetName($Rollo)." auf ".$Level." gesetzt.
";
}
$MSG .= "Westseite ist beschattet. 
";

include ('MessageHandler.php');
SendMessage(21,$MSG);

?>

Hi,

besten Dank - schaue ich mir gleich mal an. EDIT: leuchtet alles soweit ein. Ich habe nun den 4fach-Schaltaktor am Start.
Du hattest geschrieben:

und übergibst sie in der ON_TIME Variable an den Aktor

Hier mein Script (ganz klein - für den Anfang:):

<?
HM_WriteValueBoolean(39125 /*[HWR\Rolladen\Strassenfenster\Rolladen runter]*/, "STATE", false);
IPS_Sleep(1000);
HM_WriteValueBoolean(11820 /*[HWR\Rolladen\Strassenfenster\Rolladen hoch]*/, "ON_TIME", 30);
HM_WriteValueBoolean(11820 /*[HWR\Rolladen\Strassenfenster\Rolladen hoch]*/, "STATE", true);
?>

Und hier die Fehlermeldung:

Warning: Wrong parameter type for hm_writevalueboolean() in [HWR\Rolladen\Strassenfenster\Hoch] on line 4

Hier (http://www.ip-symcon.de/forum/f50/hm-lc-bl1-fm-laufzeit-einstellen-stoppen-14615/#post125045) steht es auch so geschrieben. Muss ioch mir da keine Sorgen machen oder ist das beir mir was falsch?

HALT - Kommando zurück!

Wer verlinkt und auch noch lesen kann, ist klar im Vorteil:
Nicht HM_WriteValueBoolean, sondern HM_WriteValueFloat muss es heissen.:rolleyes:

Dennoch: Hast Du für jeden Taster RUNTER ein anderes Script als für jeden Taster HOCH? Bei meinen 7 Rolläden waären das 14 Scripts. Schön wäre ja eine Auswertung in einem einzigen Script durch Auslesen des Verursachers mit gleichzeitiger Bindung an die Richtung und den Aktor, sodass nicht die Küche verdunkelt wird, obwohl das Wohnzimmer gemeint ist.

Ganz genau so steht es da nicht, die 30 Sekunden sind ja kein boolean Wert, deswegen musst du HM_WriteValueFloat verwenden (so steht es auch da). Viel Erfolg!

Ok, bist also grad selbst drauf gekommen!

Das mit dem Lesen klappt wohl noch nicht so ganz … :wink:

Vielleicht hilft es.

Gruß
Bruno

Ich hab keine Skripte für die Taster, die Taster hängen direkt am Aktor. Das ist der Vorteil wenn man die Rolladenaktoren benutzt :smiley:
Meine Skripte sind nur für „übergreifende“ Sachen, z.B. Nachmittags die Westseite beschatten oder Abends alle Rollos zu machen.

@Bruno: Lesen geht schon, allein die Suche ist hier desöfteren schwierig. Zum anderen hatte ich nach Homematic gesucht, da ist in diesem Thread (den ich übrigenes auch schon entdeckt hatte) nicht so wirklich viel geschrieben. Auf der anderen Seite bin kein php-Crack, sondern auf der anderen Seite der Wissenskala zu finden. Ich arbeite mit jeder Sache an der Besserung, sonst hätte ich schon hingeschmissen.

@Smokey: das ist keine schlechte Idee, zumal für den Anfang kann man sich im WebUI eine Verknüpfung machen. Das habe ich im Moment per IPS auch schon gemacht.

Nun muss ja sichergestellt sein, daß bei automatischen Aktionen (wie Beschattunt o.ä.) UND gleichzeitig gedrücktem Taster nichts schlimmes und zum anderen etwas definiertes passiert. Beispiel. Rolladen fährt automatisch runter, Kind „erschreckt“ sich und drückt schnell wieder Taster für hoch. Und dafür wollte ich ein Script für alle Taster machen. Da wird man wohl um diverse IFs nicht drumherum kommen.

Hatte gestern noch eine Idee, allen Rolladen-Tastern ein eigenen Variablenprofil zu geben und in einem Script nur die Taster mit diesem Profil auszuwerten. Ich schlag mich weiter durch.

Danke.

Also wenn bei mir morgens die Rollos automatisch hoch gehen und ich auf den Taster haue dann stoppen Sie und ich kann weiter schlafen. Und das ist auch gut so. Normal müsste sich dein Aktor doch genau so verhalten, auch ohne Skript. Oder willst du, wenn eine automatische Aktion läuft, dass man diese nicht per Tastendruck stoppen kann? Das würde ich nicht haben wollen, meist hat es ja einen Grund warum man auf die Taste haut.

War nur als Hilfestellung gedacht :smiley:

Kopiere meine Programme auch zusammen und versuche hinterher sie zu verstehen. Wie bei allem ist es wichtig dran zu bleiben, kann nur besser werden.

Denke trotzdem, daß sich aus dem Programm Ableitungen für eigene Entwicklungen ergeben können.

Gruß
Bruno

Ach so: Meine Rolläden fahre ich morgens nach Tastendruck hoch. Dann muss ich nicht aufspringen, wenn ich liegen bleiben will. :smiley:

Dann penn ich durch bis abends… :mad: