Dimmer FS20 fernsteuern per Wandtaster

Hallo,

ich laufe gerade nicht im Mitlauschmodus(alles per Zentrale) und hänge gerade bei der Migration meines Systems. Ich möchte jetzt wieder die Steuerung des Dimmers per Fernbedienung wie bei Homeputer erreichen.
Dummerweise bekomme ich das nicht hin, er dimmt immer ganz hoch wenn ich eine Taste drücke oder halt ganz runter. Durch erneutes drücken der Taste gehts nicht auf Stopp sondern schaltet dann max. ein oder aus.
Dies ist der Code(aktiviert bei Aktualisierung der Variable \Wandtaster\Flur\obere Reihe\Status) :

$linkeTaste = getvalueBoolean(27048 /*[.\Wandtaster\Flur\obere Reihe\Status]*/);
if ($linkeTaste) {
	FS20_DimUp(15884 /*[Räume\Flur\Licht]*/);
}else{
	FS20_DimDown(15884 /*[Räume\Flur\Licht]*/);

}

hiermit das Selbe:

$linkeTaste = getvalueBoolean(27048 /*[.\Wandtaster\Flur\obere Reihe\Status]*/);
if ($linkeTaste) {
	FS20_SetIntensity(15884 /*[Räume\Flur\Licht]*/,16,10);
}else{
	FS20_SetIntensity(15884 /*[Räume\Flur\Licht]*/,0,10);

}

Bei Contronics in den FAQ wird dies so impelementiert:

Frage:
Wie wird ein Dimmer am besten mit der FHZ1xxxPC gesteuert?
Antwort:
Das Steuern eines Dimmers durch dauerndes gedrückt halten des Tasters ist in einem System mit Zentrale nicht möglich, da durch die Dauersendung der Fernbedienung die Zentrale keine Meldung zum Dimmer schicken kann.
Es gibt aber eine elegante einfache Möglichkeit einen Dimmer zu steuern:
Mit den Anweisungen raufdimmen und runterdimmen.
Schreiben Sie in das Makro der Tasten (hier genannt DimTaster) einer Fernbedienung, mit dem der Dimmer gesteuert werden soll folgende Anweisungen:


wenn DimTast eingeschaltet dann
  Dimmer setzen auf raufdimmen Geschwindigkeit 10
wenn-Block-Ende
wenn DimTast ausgeschaltet dann
  Dimmer setzen auf runterdimmen Geschwindigkeit 10
wenn-Block-Ende

Wenn Sie jetzt die rechte Taste der Fernbedienung kurz drücken beginnt der Dimmer heller zu werden, bis Sie diese Taste noch einmal drücken. Wenn Sie die linke Taste der Fernbedienung kurz drücken beginnt der Dimmer dunkler zu werden, bis Sie diese Taste noch einmal drücken. Die Geschwindigkeit mit der die Helligkeitsänderung erfolgt wird durch den Wert in der Anweisung vorgegeben.
Es gibt noch die Anweisung "stoppdimmen", wenn diese ausgeführt wird, wird der Dimmvorgang beendet, egal ob rauf oder runter. Diese Anweisung wird in der Regel nicht benötigt und ist nur in Sonderfällen sinnvoll.

Habt ihr ne Idee wie ich das mit IPS hinbekomme?

Wieso willst du nicht direkt schalten? Bei mir geht die Lampe an per Bewegungsmelder(IPS) und wenn das Licht nicht die gewünschte Helligkeit hat steuere ich per Wandtaster(direkt)

Ich verwende kein FS20 und muss eben mal versuchen mich in die Thematik einzudenken.

$linkeTaste = getvalueBoolean(27048);
if ($linkeTaste) 
{
    FS20_DimUp(15884);
}
else
{
    FS20_DimDown(15884);
} 

Da steht sinngemäß: Wenn der Taster gedrückt ist, dann dimme hoch, wenn nicht, dann dimme runter. Was soll das denn bewirken? sobald du den finger vom Taster nimmst stehst du im dunkeln…

und dass mit setintensity ist auch klar. 16 bedeutet ganz hell und 0 ganz dunkel. Er tut also genau was du ihm gesagt hast.

Beobachte doch mal deine Variable 27048. Wie genau verhält sie sich denn wenn du den Taster drückst?

Toni

Grundsätzlich würde ich einen Wandtaster hardwaremäßig programmieren, um autark zu bleiben. Schaue Dir dazu auch mal die SlowOn oder/und SlowOff Funktion des Wandtasters an. Wenn Du es aber dennoch über Script laufen lassen möchtest, tiggere die DATA Variable des Wandsenders und so kannst Du:

  1. an sofort
  2. aus sofort
  3. hochdimmen bis loslassen
  4. runterdimmen bis loslassen

Abfrage über $IPS_Value.

hi,

danke für die Antworten.

Verstehe aber letzteres überhaupt nicht.
Kannst du mir mal ein Skriptbeispiel geben?
Wenn ich in dem Skript mir $IPS_VALUE ausgeben lassen ist da immer nichts drin.
Wo muss ich den Skript denn anlegen? Oder ist das egal?
Habe ihn momentan in der Wandtasterinstanz positioniert und starte bei Ergeignis: Aktualisierung der Variablenänderung des Wandtasters.

Deine Wandtasterinstanz hat für jedes Tastenpaar in IPS den Wert:
Device = An/Aus (true/false)
und
Device Data = 0 und 20 / 17 und 19
hier für kurzes und langes drücken

Wenn Du Dein Dimmerscript also auf die id des Device Datawertes triggerst, kannst Du über $IPS_Value den Zustand des Tasters erfragen.

z.B. so:


$id_beispiel_taste_2 = 12345 //Device Data (1112);

if ($IPS_VARIABLE == $id_beispiel_taste_2)
{
   if($IPS_Value == 0)
  {
     //hier sofort aus
  }
   if($IPS_Value == 20)
  {
     //hier runterdimmen bis loslassen
  }
   if($IPS_Value == 17)
  {
     //hier sofort an
  }
   if($IPS_Value == 19)
  {
     //hier hochdimmen bis loslassen
  }
}

wollt nur sagen funzt 1a und besser als bei homeputer.

… IPS … immer wieder gern genommen;)