Script für Rolladen Positionswerte

Hallo,

Ich habe noch einen alten knx Rolladenaktor im Betrieb. diese Wird über beweg und Stop Objekt über ips angesteuert. das funktioniert alles.
jetzt möchte ich gerne per Script die Position der rolläden über die Laufzeit realisieren. ich möchte einen positionswert als Status bekommen und auch Positionen anfahren können. gibt es ggf . schon ein Script oder hat jemand das schon gemacht?

Danke

Lg

rob

Gesendet von meinem SM-J510FN mit Tapatalk

Dafür bietet IPS das Shuttle Control an.
Shutter Control — IP-Symcon :: Automatisierungssoftware
Michael

Perfekt. Danke.

Bin immer wieder erstaunt was es alles schon gibt und wie rel. leicht sich manche Anforderungen umsetzen lassen.

rob

Gesendet von meinem SM-J510FN mit Tapatalk

HI Funktioniert im Ansatz schon ganz gut. Ich kann gezielt Positionen anfahren.
Allerdings läuft das ganz nur so lange ich ich über die TAster vor Ort nicht eine Handbetätigung durchführe.
Das ist eigentlich gar nicht schlimm, da ich die Positionsfahrt nur ausführen möchte wenn meine Wetterstation ein Bit für Schwellwert Helligkeit überschritten auf den Bus schreibt.

Ich habe mir gedacht dies mit einem Script zu lösen.
Von der Logik wie folgt:

Wenn Schwellwert Helligkeit = 1, dann fahre Rolladen hoch, dann Scriptspause von 27s ( Damit die Rolläden auf jeden FAll oben sind)
dann schreibe Positionswert 50%
Leider komme ich aufgrund mangelnder PHP Kenntnisse nicht weiter, Bin nicht so mit der Syntax vertraut, bzw noch am lernen.

Folgendes habe ich bisher. Wäre toll wenn ihr mir helfen könnt


<?
$Fassade_ost = GetValue(15499);
$Fassade_west = GetValue(11237);
 
 
if (($Fassade_ost == true) {
      EIB_Move(26662 , 0)
	  }
{	  
	  IPS_Sleep(20000)
	 
}
 
 
 SetValue(12345 , 50)
?>

Gibt mir folgenden Fehler

Parse error: syntax error, unexpected ‚SetValue‘ (T_STRING) in /var/lib/symcon/scripts/26613.ips.php on line 13

Danke

rob

Dahinter muessen einige Semikolons.

      EIB_Move(26662 , 0) ;
      } 
{       
      IPS_Sleep(20000); 
      
} 
  
  
 SetValue(12345 , 50);