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!
Ankündigung
Einklappen
Keine Ankündigung bisher.
- √ - 3 Byte mit dem HS senden
Einklappen
X
-
@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
-
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
Kommentar
-
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
-
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
-
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
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"
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.
Kommentar
-
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
Kommentar