Ankündigung

Einklappen
Keine Ankündigung bisher.

Regex oder Map mit "enter"

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

    Regex oder Map mit "enter"

    Moin....
    über meine TCP Verbindung erhalte ich Strings, die am Ende einen Sprung in eine neue Zeile enthalten, also:

    Code:
    'VAR.KOBELKA.event=1 
    '<- hier ist dann erst das Ende des Strings...
    Wie kann ich jetzt einen Switch bauen, der mir diesen String einfängt
    Mit Map habe ich es versucht:

    VAR.KOBELKA.event=1\n=ON

    Aber das funktioniert leider nicht, könnte hier auch das = ein Problem darstellen ?
    Gruß
    Jörg
    OpenHAB 1.6.2 auf AsRock Q1900 NAS mit Openmediavault, Java8 Version 1.8.0_33-0031

    #2
    Ich habe keine Ahnung, worum es inhaltlich geht, wenn das allerdings eine Datei ist, die von Java als Properties eingelesen wird, dann sollte

    VAR.KOBELKA.event\=1\n=ON

    Dein Problem lösen. Gleich-Zeichen (u.a.) müssen mit dem Backslash escaped werden.

    Bei tiefergehendem Interesse hier nachzulesen:
    http://docs.oracle.com/javase/6/docs...a.io.Reader%29

    Kommentar


      #3
      Funktioniert leider nicht :-(

      Also, um noch mal ein wenig auszuholen:
      Ich habe einen Switch der per TCP Binding verbunden ist und auf test.map verweist:

      Code:
      Switch test <present> {tcp="<[192.168.178.99:*:MAP(test.map)],>[192.168.178.99:4442:MAP(test.map)]"}
      Im Log erscheint das dann folgendermaßen:
      Code:
      2015-02-06 11:20:27.917 [WARN ] [t.i.s.MapTransformationService] - Could not find a mapping for 'VAR.KOBELKA.event.test=1
      ' in the file 'test.map'.
      In der Testmap steht es zur Zeit folgendermaßen:
      Code:
      VAR.KOBELKA.event.test\=1\n=ON
      VAR.KOBELKA.event.test\=0\n=OFF
      ON=VAR.KOBELKA.event.test=1
      OFF=VAR.KOBELKA.event.test=0
      Hat jemand noch eine andere Idee, wie ich diesen String mit = und einem enter einfangen kann ?
      OpenHAB 1.6.2 auf AsRock Q1900 NAS mit Openmediavault, Java8 Version 1.8.0_33-0031

      Kommentar


        #4
        Schade.

        Eine Idee habe ich noch. Teste mal bitte "\r\n" anstelle von "\n".

        Also in etwa so:
        VAR.KOBELKA.event.test\=1\r\n=ON
        VAR.KOBELKA.event.test\=0\r\n=OFF

        Kommentar


          #5
          So wirklich verstehe ich das Problem nicht. Ich meine, das ist TCP, da gibt es keine "Nachrichten", nur Zeichen-/Bytefolgen. Was passiert denn bitte, wenn der zwei Nachrichten auf einmal liest? Kann immer mal passieren …

          Will sagen: Nach meinem Verständnis sollte das eigentlich ganz ohne \r und/oder \n am Ende funktionieren. Wenn nicht, ist es ein Bug im openHAB.
          DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

          Kommentar

          Lädt...
          X