HomeMatic Dimmer mit KNX kontinuierlich Dimmen

Guten Abend,

Ich stehe aktuell vor einem Problem, ich möchte einen HomeMatic Dimmer mittelst KNX Taster dimmen.
Dazu habe ich mir eine KNX Gruppenadresse für Dimmen angelegt, diese gibt mir folgendes aus: Aufwärts Dimmen ( 9 ), Abwärts Dimmen (1), und Stopp (0).

Folgendes Skript habe ich nun geschrieben, dieses Skript nutze ich ebenfalls für meine Sonos Speaker um diese mittelst HomeMatic Tastern Lauter und Leiser zu stellen:

<?php

$state = GetValueFloat(28930);
$KNX_STATE = GetValueInteger(19235);



if($_IPS['VARIABLE'] == 19235) 
{
    while ($state < 100 && $KNX_STATE == 9)
{
     RequestAction(28930, $state +2);
     IPS_Sleep(150);

if($KNX_STATE == 0) 
{
    break;
}
}
}



if($_IPS['VARIABLE'] == 19235) 
{
    while ($state < 100 && $KNX_STATE == 1)
{
     RequestAction(28930, $state -2);
     IPS_Sleep(150);

if($KNX_STATE == 0) 
{
    break;
}
}
}

Die Variable 19235 hat den Wert 9 solange hochgedimmt wird ( linke taste gedrückt ist ) ist die Taste Recht gedrückt so hat die Variable den Wert 1 solange bis ich die Taste los lasse, ist keine Taste gedrückt hat die Variable den Wert 0

Drücke ich die Ein Taste geht das Licht auf 100%, mache ich nun einen Langen Tastendruck auf Abwärts „hängt“ sich das Skript auf und die Leuchte Dimmt schnell hoch und runter, und das solange bis ich IPS Stoppe oder der Duty Cycle der CCU erreicht ist.
Da ich das Skript in Abgewandelter form bereits in Nutzung habe bin ich davon ausgegangen das dies hier auch funktionieren müsste.

Findet hier jemand den Fehler, oder hat eine Idee wie ich das am besten Lösen könnte?

Gruß, Adrian

Guten Abend zusammen,

Kennt hierzu niemand einen möglichen Lösungsansatz ?

Gruß, Adrian

Gesendet von iPhone mit Tapatalk

Kenne mich mit KNX Tastern nicht so aus, gibt es da nicht eine Möglichkeit auch einen Datenpunkt abzufragen so lange der Taster gedrückt wird? Bei Homematic Tastern wäre analog der Datenpunkt PRESS_CONT.

Das macht er ja… das geht mit dem 4bit relativ dimmen…
Ich schätze hier ist aber das Problem. Bei KNX dimmen wird der Dimmvorgang vom Taster gestartet und der Dimmer dimmt bis er gestoppt wird. Aber wie geht das mit Homematic ? Er sendet ja dann kontinuierlich Funk Telegramme. Der Fehler seh ich hier eher auf Homematic Seite…

Jeden Wert einzeln zu setzen führt hier nicht zum Ziel.
Der Aktor kann das alles allein.
Dazu setzt man im HM Aktor zuerst die Rampe und anschließend den Level.
Unterbrechen geht ebenfalls, dafür gibt es auch einen entsprechenden Datenpunkt.
Das funktioniert aber nicht über den einfachen Weg mit RequestAction, sondern nur über die HM_WrtieValue*** Befehle.
Die Liste der Datenpunkte ist auch in der Symcon Doku bei Homematic verlinkt.
Michael

Ja man könnte mit dem ersten Druck z.B. einfach das dimmen starten


HM_WriteValueFloat(19602 /*[Geräte\Homematic\Räume\Wohnzimmer\Deckenlampe Couch:4]*/, "RAMP_TIME", 10); // 10 s 
HM_WriteValueFloat(19602 /*[Geräte\Homematic\Räume\Wohnzimmer\Deckenlampe Couch:4]*/, "LEVEL", 1);  

Weist Du zufällig wie der Datenpunkt heißt bzw. wie man das unterbricht? Dann könnte man ja beim Loslassen dann einfach den Befehl zum Unterbrechen senden.

HM_WriteValueBoolean($InstanzID, ‚RAMP_STOP‘, true);
HM_WriteValueBoolean($InstanzID, ‚OLD_LEVEL‘, true);

Michael

Dann sollte es ja passen … Dann hat KNX ja die gleichen Datenpunkte wie Homematic… Also Dimm Start / Dimm Stop… Und sogar ne Rampe setzbar…

Wenn man nun einen Homematic IP Dimmer (HmIP-FDT) verwendet, gibt es den Datenpunkt „RAMP_STOP“ leider nicht. Kann mir jemand sagen, wie hierbei der Befehl aussehen muss, um einen Dimmvorgang zu stoppen? Ich habe bisher leider noch nichts Funktionierendes gefunden.

Vielen Dank :slight_smile:

Schau in die Datenpunktliste von EQ-3.
Alles was dort steht, kannst du aus Symcon ansteuern.
Ist unter Tips und Tricks verlinkt:
https://www.symcon.de/service/dokumentation/modulreferenz/homematic/
Michael