Virtueller UDP Eingang mit Text

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • hmpf99
    Extension Master
    • 02.11.2017
    • 102

    #1

    Virtueller UDP Eingang mit Text

    Hallo und guten Tag!

    Ich bekomme an einem Virtuellen Ausgang den folgenden Wert:

    "USB-1=Mo 11 02 24,7\xB0CAnlage Aus \r\n (Paradigma Disp1 "

    Auslesen möchte ich den Wert "Anlage Aus". Da kann zB auch stehen "Sommerbetrieb".
    Das ich den Text nicht direkt verarbeiten kann, habe ich gelesen und es würde ausreichen, wenn ich einen ASCII Wert von "S" oder "A" bekomen würde.
    Aber wie kann ich das aus dem String ermitteln? Das "xB0C" verstehe ich nicht. Ein "/v" liefert "0" zurück.

    Dankbar für einen Tipp, Frank
  • Leo Kirch
    MS Profi
    • 26.08.2015
    • 831

    #2
    Schon mal in die Doku geschaut?
    Erfahren Sie in der Online-Dokumentation, wie Sie UDP-Befehle mit dem Miniserver empfangen und versenden sowie die Befehle und Fernbedienung anlegen.
    -

    Kommentar

    • romildo
      Lebende Foren Legende
      • 25.08.2015
      • 5161

      #3
      Hallo,
      Befehlserkennung
      Code:
      B0C\1
      würde im obigen Beispiel den Wert 65, ASII-Wert für A, ausgeben.

      Die Befehlserkennung für den ganzen Text bis zu "Anlage Aus" müsste wie folgt eingetragen werden:
      Code:
      USB-1=Mo 11 02 24,7\x5CxB0C\1
      Als Ergebnis kommt auch hier der Wert 65.
      lg Romildo

      Kommentar

      • hmpf99
        Extension Master
        • 02.11.2017
        • 102

        #4
        Hallo und Danke :-)

        @Leo: Danke für den Link. In die Doku schaue ich seit über 2 Wochen immer wieder. So lange probiere ich schon daran rum. Geholfen hat es leider nix.

        @romildo: Vielen Dank aber leider klappt das auch bisher nicht. "USB-1=Mo 11 02 24,7\x5CxB0C\1" kann ich so nicht verwenden, denn MO steht für Montag und da steht morgen DI. Danach kommt die Uhrzeit und die Raumtemperatur. Als da verändern sich alle Werte permanent.
        Ich wollte eigentlich den Wert hinter dem "\xB0C" auslesen. Das wäre dann eigentlich "65" und ich könnte es damit als "Anlage Aus" identifizieren.

        Happy Day und Dank, Frank

        Kommentar


        • romildo
          romildo kommentierte
          Kommentar bearbeiten
          Steht doch in Post #3
          Befehlserkennung:
          B0C\1

          Wenn Du den \ auch noch einlesen möchtest musst Du \x5C dafür eingeben.
          Also für \xB0C Befehlserkennung: \x5CxB0C
          Zuletzt geändert von romildo; 22.06.2020, 19:58.
      • AlexAn
        Lebende Foren Legende
        • 25.08.2015
        • 4338

        #5
        Befehlserkennung:
        USB-1=\ixB0CAnlage \i\1

        xB0CAnlage Aus würde 65 ergeben
        xB0CAnlage Ein würde 69 ergeben
        xB0CAnlage Sommerbetrieb würde 83 ergeben

        Auswertung der Zahlen über einen Statusbaustein!
        Zuletzt geändert von AlexAn; 22.06.2020, 20:04.
        Grüße Alex

        Kommentar

        • hmpf99
          Extension Master
          • 02.11.2017
          • 102

          #6
          Hallo again,

          ich habe tatsächlich jetzt ein Ergebnis. Allerdings hat "B0C\1" nicht geklappt und auch "USB-1=\ixB0CAnlage \i\1" nicht.
          Anscheinend ist B0C ein Steuerzeichen, welches nicht erkannt wird. Ich hab dann noch mal ganz anders gedacht und "\s22\1" genommen.

          "USB-1=Mo 11 02 24,7\xB0CAnlage Aus \r\n (Paradigma Disp1 "

          Dabei muss "USB-1=" wohl die Angabe sein, woher der String kommt. Danach ist das 23. Zeichen dann in dem Fall das "A" von Anlage. Verstanden habe ich es noch nicht aber es klappt :-)

          Danke für die Tipps, die mich auf die richtige Idee gebracht haben!

          Happy Day, Frank

          Kommentar

          • Gerd Clever
            MS Profi
            • 24.07.2016
            • 642

            #7
            Des Rätsels Lösung:

            Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Unicode.PNG
