Ankündigung

Einklappen
Keine Ankündigung bisher.

Dimmer mit Wertliste?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Dimmer mit Wertliste?

    Hallo miteinander,

    vermutlich sehe ich gerade den Wald vor lauter Bäumen nicht:

    Hintergrund ist, dass ich (leider) einige Retrofit-Leuchten (G9 + Lunatone-Dimmer) habe, welche sich zwar recht weit herunterdimmen lassen, nur ist der tatsächliche Dimmwert bei "es glimmt nur noch" in Daten und Wahrheit bei 60%. Somit möchte ich einen Dimmer oder Drehregler auf der Visu haben, der zwischen 60% und 100% bspw. in 2%- oder 5%-Schritten arbeitet, sich aber auch bis auf 0% resp. "aus" runterregeln lässt. Anders gesagt: Der WAF ist nicht sonderlich hoch, wenn ich zwischen 0% und 60% den Regler drehe und an der Leuchte passiert nichts.

    Ich habe das unter anderem mit einer Wertliste versucht, nur bleibt der Effekt dabei eben genau der gleiche: Zwischen 0% und 60% passiert nichts. Any ideas?
    Kind regards,
    Yves

    #2
    Kannst Du mal einen Minimalwert von 60 vorgeben? Ich weis jetzt zwar nicht wie sich der Drehregler verhält, aber die Rückmeldung müsste dann halt über eine Logik laufen, die aus den verbleibenden 40% eine Anzeige von 0-100 generiert.

    Kommentar


      #3
      Ich würde einen kleinen LBS dafür erstellen, der nimmt am Eingang E1 0-100 (oder 0-255) entgegen und rechnet dann auf 60-100 an A1 um:
      E1 = 0 -> A1 = 0
      und für die Werte an E1 von 1-100 die Formel: A1 = E1*(40/99)+60 oder anders geschrieben A1 = E1 * (100-60)/(100-1)+60

      Edit: Umgekehrt muss der Statuswert E2 auch noch umgerechnet werden, es gilt E2 = 0 -> A2 = 0 und für E2 >0 gilt A2 = (E2 - 60) * (99/40)
      Zuletzt geändert von panzaeron; 24.04.2018, 22:16.

      Kommentar


        #4
        Hallo,

        konntest du das mittlerweile lösen?

        Gruß

        Kommentar


          #5
          Ich habe gerade die Formel aus #3 in einen LBS gegossen, das Ergebnis ist der LBS 19001670.
          Vielleicht ist der was für dich.

          Kommentar


            #6
            Klasse

            Sobald ich mein MQTT Problem im Griff habe werde ich es sofort testen. Besten Dank!

            Kommentar


              #7
              Hallo panzaeron könnte man noch eine E6 einfügen für einen maximalen wert. Hintergrund ist der, dass ich bei manchen Lampen am 10% keine weitere Verringerung der Helligkeit mehr Feststellen kann und genau so z.b. ab 60% keine weitere Erhöhung.
              Somit habe ich eigentlich nur einen Nutzbaren Bereich von 10-60%.

              Kommentar


                #8
                ChrisChros Du könntest auch einfach den Wertbegrenzer-LBS davorschalten (19000360)

                Kommentar


                  #9
                  Zitat von ChrisChros Beitrag anzeigen
                  könnte man noch eine E6 einfügen für einen maximalen Wert.
                  Hmm, gute Frage, die Formel oben funktioniert nur bei einer unteren Grenze, da muss ich mal drüber nachdenken wie die Formel lauten muss.

                  Kommentar


                    #10
                    Hi,

                    ich habe mir mal in Excel mal auf die schnelle versucht die beiden Formeln für Umwandlung Stellwert in % und % in Stellwert zu basteln und glaube wie folgt könnte es funktionieren:

                    Benötigte Parameter:
                    - MINIMAL
                    - MAXIMAL

                    Rahmenbedingungen:
                    - Stellwert < Minimal = 0%
                    - Stellwert > Maximal = 100%

                    Berechnung "realistische" Prozentangabe bezogen auf Wertebereich zwischen MIN und MAX:

                    ( 1 - ( MAXIMAL - STELLWERT ) / ( MAXIMAL - MINIMAL ) ) * 100


                    Und entsprechend in andere Richtung aus Prozentangabe den Stellwert zwischen MIN und MAX ermitteln:

                    MINIMAL + PROZENT_SOLLWERT / ( 100 / ( MAXIMAL - MINIMAL ) )

                    Beispielhafte Werte für MINIMAL = 10 und MAXIMAL = 60:
                    Prozent Stellwert
                    0 10
                    2 11
                    5 12,5
                    10 15
                    25 22,5
                    50 35
                    60 40
                    75 47,5
                    90 55
                    98 59
                    100 60


















                    Vll. kannst du das ja im LBS nachbilden? Ich bin da noch nicht so fit drin :-)

                    Gruß Sven

                    Kommentar


                      #11
                      Danke für deine Rechnung, ich habe den LBS in einer neuen Version mit maximalen Wert hochgeladen.

                      Kommentar


                        #12
                        Danke panzaeron und OleDeluxe werde den Baustein die Tage mal testen.

                        Kommentar


                          #13
                          panzaeron ich konnte heute endlich den LBS testen und er tut was er soll.
                          Könntest du ihn aber noch dahin gehend abändern, dass er wenn der Sollwert über dem "MAXIMAL" liegt automatisch 100% gesetzt wird? Aktuell wird er einfach auf den Max-Wert gesetzt.
                          Beim umgekehrten Fall funktioniert es ohne Probleme, sobald der Sollwert unter "MINIMAL" liegt, wird automatisch auf 0 herabgesetzt.

                          Gruß Sven

                          Kommentar


                            #14
                            Hallo,

                            ich suche auch gerade nach einer Möglichkeit, die Dimmkurve von LED-Retrofits so zu modellieren, dass man mit einem Dimmbefehl zwischen 0-100% eine der Wahrnehmung entsprechende Helligkeit einstellen kann- die im Dimmer vorhandenen Dimmkurven leisten das nicht.
                            Ich bin mir auch nicht sicher, ob feste "Rechenformeln" im LBS wie weiter oben beschrieben, für alle Leuchtmittel richtig sind. Wenn ich es richtig verstehe, begrenzen die ja nur die Bereiche, gehen aber ansonsten von Linearität aus.
                            Frage: Gibt es schon einen LBS bzw. wäre es sinnvoll, einen LBS zu entwickeln, an dessen Eingängen man eine Wertetabelle definieren kann? Man könnte dann definieren, welcher Ausgangswert bei 0,10,20,...90,100 (%) Eingangswert gesendet werden soll. Bei "krummen"Eingangswerten könnte linear interpoliert werden. Der Dimmwertstatus könnte entsprechend in einen Prozentsatz zurück gewandelt werden.
                            Wäre das nicht ein universellerer Ansatz für ein LBS?

                            Grüße,

                            Gunnar

                            Zuletzt geändert von junibart; 25.08.2018, 22:14. Grund: Ergänzung

                            Kommentar


                              #15
                              junibart ich hab mal an sowas gebastelt. Ist ziemlich primitiv, aber vielleicht suchst du den. Macht ne Kurve mit 10 Segmenten wobei die Zwischenbereiche linear interpoliert werden.

                              PHP-Code:
                              ###[DEF]###
                              [name  = Multiskalierer ]

                              [e#1  = Wert    #init=1  ]
                              [e#2  = Primär Skala Anfangswert #init=0  ] 
                              [e#3  = Primär Skala 2.Wert  #init=10  ]
                              [e#4  = Primär Skala 3.Wert  #init=20  ]
                              [e#5  = Primär Skala 4.Wert  #init=30  ]
                              [e#6  = Primär Skala 5.Wert  #init=40  ]
                              [e#7  = Primär Skala 6.Wert  #init=50  ]
                              [e#8  = Primär Skala 7.Wert  #init=60   ]
                              [e#9  = Primär Skala 8.Wert  #init=70  ]
                              [e#10  = Primär Skala 9.Wert  #init=80  ]
                              [e#11  = Primär Skala 10.Wert  #init=90  ]
                              [e#12  = Primär Skala Endwert  #init=100  ]

                              [e#14  = Ziel Skala Anfangswert #init=0  ]
                              [e#15  = Ziel Skala 2.Wert  #init=1  ]
                              [e#16  = Ziel Skala 3.Wert  #init=2  ]
                              [e#17  = Ziel Skala 4.Wert  #init=3  ]
                              [e#18  = Ziel Skala 5.Wert  #init=4  ]
                              [e#19  = Ziel Skala 6.Wert  #init=5  ]
                              [e#20  = Ziel Skala 7.Wert  #init=6  ]
                              [e#21  = Ziel Skala 8.Wert  #init=7  ]
                              [e#22  = Ziel Skala 9.Wert  #init=8  ]
                              [e#23  = Ziel Skala 10.Wert  #init=9  ]
                              [e#24  = Ziel Skala Endwert  #init=10 ]

                              [a#1  = Wert ]
                              [a#2  = Interval ]
                              [a#3  = Interval unten]
                              [a#4  = Interval oben ]
                              [a#5  = Ziel-Interval unten]
                              [a#6  = Ziel-Interval oben ]
                              [a#7  = Ziel-Wert ]

                              ###[/DEF]###


                              ###[HELP]###
                              Vorlage: Standard-LBS
                              ###[/HELP]###


                              ###[LBS]###
                              <?
                              function LB_LBSID($id) {
                               if ($E=logic_getInputs($id)) {

                                if ($E[1]['refresh']==1 || $E[2]['refresh']==1 || $E[3]['refresh']==1 || $E[4]['refresh']==1 || $E[5]['refresh']==1 ||
                                                   $E[6]['refresh']==1 || $E[7]['refresh']==1 || $E[8]['refresh']==1 || $E[9]['refresh']==1 || $E[10]['refresh']==1 ||
                                                   $E[11]['refresh']==1 || $E[12]['refresh']==1 || $E[14]['refresh']==1 || $E[15]['refresh']==1 || $E[16]['refresh']==1 || 
                                    $E[17]['refresh']==1 || $E[18]['refresh']==1 || $E[19]['refresh']==1 || $E[20]['refresh']==1 || $E[21]['refresh']==1 ||
                                 $E[22]['refresh']==1 || $E[23]['refresh']==1 || $E[24]['refresh']==1)
                                {


                                 for($i = 2;$i <= 11;$i ++){
                                  $l=$i+1;
                                  $m=$i+12;
                                  $n=$i+13;
                                  $A=$E[1]['value'];
                                  if (!is_numeric($A)) {$A=0;}

                                      if ($A>=$E[$i]['value'] && $A<$E[$l]['value']) {
                                  
                                    $B=$E[$i]['value'];
                                    $C=$E[$l]['value'];
                                    $O=$E[$m]['value'];
                                    $P=$E[$n]['value'];
                                    $Pos=$i-1;
                                    }

                                   }

                                  $G=($C-$B);
                                  $H=$P-$O;
                                  $L=($A-$B);
                                  $LA=$L/$G;
                                  $M=(($LA*$H)+$O);
                                  $Z=($M); 
                                 

                                  setLogicLinkAusgang($id,1,($A));
                                  setLogicLinkAusgang($id,2,($Pos));
                                  setLogicLinkAusgang($id,3,($B));
                                  setLogicLinkAusgang($id,4,($C));
                                  setLogicLinkAusgang($id,5,($O));
                                  setLogicLinkAusgang($id,6,($P));
                                  setLogicLinkAusgang($id,7,($Z));
                               }

                               }
                              }
                              ?>
                              ###[/LBS]###


                              ###[EXEC]###
                              <?
                              ?>
                              ###[/EXEC]###

                              Kommentar

                              Lädt...
                              X