Ankündigung

Einklappen
Keine Ankündigung bisher.

Objektwert wandeln (0...100% - 0...255)

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

    Objektwert wandeln (0...100% - 0...255)

    Zurzeit nur komische Probleme bei denen ich selbst nicht auf die Lösung komme...

    Mein CalaTouch KNX Taster hat einen aktivierbaren Schieberegler zum Einstellen der Jalousieposition, den ich auch gerne benutzen würde. Auf diesem will er ein 0...100% senden/empfangen (das Objekt ist gleichzeitig Eingang und auch Ausgang, was die Schwierigkeit in meinem Fall mitbringt).

    Der Jalousie Aktor gibt jedoch einen 0...255 Wert aus bzw. empfängt so einen (Befehl bzw. Position). Wäre ja an sich kein Problem, kann man ja umwandeln den Wert (der CalaTouch hätte im Berechner sogar eine passende Funktion die den Wert passend wandeln würde). Problem dabei ist nur dass eine GA Als Ein- und Ausgang benutzt wird und ich somit ja den Wert nicht wandeln kann da ich quasi auf einer GA zwei Datentypen bräuchte.
    (Darum wäre ich nebenbei froh wenn nicht beides auf einer GA liegen würde, finde das total kompliziert so und kannte das bisher auch nicht).

    Einer ne Idee bzw. steh ich einfach nur total auf dem Schlauch?

    Anbei noch ein Foto was ich meine mit Eingabe / Ausgabe auf einer GA
    Angehängte Dateien

    #2
    Was für ein Jalousieaktor?

    Kommentar


      #3
      Ja, du stehst auf dem Schlauch, der Wert ist immer 1 Byte 7nd immer im Bereich zwischen 0 und 255. welcher Wert angezeigt oder angezeigt wird ist nur vom Datenpunkttyp (Untertyp) abhängig.
      Gruß Florian
      Du kannst z.B. auch im Gruppenmonitor sehen, dass der Cala bei 100@ einen Hexwert von FF sendet.

      Kommentar


        #4
        Hi,

        wie Florian schon sagte, DPT 5.010 und DPT 5.001 sind kompatibel, haben den gleichen (technischen) Wertebereit und zeigen diesen Bereich nur unterschiedlich an. Also einfach über eine GA verbinden und fertig ist das Ganze. Es wäre ja idiotisch, wenn man bei einer Standardfunktion irgendwelche Werte konvertieren müsste.

        Zitat von PatrickL Beitrag anzeigen
        finde das total kompliziert so und kannte das bisher auch nicht
        Da ist aber absolut KNX-Konform. Nur weil MDT das anders macht (finde ich übrigens auch übersichtlicher), heißt das nicht, dass es falsch ist. Du solltest bei deiser Art von Ein-/Ausgang-KO immer darauf achten, dass Du Deine Status-GA als erste GA verknüpfst (als als sendende GA) und alle (weiteren) Schalt-GA dann erst dahinter (hörende GA).

        Gruß, Waldemar
        OpenKNX www.openknx.de

        Kommentar


          #5
          Nagut dann versuche ich das mal so wenn das ja anscheinend kompatibel sein soll

          Zitat von mumpf Beitrag anzeigen
          Da ist aber absolut KNX-Konform. Nur weil MDT das anders macht (finde ich übrigens auch übersichtlicher), heißt das nicht, dass es falsch ist. Du solltest bei deiser Art von Ein-/Ausgang-KO immer darauf achten, dass Du Deine Status-GA als erste GA verknüpfst (als als sendende GA) und alle (weiteren) Schalt-GA dann erst dahinter (hörende GA).

          Gruß, Waldemar
          das streite ich ja auch garnicht ab nur bisher ist mir sowas noch nicht untergekommen und für mich persönlich wäre es angenehmer das ganze auf 2 GA aufgeteilt zu haben anstelle von einer die beides macht aber das ist halt wahrscheinlich auch weil ichs so gewohnt bin

          Kommentar


            #6
            Es ist nur ein KO, aber du kannst es ohne Probleme auf 2 GA aufteilen, wir oben von mir beschrieben.

            Gruß, Waldemar
            OpenKNX www.openknx.de

            Kommentar


              #7
              Ich muss hier mal nachhaken,

              ich habe ebenfalls alte Jalousieaktoren die nur Statuswerte im Bereich 0....255 ausgeben können. D.h. DPT 5.001
              Mein Homeserver kann aber im OuadClient nur als Funktionsvorlage Jalousie 0...100% d.h. DPT 5.010

              Somit gibt der Jalousieaktor ja bei ausgefahrenem Rollo 255 aus. Der HS versteht aber nur bis 100.
              Bei der Hälfte wäre das 125, was aber ja auch schon drüber liegt.
              Gibt es einen Logikbaustein der die Protokolle wandelt?

              Kommentar


                #8
                Mathe verschlafen? Einfach durch 2,55 teilen.

                Kommentar


                  #9
                  Ja, das ist ja klar. Aber der Aufwand. Es muss ja in beide Richtungen gehen!
                  Habe im Downloadbereich jetzt einen Baustein gefunden der das gleich in beide Richtungen löst.
                  ID:11602 oder gleich 5-fach in einem ID:11603
                  Gibt es den keine Funktionsvorlage die 0.255 gleich von Hause aus versteht?
                  Zuletzt geändert von Wingman991; 07.07.2021, 22:08.

                  Kommentar


                    #10
                    Hi,

                    sorry, Du hast das mit den DPT nicht korrekt verstanden.

                    Zitat von Wingman991 Beitrag anzeigen
                    ich habe ebenfalls alte Jalousieaktoren die nur Statuswerte im Bereich 0....255 ausgeben können
                    Das tun ALLE KO vom DPT 5.*

                    Es ist nur so, dass
                    • DPT 5.001 besagt, dass die Werte 0-255 als 0-100% interpretiert werden
                    • DPT 5.010 besagt, dass die Werte 0-255 als Zahlenwerte 0-255 interpretiert werden
                    Der DPT ändert somit nichts am übertragenen Wert! Du musst somit nichts umrechnen, sondern dem HS nur sagen, dass der Wert als DPT 5.001 interpretiert werden soll.

                    Gruß, Waldemar
                    OpenKNX www.openknx.de

                    Kommentar


                      #11
                      Und genau deswegen frage ich hier.

                      D.h. der Aktor schickt einen Wert z.B. (0-255) von sagen wir mal 230 als Status (Rollo bei 90%). Der Datenpunkt im HS muss dann auf DPT 5.001 stehen und der HS interpretiert das als 90% und zeigt dies im Symbol so an?

                      Gegenfrage: Im QC gebe ich dem Schieberegler 90%, der HS schickt DPT 5.001 mit 90% raus und der Aktor versteht das? Glaube nicht das das funktioniert...
                      Der wird bei 90 im Range von 255 stehenbleiben.

                      Hoffe ich liege falsch...

                      Kommentar


                        #12
                        Zitat von Wingman991 Beitrag anzeigen
                        Gegenfrage: Im QC gebe ich dem Schieberegler 90%, der HS schickt DPT 5.001 mit 90% raus und der Aktor versteht das? Glaube nicht das das funktioniert...

                        Der wird bei 90 im Range von 255 stehenbleiben.

                        Hoffe ich liege falsch...

                        deine hoffung, dass du falsch liegst, ist berechtigt
                        und gegen bösen glauben hilft das heilige buch und bei uns die knx-grundlagenbücher...

                        du musst es dir einfach so vorstellen: auf den bus wird eine binärzahl geschickt. diese kannst du im gruppenmonitor sehen. dieser binärwert kann nun als dezimalwert 0-255 oder als prozentzahl 0-100% dargestellt werden, das ist aber nur eine darstellung! dahinter steht immer die selbe binärzahl.



                        gemäss forenregeln soll man bitte und danke sagen! also: bitte und danke!

                        Kommentar


                          #13
                          Um es nochmals aus einer anderen Sicht zu betrachten: Egal bei welcher 5.xxx Variante werden in Wirklichkeit IMMER 2 8-Bit Werte geschickt. Das sind 2 "Stellen", die aber eben so nicht in unserem Dezimalsystem abgebildet werden. Daher ist die kürzeste Darstellung, die wir haben eben das Hexadezimal (0-9 und dann A-F). Die Zahl 255 kann gerade noch im Hexadezimalsystem mit 2 Stellen abgebildet werden (wie im Beispiel oben): "FF". Die Darstellung als "255" würde doch schon 3 Stellen benötigen - und noch schlimmer wird es bei 100% - da haben wir 3 Stellen und einer geringere Teilung.

                          Die Kommunikation auf dem Bus ist aber immer gleich: 2 8-Bit Werte. Also ist eigentlich alles jenseits der Darstellung des Binärcodes oder meinentwegen der Hexadezimalzahlen eine Interpretation, die im Anzeigegerät statt findet. Ob das Ding Dir jetzt 0-100, 0-255 oder blau bis rot anzeigt, ist dabei egal (OK für blau bis rot gibt es keinen Untertyp --- noch nicht).

                          Das ist doch bei vielen anderen DTPs auch so - da wird vom Untertyp z.B. einfach eine Einheit hintendran gestellt. Dann weiß Dein Anzeigegerät halt, dass es für Dich °C oder K oder Lux oder sonst was hinschreiben soll ... Schau' Dir mal den DPT 20 an (HVACMode) - da wird auch nicht "Tag", "Nacht" oder so was gesendet, sondern EINE 8-Bit Zahl und wenn ich das richtig in Erinnerung habe, kannst Du sogar einfach diesen Wert als DPT 5 schicken (läßt die ETS nicht zu, geht aber über eine Logikengine) und Deine Heizungsaktoren interpretieren das entsprechend als Tag Nacht etc.

                          Viele Grüße,

                          Stefan
                          Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

                          Kommentar


                            #14
                            Hi,

                            Zitat von Wingman991 Beitrag anzeigen
                            Gegenfrage: Im QC gebe ich dem Schieberegler 90%, der HS schickt DPT 5.001 mit 90% raus und der Aktor versteht das?
                            Ich habe zwar keinen HS, aber da das ein KNX-Server ist, gehe ich mal fest davon aus, dass der nach KNX-Standards funktioniert. Irgendwo musst Du dem HS sagen können, dass es ein DPT 5.001 ist. Von da an sind Deine 90% IMMER 255*90% = 255*0.9 = 229.5 = 230 = $E6. Der HS schickt KEIN DPT 5.001 raus, er schickt immer nur 230 raus. Auf dem Bus gibt es kein DPT. Da gibt es nur einen 1-Byte-Wert.

                            Zitat von Wingman991 Beitrag anzeigen
                            Glaube nicht das das funktioniert...
                            Nicht glauben, ausprobieren . Du kannst auch einfach im Gruppenmonitor sehen, was die ETS verschickt, wenn Du auf eine GA mit DPT 5.001 eine 90 schickst. Auf dem Bus landet dann eine $E6 = 230.

                            Zitat von lobo Beitrag anzeigen
                            Egal bei welcher 5.xxx Variante werden in Wirklichkeit IMMER 2 8-Bit Werte geschickt.
                            Hi Stefan, Du meinst EINEN 8-Bit-Wert, der im Hexadezimalsystem durch 2 Ziffern im Wertebereich von 0-F (pro Ziffer) dargestellt wird, oder?

                            Zitat von lobo Beitrag anzeigen
                            ... und wenn ich das richtig in Erinnerung habe, kannst Du sogar einfach diesen Wert als DPT 5 schicken (läßt die ETS nicht zu..,
                            Ja, man kann es als DPT 5 schicken und die ETS lässt das auch zu. Für die ETS ist nur wichtig, dass die payload-Längen gleich sind. Wenn allerdings die DPT Hauptgruppe abweicht, kommt eine Warnung.

                            Gruß, Waldemar







                            OpenKNX www.openknx.de

                            Kommentar


                              #15
                              Zitat von mumpf Beitrag anzeigen
                              Hi Stefan, Du meinst EINEN 8-Bit-Wert, der im Hexadezimalsystem durch 2 Ziffern im Wertebereich von 0-F (pro Ziffer) dargestellt wird, oder?
                              Ei logisch - da hatte ich mich aufgrund der 2 Nibbles gerade schön ins Aus geschossen . Also klar - 1x 8 bit. Jetzt wollte ich es eigentlich verständlicher machen ...

                              Zitat von mumpf Beitrag anzeigen
                              Ja, man kann es als DPT 5 schicken und die ETS lässt das auch zu. Für die ETS ist nur wichtig, dass die payload-Längen gleich sind. Wenn allerdings die DPT Hauptgruppe abweicht, kommt eine Warnung.
                              Danke dafür. Ich hatte da mal vor 10 Jahren mit rumgespielt mit der ETS3 ...

                              Viele Grüße,

                              Stefan
                              Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

                              Kommentar

                              Lädt...
                              X