Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - 3 Byte mit dem HS senden

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

    #16
    Zur Entwirrung willst Du das da http://knx.org/media/docs/downloads/...07.00%20AS.zip runterladen und ab Seite 75 nachlesen wie der 225.001 aufgebaut ist - ist sogar mit Beispielen!

    Kommentar


      #17
      @MarkusS
      Das steht schon in meinem ersten Post

      @für alle anderen
      Genauso wie ich es beschrieben habe, funktioniert es !
      Somit ist es also problemlos möglich, 3 Byte Objekte gezielt anzusteuern. Später bastel ich mir einen Baustein dazu, der sich einfach die Formel hält:
      Byte 3 * 65536 + Byte 2 * 256 + Byte 1

      Beim Typ 255.001 stehen Byte 3 und 2 für die Zeit in 100ms.
      Für 10 Sekunden muss Byte 2 also 100 sein.
      Byte 1 steht für die Helligkeit von 0 bis 255 (0 bis 100%).

      sind also: 0*65536 + 100*256 + 255
      Das Ergebnis von 25855 schickt man auf das Objekt und....taadaa...Er dimmt langsam von 0 auf 100% Helligkeit in 10 Sekunden hoch.


      Ich denke, dass diese Lösung auch für viele andere Anwendungsfälle und Datentypen gilt.
      Trotzdem vielen Dank für eure Unterstützung !

      Kommentar


        #18
        Für alle Interssierten: hiermit klappt das einwandfrei

        ### BS : DPT 225.001
        5000|"# schmiddi998\DALI Siemens TWIN Zeitobjekt"|0|2|"E1 Fade-Zeit (max.6550 Sek.)"|"E2 Hellgkeit (in %)"|1|"A1 Zeit+Wert (3 Byte als Integer)"

        5001|2|1|0|0|0

        5002|1|0 # 1 Fade-Zeit in SEk
        5002|2|100 # 2 Helligkeit %


        5004|1|0|0|1 # Integer DPT 225.001 (3Byte)


        5012|0|""|"int(__import__('struct').unpack("B",(__ import__('struct').pack(">H",EN[1]*10)[:1]))[0])*65536 + int(__import__('struct').unpack("B",(__import__('s truct').pack(">H",EN[1]*10)[1:]))[0])*256 + int(round(EN[2]*255)/100)"|""|1|0|0|0
        Werde daraus nochmal bei Zeiten einen kompletten RGB Baustein machen. Vielleicht nutzt das später auch für DMX-Gateways. Kennt jemand zufällig ein gutes, bezahlbares von KNX auf DMX ?

        Kommentar


          #19
          Im Prinzip schon fast schön:
          • Oben in die Kommentare sollte ein Hinweis auf Lizenz (z.B. GPL, CC-irgendwas) rein, die Baustein-ID und ein Hinweis auf den Autor (Copyright)
          • In der 5000 fehlt die Version
          • Die Kategorie "schmiddi998" gibt es nicht und sollte auch nicht eingeführt werden, weil bei gefühlt 100 Leuten die Logikbausteine basteln blickt da im Experten keiner mehr durch was jetzt Fritz4711, Paul123 oder Klaus666 war.
          • Die Baustein-ID sollte in Klammern in der 5000 hinter den Namen damit man z.B. auf Screenshots von Logikblättern sehen kann was / welcher das ist.

          Kannst Du Dir z.B. da knx-user-forum Service - Downloadbereich ansehen.

          Kommentar


            #20
            Ok, werde ich mal bei Gelegenheit umsetzen. Das mit der Version im 5000er ist mir neu. Muss ich mal nachschlagen.
            Das mit dem Nickname...da geb ich dir Recht. Bisher habe ich nur für mich bzw. Firma Bausteine geschrieben, daher lege ich auch (bisher) kein Wert auf Copyright usw.
            Nummerkreis habe ich auch nicht. Wollte der Gemeinde aber dieses Mal mein Wissen nicht vorenthalten, weil ich auf der Suche nach einer Lösung für das Problem gesehen habe, dass das schon öfter gefragt wurde (jetzt nicht für den DPT 225.001, aber für andere 3 Byte Datentypen). Kann ja auch den Baustein dann so umfummeln, dass man die 3 einzelnen Bytes angeben kann und hinten der fertige Interger rausflutscht. Dann wäre der Baustein für alle 3 Byte Anwendungen gültig...

            Bis dahin: guten Wochenstart !

            Kommentar


              #21
              Wir, sprich das Forum, haben für solche Fälle einen komfortabel großen Nummernkreis aus dem wir bei Bedarf einzelne oder mehrere IDs zur Verfügung stellen. Einfach beim Kollegen Vento melden.

              Kommentar


                #22
                Die Kurzfassung ist

                Code:
                5012|0|"(EC[1] or EC[2]) and 0 <= EN[1] <= 6550 and 0 <= EN[2] <= 100"|"(int(EN[1])<<8)*10+int(EN[2]*255/100)"|""|1|0|0|0
                Logikdoku v2.2 von 2012
                Beispiel anhand der Ein-/Ausschaltverzögerung:
                5000| "Verzögerung\Ein/Ausschaltverzögerung"|0|3| "E1 EIN (Sek.) "| "E2 AUS (Sek.) "| "E3
                Signal"|2| "A1"| "A1 neg"|"v2.7.110721"
                warum die Doku immer angefordert werden muss und nicht einfach frei zum Download steht versteh ich sowieso nicht.

                Was die Kategorien angeht find ich es auch schön wenn die in bestehende gebracht werden (sofern möglich und sinnvoll), das sollte aber eigentlich dann auch mit den Dacom Bausteinen passieren, denn die Kategorie "Weitere Bausteine" oO find ich eher schräg.
                Nils

                aktuelle Bausteine:
                BusAufsicht - ServiceCheck - Pushover - HS-Insight

                Kommentar


                  #23
                  Ich brech mir hier einen ab und dann kommt NilsS mit sowas um die Ecke...

                  Baust du mir bitte noch einen RGB Baustein dazu ?

                  EDIT: https://docs.python.org/2/library/st...-integer-types

                  Kommentar


                    #24
                    Falls der nur je EN[1],[2],[3] bitshifftet hat

                    Code:
                    5012|"(EC[1] or EC[2] or EC[3]) and len(filter(lambda x: 0< x <= 255,EN[1:])) == 3"|"(int(EN[1])<<16)+(int(EN[2])<<8)+int(EN[3])"|""|1|0|0|0
                    könnte passen.
                    Nils

                    aktuelle Bausteine:
                    BusAufsicht - ServiceCheck - Pushover - HS-Insight

                    Kommentar

                    Lädt...
                    X