Ansichten: 673
Größe: 5,8 KB
ID: 255757
            Miniserver Gen 2, v13.1.11.17, 9x Extension, 2x Relay Extension, 4x 1-Wire, Türkontakte, Mobotix T25

            Wenn der Herr nicht das Haus baut, dann ist alle Mühe der Bauleute umsonst. (Psalm 127,1)

            Kommentar

            • hmpf99
              Extension Master
              • 02.11.2017
              • 102

              #8
              Zitat von Gerd Clever
              Des Rätsels Lösung:

              Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Unicode.PNG Ansichten: 0 Größe: 5,8 KB ID: 255757
              °C ... Ich werf' mich weg. Danke dafür ... und "C\1" reicht tatsächlich, um "83" zu bekommen für "Sommerbetrieb".

              Kommentar

              • romildo
                Lebende Foren Legende
                • 25.08.2015
                • 5161

                #9
                Also wenn ich z.B. über Hercules
                Code:
                USB-1=Mo 11 02 24,7\xB0CAnlage Aus \r\n (Paradigma Disp1
                sende, kommt bei Loxone
                Code:
                USB-1=Mo 11 02 24,7\x5CxB0CAnlage Aus \x5Cr\x5Cn (Paradigma Disp1
                an.
                Daher funktionier bei mir sowohl B0C\1 wie auch \x5CxB0C.

                Es wird halt immer der erste übereinstimmende Suchtext gefunden.
                Wenn die Suche nach B0C nicht das gewünschte Ergebnis bringt, könnte es auch sein, dass dieser Text mehrfach vorkommt?

                Ich kann mir nicht vorstellen, dass bei der Befehlserkennung \s22\1 der Wert vom "Anlage Aus" kommt, ausser der Text in Post #1 stimmt nicht mit dem überein was in Loxone reinkommt.
                lg Romildo

                Kommentar

                • hmpf99
                  Extension Master
                  • 02.11.2017
                  • 102

                  #10
                  Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Unbenannt.JPG Ansichten: 0 Größe: 21,1 KB ID: 255790​​

                  Die Ausgabe stimmt auf jeden Fall. Aber man kann anscheinend nicht nach "B0C" suchen. Es wird nicht gefunden. Wenn ich nach "C" suche, klappt es.
                  Zuletzt geändert von hmpf99; 23.06.2020, 13:33.

                  Kommentar

                  • romildo
                    Lebende Foren Legende
                    • 25.08.2015
                    • 5161

                    #11
                    Zitat von hmpf99
                    ...man kann anscheinend nicht nach "B0C" suchen...
                    Man vielleicht nicht aber wie ich schon geschrieben habe, geht das bei mir. Config V11.0.5.5

                    Kommt denn was mit folgender Befehlserkennung?
                    \x42\x30\x43\1



                    lg Romildo

                    Kommentar

                    • hmpf99
                      Extension Master
                      • 02.11.2017
                      • 102

                      #12
                      Zitat von romildo
                      Man vielleicht nicht aber wie ich schon geschrieben habe, geht das bei mir. Config V11.0.5.5

                      Kommt denn was mit folgender Befehlserkennung?
                      11.0.5.5 habe ich auch. Mein String kommt ja aus einem USB Port über den Loxberry. Ich kann nur vermuten, dass der angezeigt String im Monitor nicht mit dem übereinstimmt, was da wirklich ankommt.

                      Mit \x42\x30\x43\1 kommt 0,0

                      Kommentar


                      • romildo
                        romildo kommentierte
                        Kommentar bearbeiten
                        Verstehe ich das jetzt richtig, das Bild mit der Ausgabe in Post #10 ist nicht vom Loxone UDP Monitor?
                        Wenn ja, schau doch mal im Loxone UDP Monitor was da kommt.

                        Die Version 11.0.5.5 wurde kurz nach deren Erscheinung nochmals ohne Versionierung ausgetauscht.
                    • Gerd Clever
                      MS Profi
                      • 24.07.2016
                      • 642

                      #13
                      Könnte es sein, dass im ankommenden Text \x+HEX-Wert automatisch in das zugehörige ANSI-Zeichen umgesetzt wird, und zwar vor der Auswertung der vorgegebenen Befehlserkennung.

                      Beispiel: \xB0 wird in ANSI(176) also in "°" (Grad) umgesetzt. Wenn dem so ist, müsste die Befehlserkennung °C\1 funktionieren.

                      Naja, alles so ein bisschen nach der Methode Trial and Error.
                      Miniserver Gen 2, v13.1.11.17, 9x Extension, 2x Relay Extension, 4x 1-Wire, Türkontakte, Mobotix T25

                      Wenn der Herr nicht das Haus baut, dann ist alle Mühe der Bauleute umsonst. (Psalm 127,1)

                      Kommentar

                      • hmpf99
                        Extension Master
                        • 02.11.2017
                        • 102

                        #14
                        Die Version ist aktuell. Das Bild ist ein Screenshot vom UDP-Monitor.

                        Ich schau gerade nochmal einiges nach:

                        \s20\1 bringt 176 - also "B0"
                        \s21\1 bringt 67 - also "C"
                        B0C\1 bringt 67 - also "C"


                        C\1 bringt 83 - also "S"

                        bei String aus dem UDP Monitor "USB-1=Di 16:56 26,8\xB0CSommerbetrieb \r\n"

                        Kommentar

                        • Gerd Clever
                          MS Profi
                          • 24.07.2016
                          • 642

                          #15
                          Zitat von hmpf99
                          ... B0C\1 bringt 67 - also "C"
                          Das kann eigentlich gar nicht sein ... Kannst Du das nochmal überprüfen?
                          Miniserver Gen 2, v13.1.11.17, 9x Extension, 2x Relay Extension, 4x 1-Wire, Türkontakte, Mobotix T25

                          Wenn der Herr nicht das Haus baut, dann ist alle Mühe der Bauleute umsonst. (Psalm 127,1)

                          Kommentar

                          Lädt...