UDP Befehl in hex einlesen - von Hanazeder Heizungssteuerung

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

    #1

    UDP Befehl in hex einlesen - von Hanazeder Heizungssteuerung

    Hallo,

    ich möchte einen UDP-Befehl der Hanazeder Heizungsteuerung mit einem Virtuellen Eingang einlesen. Im Loxone Monitor sieht er folgendermaßen aus:

    \xB9\x00\x01\x00\xC0\xA8\xB2\r\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00
    entspricht Digital-Ausgang 1 am Hanazeder Baustein

    \xB9\x00\x02\x00\xC0\xA8\xB2\r\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00
    entspricht Digital-Ausgang 2 am Hanazeder Baustein

    Problem ist der eingelernte Virtuelle Eingang reagiert nur auf diesen Befehl, d.h. nur wenn der Digitale Eingang 1 auch alleine aktiv ist.
    Muss ich jetzt für alle möglichen Varianten (z.B. Ausgang 1 und 2 gleichzeitig aktiv) virtuelle Eingänge anlegen?

    Vielen Dank im Voraus für eure Hilfe
    Grüße Dominik

    P.S. im weiteren Verlauf sollen auch Digitale und Analoge Signale von Loxone an Hanazeder gesendet werden.
  • svethi
    Lebende Foren Legende
    • 25.08.2015
    • 6346

    #2
    Das Problem an Deiner Frage ist, dass Dir das anhand Deiner Informationen kaum einer beantworten kann.
    Du schickst 2 Werteketten mit der entsprechenden Bedeutung. Wie man aber weitere Werte ableiten kann, zeigst Du nicht auf. Da geht es uns dann genau wie dem MiniServer.
    Wenn ich mir die Werte ansehe, dann unterscheiden diese sich nur am 3. Byte. Wahrscheinlich musst Du einfach das 3. Byte per \1 abfragen und erhältst dann den Wert. Diesen musst Du dann in Deinem Programm entsprechend auswerten.
    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

    Kommentar

    • Gast

      #3
      wie müsste ich das als Befehlserkennung im virtuellen Eingang eingeben?

      Kommentar

      • svethi
        Lebende Foren Legende
        • 25.08.2015
        • 6346

        #4
        Was steht denn da jetzt?
        Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

        Kommentar

        • Gast

          #5
          \xB9\x00\x02\x00\xC0\xA8\xB2\r\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00
          der komplette Text, so wurde es aus dem Lernmodus übernommen

          Kommentar

          • romildo
            Lebende Foren Legende
            • 25.08.2015
            • 5169

            #6
            Ich würde folgenden Befehlserkennung nehmen: \xB9\x00\x\v

            Nachtrag:
            Da der Wert als Hexzahl kommt, müsste die Befehlserkennung wie folgt funktionieren: \xB9\x00\x\h

            Nachtrag2:
            Was ich hier geschrieben habe ist alles Quatsch, die Lösung steht in #7
            Zuletzt geändert von romildo; 01.10.2017, 23:36.
            LG Romildo

            Kommentar

            • svethi
              Lebende Foren Legende
              • 25.08.2015
              • 6346

              #7
              Romildo, das wird nichts werden, da das ja Bytes sind.
              \xB9\x00\1 wird eher passen
              Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

              Kommentar


              • romildo
                romildo kommentierte
                Kommentar bearbeiten
                Vielleicht zeigt uns Gast mal wie die Befehlserkennung in seinem eingelernten Virtuellen Eingang aussieht.
                Wichtig ist in jedem Fall auch noch, dass der Virtuelle UDP Eingang für das Einlesen des Wertes auf Analog gestellt wird.

              • romildo
                romildo kommentierte
                Kommentar bearbeiten
                Ich habe mir das nochmals überdacht.
                Auch auf die Gefahr hin, dass ich jetzt in der Luft zerrissen werde bin ich zum Schluss gekommen, dass die Befehlserkennung \xB9\x00\x\h lauten müsste.
                Voraussetzung:
                Der in #5 aufgeführte Text steht im Loxone UDP - Monitor unter der Spalte Textdaten.
                Als Ergebnis in Loxone wird so der ankommende Hexwert als Dezimalwert angezeigt.
                Beispiel:
                Textwert im Loxone UDP-Monitor: \xB9\x00\xAB\..............
                Anzeigewert am Virtuellen UDP Eingang: 171

              • romildo
                romildo kommentierte
                Kommentar bearbeiten
                Ich nehem alles zurück und behaupte das Gegenteil
                svethi hat recht genau so wie er in #7 geschrieben hat muss es funktionieren.
            • Gast

              #8
              so siehts aus:
              (Signale kommen von zwei verschiedenen Ausgangs-Bausteinen aus Hanazeder, deshalb \xC0 und \xB9 beginnend)
              Zuletzt geändert von Gast; 01.10.2017, 22:29.

              Kommentar


              • romildo
                romildo kommentierte
                Kommentar bearbeiten
                svethi hat mal wieder recht
                Dann müsste die Befehlserkennung \xB9\x00\1 bei einem Virtuellen UDP Eingang als Analog eingestellt den Wert 0 anzeigen.
                Sobald sich der 3. Hexwert ändert müsste sich dann der Wert im Virtuellen UDP Eingang auch ändern. Der Wert wird als Dezimalwert angezeigt.
                Zuletzt geändert von romildo; 01.10.2017, 23:34.
            • Gast

              #9
              \xB9\x00\1 funktioniert soweit
              Danke euch!

              für Ausgang 1 kommt 1
              für Ausgang 2 kommt 2
              für Ausgang 3 kommt 4

              usw....

              was für ein Zahlensystem ist das? Würde das gern irgendwie mit einer Formel automatisieren, sonst muss ich wieder für jede mögliche Konstelation eine Auswerung programmieren....

              Kommentar


              • svethi
                svethi kommentierte
                Kommentar bearbeiten
                Bingo, jetzt hat romildo mal Recht ;-)

              • svethi
                svethi kommentierte
                Kommentar bearbeiten
                Ach ja, jeder Ausgang steht für ein Bit. Ausgang 1 und 2 zusammen ergeben 3. Mit dem Binär decoder bekommst Du einzelne Signale für jedes Bit

              • romildo
                romildo kommentierte
                Kommentar bearbeiten
                Auch ein blindes Huhn findet manchmal ein Korn
            • Gast

              #10
              funktioniert vielen Dank euch
              jetzt müsste es nur noch für Analog Signale funktionieren

              Kommentar


              • romildo
                romildo kommentierte
                Kommentar bearbeiten
                Verstehe Deine Frage nicht. Was meinst Du damit?
                3 ist Analog auch 3

              • svethi
                svethi kommentierte
                Kommentar bearbeiten
                Jupp, verstehe ich auch nicht

              • Gast
                Gast kommentierte
                Kommentar bearbeiten
                die Analog Signale werde aus dem Hanazeder-Baustein auf einem anderen Byte gesendet
            • romildo
              Lebende Foren Legende
              • 25.08.2015
              • 5169

              #11
              Wenn Du das Feld Befehlserkennung anwählst, bekommst Du unten beim Eigenschaftsfenster ein Hilfetext angezeigt. Da kannst Du sehen was alles als Befehlserkennung möglich ist.
              Wenn Beispielsweise die Befehlserkennung \h\h\1 lauten würde, würde er den 3. Hexwert lesen.
              Bei \h ist es egal welcher Hexwert da steht, bei \xB9 muss der Hexwert B9 vorhanden sein.

              Wenn Du verstehst was ich meine, dann findest Du auch heraus wie die Befehlserkennung für den Analogwert lauten muss.
              LG Romildo

              Kommentar

              Lädt...