Ankündigung

Einklappen
Keine Ankündigung bisher.

KOs manipulieren

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

    KOs manipulieren

    Ist es möglich beim setzen eines KOs (über ein Visuelement) diesen zu manipulieren?

    Im speziellen geht es um das Pioneer LBS von Claußen Lennart - ich müsste das KO in eine 3-digit Zahl umwandeln.

    Also wie folgt:
    Wenn < 100 = 0{#} (zB.: 085)
    Wenn < 10 = 00{#} (zB.: 001)

    #2
    ein Logikbaustein mit der Funktion
    Code:
    str_pad($number, 3 ,'0', STR_PAD_LEFT);
    sollte es tun.

    $number der zu wandelnde String, dann die Länge die rauskommen soll, und das Zeichen das voranngestellt werden soll.


    Edit: da es nur ein Zweizeiler ist:

    http://service.knx-user-forum.de/?co...ad&id=19000601
    Zuletzt geändert von vento66; 28.11.2016, 09:56.

    Kommentar


      #3
      Vielen Dank für die Antwort, der LBS ist wahrscheinlich schon genau das was ich benötige, nur leider weiß ich noch nicht genau wie ich diesen verwenden kann.

      Ich habe am Pioneer LBS einen Eingang (Command) wo ich eben diverse Befehle an einen Pioneer AVR übergeben werden... Bis jetzt habe ich dies einfach über ein KO gelöst welches über die Visu übergeben wurde (zB.: PO für Power On).

      Jetzt möchte ich eben über einen Schieberegler die Lautstärke setzen (Befehl zb.: "085VL"). Über den Schieberegler kann ich nun dem KO welcher den oben verlinkten LBS zugewiesen ist zB "85" zuweisen welcher diesen in "085" umwandelt. Wie ergänze ich das nun noch mit "VL" bzw. weiße dieses dann dem Pioneer LBS zu?

      Wie im Anhang ersichtlich kann ich hier keine Verbindung mehr schaffen... Gibt es hierfür ein "If LBS" :-)?

      Angehängte Dateien

      Kommentar


        #4
        Vielleicht sowas:

        Code:
        ###[DEF]###
        [name        =If...then...else    ]
        
        [e#1        =Bedingungswert        ]
        [e#2        =Vergleichswert        ]
        [e#3         =Wert if    #init=1    ]
        [e#4         =Wert else    #init=0    ]
        
        [a#1        =Ergebnis            ]
        ###[/DEF]###
        
        
        ###[HELP]###
        
        ###[/HELP]###
        
        
        ###[LBS]###
        <?
        function LB_LBSID($id) {
            if ($E=logic_getInputs($id)) {
                if ($E[1]['refresh']==1 && $E[1]['value']!='' && $E[2]['value']!='') {
                        if ($E[1]['value']==$E[2]['value']) {
                            logic_setOutput($id,1,$E[3]['value']);
                        } else {
                            logic_setOutput($id,1,$E[4]['value']);
                        }
                }
            }
        }
        ?>
        ###[/LBS]###
        
        
        ###[EXEC]###
        <?
        
        ?>
        ###[/EXEC]###
        Edit: Nein, hatte nicht alles gelesen, sondern nur den letzten Satz.
        Da gibt einen LBS zum String setzen aus Einzelteilen LBS 18000001.
        Zuletzt geändert von WagoKlemme; 28.11.2016, 19:37.
        >>Smelly One<<
        >> BURLI <<
        Grüße Armin

        Kommentar


          #5
          So in etwa:


          pioneer.PNG

          Kommentar


            #6
            @vento66 Vielen Dank das bringt schon sehr viel Licht ins Dunkle :-). Dein "Dummy für ein "IKO 532" versteh ich noch nicht ganz. Diesen KO könnte ich auch direkt bei E1 des "Klemme 2-fach LBS" definieren, oder!?

            Und ich nehme an "Klemme 2-fach LBS" liefer auf Ausgang "A1" jenachdem E1 bzw. E2 jenachdem wo ein Wert gesetzt wird!?

            DANKE für die Unterstützung

            Kommentar


              #7
              Den Dummy hab ich nur genommen, da er gerade auf dem Logikblatt lag, mit dem Rest liegst Du völlig richtig.

              Kommentar

              Lädt...
              X