Toogle Button für HM Dimmer

Ich habe einen HM Dimmer, aber nur einen Taster (ich möchte das so ;)).
Annahme: HM Dimmer ist aus … also 0%

Nun möchte ich gerne den Taster 1 mal drücken -> HM Dimmer 25 %
Taster nochmal drücken -> HM Dimmer 50 %
usw.
HM Dimmer steht auf 100 % -> Taster wird gedrückt -> HM Dimmer 75 %
Taster nochmal drücken -> HM Dimmer 50 %
usw.

Also kommend von HM Dimmer Wert 0%
Erstes Drücken -> 25 %
zweites Drücken -> 50 %
drittes Drücken -> 75 %
viertes Drücken -> 100 %
fünftes Drücken -> 75 %
sechstes Drücken -> 50 %
siebtes Drücken -> 25 %
achtes Drücken -> 0 %

Hat jemand so etwas schon abgebildet und könnte mir hier den Code übermitteln?
Alternativ bin ich natürlich für jeden sachdienlichen Hinweis dankbar. :slight_smile:

Moin,

mein Beispiel bezieht sich auf einen RGBW HM Dimmer was aber prinzipiell egal ist :slight_smile:

include "59153 /*[Zeit-Scripte\Start Stop IPS\IPS Konstanten]*/.ips.php";

$Helligkeit = GetValueFloat(47185 /*[Kueche\Licht\Kueche LED Dimmer\LEVEL]*/);
$Helligkeit = $Helligkeit + kva_HelligkeitHMdoubleplus;

If ($Helligkeit > kva_DimmerLevelMax)
{
   $Helligkeit = kva_HelligkeitKueche;
}
// Schreiben des Homematic Hue Wert in den Controller
HM_WriteValueFloat(48235 /*[Kueche\Licht\Kueche LED Dimmer]*/, "LEVEL", $Helligkeit);

Dort wo bei mir

$Helligkeit = kva_HelligkeitKueche;

müsstet du wieder runterrechnen um jeweils 25 % während ich zurück auf die Grundhelligkeit gehe.

Gruß
Hans

Hallo PC Oldie,

schon mal vielen Dank für das schnelle Feedback!
Leider habe ich den Code noch nicht richtig verstanden …

Woher kommt „59153 /[Zeit-Scripte\Start Stop IPS\IPS Konstanten]/.ips.php“ und was steht da drin?
Ich gehe davon aus, dass sich „kva_HelligkeitHMdoubleplus“ auf dieses „59153“ bezieht, richtig?
Und „kva_DimmerLevelMax“ und „kva_HelligkeitKueche“ auch, richtig?

Der Rest ist plausibel. :slight_smile:

Hallo,

in „59153 /[Zeit-Scripte\Start Stop IPS\IPS Konstanten]/.ips.php“ liegen meine Definitionen für Farben, Temperaturen, Laufzeiten, Helligkeiten usw. damit diese nicht in jedem Script bei Änderungen angepasst werden müssen :slight_smile:

Für dich spielt das hier keine Rolle, du kannst die Zeile einfach löschen und musst meine Konstanten durch deine Werte ersetzen (kva_xyz steht sinngemäß für den konstanten Wert einer Variablen xyz) :wink:

Gruß
Hans

Ich verstehe.
Hat jemand eine andere Idee?

Huhu,


<?

$zahl = GetValueInteger(41115 /*[Allgemein\DimmerTaster\zahl]*/);

if ($zahl == 0)
	{
	HM_WriteValueFloat(51124 /*[Homematic\Taster - Aktor - Dimmer\Aussen\1fach Dimmer Balkon]*/, "LEVEL", 25/100);
	SetValueInteger(41115 /*[Allgemein\DimmerTaster\zahl]*/,$zahl + 1);
	}	
if ($zahl == 1)
	{
	HM_WriteValueFloat(51124 /*[Homematic\Taster - Aktor - Dimmer\Aussen\1fach Dimmer Balkon]*/, "LEVEL", 50/100);
	SetValueInteger(41115 /*[Allgemein\DimmerTaster\zahl]*/,$zahl + 1);
	}	
if ($zahl == 2)
	{
	HM_WriteValueFloat(51124 /*[Homematic\Taster - Aktor - Dimmer\Aussen\1fach Dimmer Balkon]*/, "LEVEL", 75/100);
	SetValueInteger(41115 /*[Allgemein\DimmerTaster\zahl]*/,$zahl + 1);
	}	
if ($zahl == 3)
	{
	HM_WriteValueFloat(51124 /*[Homematic\Taster - Aktor - Dimmer\Aussen\1fach Dimmer Balkon]*/, "LEVEL", 100/100);
	SetValueInteger(41115 /*[Allgemein\DimmerTaster\zahl]*/,$zahl + 1);
	}	
if ($zahl == 4)
	{
	HM_WriteValueFloat(51124 /*[Homematic\Taster - Aktor - Dimmer\Aussen\1fach Dimmer Balkon]*/, "LEVEL", 75/100);
	SetValueInteger(41115 /*[Allgemein\DimmerTaster\zahl]*/,$zahl + 1);
	}	
if ($zahl == 5)
	{
	HM_WriteValueFloat(51124 /*[Homematic\Taster - Aktor - Dimmer\Aussen\1fach Dimmer Balkon]*/, "LEVEL", 50/100);
	SetValueInteger(41115 /*[Allgemein\DimmerTaster\zahl]*/,$zahl + 1);
	}	
if ($zahl == 6)
	{
	HM_WriteValueFloat(51124 /*[Homematic\Taster - Aktor - Dimmer\Aussen\1fach Dimmer Balkon]*/, "LEVEL", 25/100);
	SetValueInteger(41115 /*[Allgemein\DimmerTaster\zahl]*/,$zahl + 1);
	}
if ($zahl == 7)
	{
	HM_WriteValueFloat(51124 /*[Homematic\Taster - Aktor - Dimmer\Aussen\1fach Dimmer Balkon]*/, "LEVEL", 0/100);
	SetValueInteger(41115 /*[Allgemein\DimmerTaster\zahl]*/, 0);
	}

?>

Super!
Danke.

Moin Honk0504,

vielleicht noch ein weiterer Hinweis. Man kann auch eine Direktverknüpfung machen zwischen der Taste und dem Dimmer. Damit lässt sich dann alles perfekt mit einer Taste regeln und man ist unabhängig von der CCU und IPS. Nur mal als Anregung :slight_smile: Hier noch der Hilfetext einer solchen Verknüpfung.

Dimmer - ein/aus & heller/dunkler: Mit einem kurzen Tastendruck wechselt das Licht
zwischen der eingestellten Helligkeit und aus. Mit einem langen Tastendruck wird das Licht
abwechselnd hoch- und runtergedimmt. 

Gruß
Hans

Hallo Hans,

keine schlechte Idee. Allerdings ist mein Taster, den ich dafür benutzen möchte, ein „alter“ FS20 4-fach Taster. Also verschiedene Welten. Trotzdem Danke für den konstruktiven Hinweis.

Hallo qwik,

ich bin grad dazu gekommen Deinen Code bei mir zu testen. Ich habe einen Fehler in Zeile 38 gefunden.
Am Ende „… $zahlt +1);“ muss „… $zahl +1);“ heißen.
Nach der Korrektur tut das Script GENAU DAS was ich wollte. Super! Danke!