+ Antworten
Seite 2 von 2 ErsteErste 1 2
Ergebnis 11 bis 19 von 19
  1. #11
    Registriert seit
    Nov 2011
    Ort
    Hanau
    Beiträge
    101

    Hi Maik,
    ich bin zwar noch nicht ganz so weit, habe aber ein KNX Testboard mit Glastaster und DALI Gateway (und jeweils ein DT6 bzw. DT8 Vorschaltgerät dran).
    Der Glastaster sollte auch drei Werte auf drei GA’s senden. Auf diese GA‘s muss Symcon lauschen und stellen die Inputwerte für den Workflow dar. Aufpassen muss man nur, ob es relative Veränderungen oder absolute Werte sind. Bei relativen Veränderungen muss man vor dem Input in den Workflow noch rechnen (aktueller Wert in Symcon + Veränderung).
    Generell rechnen muss man wohl auch noch für Sättigung und Helligkeit absolut, da hier nicht 0-255 sondern 0-100% gesendet werden.
    Hast du den Glastaster wie in den Beispielen von MDT konfiguriert?
    https://www.mdt.de/download/MDT_LSG_...Glastaster.pdf

    Ich bin da an der KNX Lichtsteuerung im Augenblick selber dran und werde das mal versuchen nachzustellen. Ich werde versuchen die Absolutwerte auf die GA‘s nach Symcon zu schreiben. Es verändert sich bei Bedienung am Glastaster immer nur einer der drei Werte, die anderen beiden bleiben konstant.
    ___*__*____
    Beste Grüße
    Frank

  2. #12
    Registriert seit
    Oct 2012
    Ort
    Emsland
    Beiträge
    6

    Hallo Frank,

    ja die Einstellungen habe ich so gesetzt, auch die Kommunikationsobjekte habe ich so, siehe meine Bilder.
    In der Tat liegt es wohl von der relativen Änderung in die absoluten Werte zu kommen, aber nur wie?
    Ich bekomme ja aus der ETS nur ein Wert die HSV Farbton (H) relativ ändern, 4bit, Dimmer Schritt!

    Ich habe ja nur den Glastaster und kein KNX Dali Gateway
    Gruß
    Maik

    IP-Symcon 5.3 / IPS-Studio 4.1 / KNX / IPS-RGBW-868 / Artnet-DMX-Controller

  3. #13
    Registriert seit
    Nov 2011
    Ort
    Hanau
    Beiträge
    101

    der Vorteil dess ich das ganze auch über KNX/Dali steuer ist in dem Fall halt, dass Aktion/Reaktion validiert und Rückschlüsse gezogen werden können.
    Am Ende ist es aber das gleiche, ich möchte über Symcon darauf zugreifen und steuern.

    Ich habe mir das jetzt mal angeschaut ein paar Tests gemacht.
    1) Ich habe ETS 5.7.4 --> OPC Export / Import ist durch XML abgelöst.
    2) durch 1) sehen die bei mir angelegten Instanzen komplett anders aus.
    3) die Statusvariablen der GA 1/4/32,34,38 müssen aus Symcon gefüttert werden, sonst wird der Status im Glastaster nicht korrekt angezeigt. --> Du musst die Werte die im RGB Aktor aktuell gesetzt sind auf HSV zurück rechnen und auf den KNX Bus schicken.
    4) Die Tasten "Helligkeit" unterscheiden zwischen einem kurzen und langem Tastendruck. Kurz ist jeweils AN/AUS, wenn es eingeschaltet ist, konnte ich mit langem Tastendruck die Helligkeit Stufenweise reduzieren.
    5) Farbton ist "unendlich", nach 360° kommt wieder 1° (ist ja auch logisch und für die relative Umrechnung notwendig)

    Hast du mal das logging für die Variablen eingeschaltet? Habe ich als erstes gemacht (ohne irgendwelche Umrechnungen). Ich will immer erst mal wissen und verstehen was da aus dem anderen System tatsächlich angkommt.

    In diesem Fall ist das für mich sehr verwirrend:
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	2020-03-09 14_28_49-Window.png 
Hits:	52 
Größe:	83.4 KB 
ID:	52935

    Die Schrittunterteilung:
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	2020-03-09 14_54_22-Window.png 
Hits:	37 
Größe:	5.0 KB 
ID:	52936

    Bewegung und Erhöhen/Erniedrigen schaltet um ob der entsprechende Wert um die StepSize erhört oder reduziert wird. Wenn die Schrittunterteilung nicht auf "Pause"/0 steht, geht auch an den KNX Bus was zurück und Stripe und Taster ändern sich plausiebel.

    Da beim XML Export die Datentypen in den Instanzen komplett anders aussehen als beim OPC kann ich mir vorstellen, dass es schon an der Stelle klemmt. Da die gleiche Hardware (Glastaster) dahintersteckt sollte das grundsätzlich auch identisch funktionieren.

    Die Umrechnug der relativen Veränderung ist nicht kompliziert, solange man den letzten Absolutwert vor der Veränderung noch hat.

    Zunächst müssen wir mal klären warum da unterschiedliche Instanzen sind (mit XML kommen die "neuen KNX DPT-Instanzen" verwendet werden. Um das zu klären ist aber sicher die KNX Rubrik besser geeignet.
    Ich werde das noch mal prüfen und einen entsprechenden Beitrag aufmachen. Ich kann beispielsweise die Instanz auch nur über die vordefinierten Schalter manuell bedienen, ein Ansprechen via Script gelingt mir nicht, für mich ist das auch noch neu.
    ___*__*____
    Beste Grüße
    Frank

  4. #14
    Registriert seit
    Nov 2011
    Ort
    Hanau
    Beiträge
    101

    Was mir eben noch auffällt, auf deinem letzten Screenshot in Beitrag #9 sieht man,dass H bei dir auch vom Typ 3.007 ist.
    Wenn du magst, leg doch mal die Instanzen (H,S,V) manuell als "DPT 003.x - 3-Bit Controlled" an:

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	2020-03-09 16_09_55-Window.png 
Hits:	39 
Größe:	21.5 KB 
ID:	52941

    Das wären dann zumindest die "neuen" DPT Datenpunkte.
    ___*__*____
    Beste Grüße
    Frank

  5. #15
    Registriert seit
    Oct 2012
    Ort
    Emsland
    Beiträge
    6

    Moin Frank,

    erstmal Danke das Du mir da unter die Arme greifst;
    Ich habe mir mal die Instanzkonfiguration angeschaut und mit deiner verglichen,
    da habe ich schon wieder Fragen? EIS2 DimSteuerung ist hier eingetragen!

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Instanzkonfiguration.JPG 
Hits:	36 
Größe:	63.1 KB 
ID:	52942Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Auswahl.JPG 
Hits:	47 
Größe:	45.0 KB 
ID:	52943

    Das Logging muss ich noch einschalten, Ich befasse mich noch nicht lange mit den Systemen.
    Stehe also erstmal vorm Wald

    Mit der Umrechnung wird's wahrscheinlich auch etwas holprip
    Gruß
    Maik

    IP-Symcon 5.3 / IPS-Studio 4.1 / KNX / IPS-RGBW-868 / Artnet-DMX-Controller

  6. #16
    Registriert seit
    Nov 2011
    Ort
    Hanau
    Beiträge
    101

    ich kann mich noch gut daran erinnern wie ich vor dem leeren Objektbaum saß...

    Die Instanzkonfigurationen darfst du nicht miteinander vergleichen. Deine ist über den OPC Import erstellt, meine über XML
    XML bringt mehr / andere Details und damit werden auch teilweise andere Instanzen angelegt.
    Daher mein Vorschlag, dass du eine neue Instanz anlegst.
    - Rechte Maus auf eine Kategorie deiner Wahl (kann die gleiche sein in dem die anderen Objekte vom Glastaster drin sind)
    - Objekt hinzufügen -> Instanz
    - Im sich öffnenden Fenster im Schnellfilter "DPT 003" eingeben
    - "DPT 003.x - 3-Bit Controlled" auswählen, "Name" sinnvoll übertippen und OK
    - das Fenster dass sich dann öffnet analog zu meinem Screenshot (das ist die Konfig von meinem DPT 003) konfigurieren -> Stichwort Gruppenadresse und Einheit
    - die Spezialschalter kannst du lassen wie sie sind

    Das logging kannst du pro Variable einstellen:
    - Doppelklick auf den Variablennamen
    - Archiveinstellungen aufklappen
    - "Alle Variablenänderungen aufzeichnen" aktivieren
    - wenn sich die Variable geändert hat kannst du mittels Doppelklick auf den Wert der Variable im sich öffnenden Fenster auf Archiv klicken und siehst die Historie der Einträge.


    Ich habe mal "alte" Instanzen erstellt (KNX/EIB Device, EIS2 Dim Steuerung Standard und erweitert). Im Grunde ist dass immer das Gleiche:

    EIS Standard 0-15 EIS erweitert -7 - +7 DPT 3.007 Assoziation/Text
    Bewegung + (=1) oder - (=0) Schrittunterteilung
    7 -1 0 7 1 %
    6 -2 0 6 3 %
    5 -3 0 5 6 %
    4 -4 0 4 12 %
    3 -5 0 3 25 %
    2 -6 0 2 50 %
    1 -7 0 1 100 %
    0 oder 8 0 0 oder 1 0 Pause
    9 7 1 1 100 %
    10 6 1 2 50 %
    11 5 1 3 25 %
    12 4 1 4 12 %
    13 3 1 5 6 %
    14 2 1 6 3 %
    15 1 1 7 1 %

    Eine 9 würde bei einer EIS Standard (0-15) Instanz also bedeuten, dass du eine Erhöhung des Wertes am Glastaster sendest.
    Was ich noch nicht ganz verstehe, ist der reale Einfluss der Schrittunterteilung. Gefühlt rotiert das immer in der gleichen Geschwindigkeit .
    Ein Test eben am Taster hat gezeigt, dass bei erhöhen des Wertes (rechte Taste) gesendet werden:
    Standard = 9
    Erweitert = 7
    3.007 = 1 (Boolen = 0)

    Reduzieren des Wertes (linke Taste):
    Standard = 1
    Erweitert = -7
    3.007 = 1 (Boolen = 1)
    alle anderen Schrittunterteilungen (DPT 3.007) kommen scheinbar nicht vor.

    Daraus würde ich jetzt erst mal schließen, dass die einzige Information die aus dem Taster kommt, die "Richtung" und die Information ob eine Taste gedrück ist kommt.
    Das würde bedeuten, dass so etwas wie "Rotation im Farbkreis pro Zeiteinheit" in PHP programmiert werden muss, z.B. 15°/Sek.

    Beispiel:
    Die rechte Taste wird 2 Sekunden gedrückt. Der letzte Winkel im Farbrad waren 340°
    -> 340°+ 2Sek*15°/Sek = 10°
    Neuer Wert für H der in den SubWorkflow übergeben wird ist 10°

    Das wird hier an der Stelle so "kompliziert", da die Information wie schnell ein Wert sich ändern soll in der KNX Welt vom KNX Dimmaktor vorgegeben wird (bzw. parametrierbar ist).
    Das klingt jetzt erst mal alles fürchterlich kompliziert, eine Lösung dafür findet sich aber.
    Wichtig dafür ist in jedem Fall, dass man den letzten Wert der im RGB Modul gesetzt wird zurück nach HSV rechnet und an die Statusvariablen schickt, damit die Anzeige im Taster synchron zum Leuchtenstatus ist.

    BG
    Frank

    Edith sagt: Falscher Tabellenwert korrigiert
    ___*__*____
    Beste Grüße
    Frank

  7. #17
    Registriert seit
    Nov 2011
    Ort
    Hanau
    Beiträge
    101

    ich habe mir gestern die Umwandlung von RGB nach HSV angeschaut und bin darüber gestolpert, dass es wohl einen kleinen Unterschiede zwischen HSV und HSL gibt (bin nämlich beim rückwärts rechnen nicht auf die Ausgangswerte gekommen).
    Da der Taster HSV in der Anzeige wiedergibt, werde ich jetzt mal eine Vorwärts/Rückwärts Berechnung raussuchen, die annährend das gleiche (HSV) Ergebnis liefert. Mit gewissen Ungenauigkeit wegen mathematischem Runden ist zu rechnen, der Glastaster ist ja aber kein Präzisionsmessinstrument

    Ich könnte mir bei dir vorstellen, dass evtl. in einem ersten Schritt dann ein Tastendruck eine Veränderung um eine bestimmte Schrittweite (z.B. 18° / 10%) darstellt.
    ___*__*____
    Beste Grüße
    Frank

  8. #18
    Registriert seit
    Apr 2017
    Beiträge
    955

    Zitat Zitat von eeFrank Beitrag anzeigen
    alle anderen Schrittunterteilungen (DPT 3.007) kommen scheinbar nicht vor.

    Daraus würde ich jetzt erst mal schließen, dass die einzige Information die aus dem Taster kommt, die "Richtung" und die Information ob eine Taste gedrück ist kommt.
    Das würde bedeuten, dass so etwas wie "Rotation im Farbkreis pro Zeiteinheit" in PHP programmiert werden muss, z.B. 15°/Sek.
    Zur Erklärung: Das relative Dimmen gibt es bei KNX in zwei Varianten, von denen der MDT nur die zweite unterstützt.

    Variante 1: Der Taster sendet wiederholt kleine Dimmschritte, solange die Taste gedrückt ist. Hier ist die Dimmgeschwindigkeit davon abhängig, welche Schritte der Taster sendet und wie oft.

    Variante 2 (von MDT verwendet): Der Taster sendet einen Dimmschritt von 100%, wenn die Taste gedrückt wird. Beim Loslassen der Taste sendet er auf derselben GA ein STOP. Die Dimmgeschwindigkeit wird hier vom Dimmaktor bestimmt, der zwischen Start und Stop seine im Aktor festgelegte Dimmkurve fährt.

    Zitat Zitat von eeFrank Beitrag anzeigen
    Daraus würde ich jetzt erst mal schließen, dass die einzige Information die aus dem Taster kommt, die "Richtung" und die Information ob eine Taste gedrück ist kommt.
    Das würde bedeuten, dass so etwas wie "Rotation im Farbkreis pro Zeiteinheit" in PHP programmiert werden muss, z.B. 15°/Sek.
    Ja, richtig. In IPS Werte durchlaufen bis das STOP kommt.
    Viele Grüße
    Volker

    KNX-TP, KNX-RF

  9. #19
    Registriert seit
    Nov 2011
    Ort
    Hanau
    Beiträge
    101

    Prima, ich dampfe dass dann gerade mal zusammen:
    Die drei Alternativen:
    1 - EIS2 | DimSteuerung | Standard | [0..15] Instanz:
    Wert erhöhen: 9
    Stop: 8
    Wert reduzieren: 1

    2 - EIS2 | DimSteuerung | Erweitert| [-7..+7] Instanz:
    Wert erhöhen: 7
    Stop: 0
    Wert reduzieren: -7

    3 - 3.007 - Dimming Control Instanz:
    Wert erhöhen: Schrittunterteilung 1, Bewegung und Erhöhen/Erniedrigen 1 (true)
    Stop: Schrittunterteilung 0, Bewegung und Erhöhen/Erniedrigen 1(true) oder 0 (false)
    Wert reduzieren: Schrittunterteilung 1, Bewegung und Erhöhen/Erniedrigen 0 (false)

    HSV/HSL: Ein Gelbton wurde am Glastaster gesetzt. Die Umrechnung nach HSV2RGB lieferte einen Gelbton, die Umrechnung HSL2RGB weiß. -> HSV wird bevorzugt

    HSV2RGB
    PHP-Code:
    // taken and based on http://www.beliefmedia.com/convert-rgb-hsv-hsl-php

    //$value1 = 0; $value2 = 189; $value3 = 85;

    $r $value1//Red
    $g $value2//Green
    $b $value3//Blue

    $r = ($r 255);
    $g = ($g 255);
    $b = ($b 255);

    $maxrgb max($r$g$b);
    $minrgb min($r$g$b);
    $chroma $maxrgb $minrgb;

    $computedv 100 $maxrgb;

    if (
    $chroma == 0)
        return array(
            
    0,
            
    0,
            
    $computedv
        
    );

    $computeds 100 * ($chroma $maxrgb);

    switch (
    $minrgb) {
        case 
    $r:
            
    $h - (($g $b) / $chroma);
            break;
        case 
    $b:
            
    $h - (($r $g) / $chroma);
            break;
        default:
            
    /* $g == $minrgb */
            
    $h - (($b $r) / $chroma);
            break;
    }

    $computedh 60 $h;

    $result1 round($computedh0); //Hue
    $result2 round($computeds0); //Saturation
    $result3 round($computedv0); //Value

    //echo "h: ".$result1."\ns: ".$result2."\nv: ".$result3; 
    HSV2RGB:
    PHP-Code:
    // taken and based on http://www.beliefmedia.com/convert-rgb-hsv-hsl-php

    //$value1 = 147; $value2 = 100; $value3 = 74;

    $hue $value1//Hue
    $sat $value2//Saturation
    $val $value3//Value

    $h $hue;
    $s $sat;
    $v $val;

    if (
    $hue 0)
        
    $hue 0;
    if (
    $hue 360)
        
    $hue 360;
    if (
    $sat 0)
        
    $sat 0;
    if (
    $sat 100)
        
    $sat 100;
    if (
    $val 0)
        
    $val 0;
    if (
    $val 100)
        
    $val 100;

    $dS $sat 100.0;
    $dV $val 100.0;
    $dC $dV $dS;
    $dH $hue 60.0;
    $dT $dH;

    while (
    $dT >= 2.0)
        
    $dT -= 2.0;
    $dX $dC * (abs($dT 1));

    switch (
    floor($dH)) {
        case 
    0:
            
    $dR $dC;
            
    $dG $dX;
            
    $dB 0.0;
            break;
        case 
    1:
            
    $dR $dX;
            
    $dG $dC;
            
    $dB 0.0;
            break;
        case 
    2:
            
    $dR 0.0;
            
    $dG $dC;
            
    $dB $dX;
            break;
        case 
    3:
            
    $dR 0.0;
            
    $dG $dX;
            
    $dB $dC;
            break;
        case 
    4:
            
    $dR $dX;
            
    $dG 0.0;
            
    $dB $dC;
            break;
        case 
    5:
            
    $dR $dC;
            
    $dG 0.0;
            
    $dB $dX;
            break;
        default:
            
    $dR 0.0;
            
    $dG 0.0;
            
    $dB 0.0;
            break;
    }

    $dM $dV $dC;
    $dR += $dM;
    $dG += $dM;
    $dB += $dM;
    $dR *= 255;
    $dG *= 255;
    $dB *= 255;

    $result1 round($dR); //Red
    $result2 round($dG); //Green
    $result3 round($dB); //Blue

    //echo "R: " . $result1 . "\nG: " . $result2 . "\nB: " . $result3; 
    Bei Tastendruck sollte sich der entsprechende Wert (aus einer Ist-Statusvariable) kontinuierlich erhöhen/reduzieren bis das STOP Wert gesendet wird. Bestenfalls wird der geänderte Wert zyklisch an den RGB Controller weitergegeben.... Wo ich das gerade schreibe, wird mir klar, dass RGB2HSV gar nicht notwendig ist. Für H, S und V wird sowieso eine Variable gebraucht. Die kann ich einmal setzen und so auch an die KNX Statusvariable schicken. Ausgangspunkt für die HSV2RGB berechnung sind immer die drei Statusvariablen die
    1) nach RGB gerechnet
    2) der inkrementierte absolut Wert an die KNS Statusvariable geschickt wird.

    Offen: Wie verhält sich das RGB Gateway? Wie wird der Stripe darüber ein/aus geschaltet? Vom Taster gibts dazu einen separate Ein/Aus GA/Variable.

    Was den Workflow angeht, bin ich jetzt allerdings raus. Ich bastel mir meine Sachen noch mit der Hand am Arm zusammen und will mich erst mal nicht in den Workflow einarbeiten.
    Findet sich jemand der der dabei Hilfestellung leisten kann?
    ___*__*____
    Beste Grüße
    Frank

Ähnliche Themen

  1. Antworten: 17
    Letzter Beitrag: 17.03.19, 22:04
  2. LED Ansteuerung über HSV
    Von integrator im Forum KNX/EIB, LCN
    Antworten: 11
    Letzter Beitrag: 17.01.19, 17:00
  3. Antworten: 9
    Letzter Beitrag: 23.01.16, 16:06
  4. Ansteuerung eines Dimmers über WAGO I/O
    Von TK6 im Forum Skripte, PHP, SQL
    Antworten: 16
    Letzter Beitrag: 19.03.07, 14:44

Stichworte