Ankündigung

Einklappen
Keine Ankündigung bisher.

wieder eine Syntaxfrage.....

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

    wieder eine Syntaxfrage.....

    Hallo,
    ich hab mal wieder ne Frage...
    Ich versuche Temperaturen als Text in einem UDP Paket zu verschicken.
    In der ersten Version einfach so:
    [highlight=epc]
    if cycle(00,10) then {
    sendudp (5050u16,192.168.178.210,convert(setdate(),$$)+$,$ +convert(RLSpeicherVonHeizung_Temperature,$$),0x0D ,0x0A)
    } endif
    [/highlight]

    Die Pakete werden von netcat in eine Textdatei geschrieben. Mit dem ,0x0D,0x0A versuche ich Return&Linefeed zu machen.
    Geht auch, aber davor enteht immer ein Byte mit NULL:
    Das sieht im Hexeditor dann so aus:
    00000044h: 32 36 2E 37 36 00 0D 0A ; 26.76...
    Dadurch ist die Datei keine Textdatei sondern wird als irgendein Binärformat erkannt.
    Das nervt bei weiteren Konvertierungen.

    Probiert habe ich dann diverse Sachen:
    [highlight=epc]
    if cycle(00,10) then {
    CarriageReturn1 = $\n$
    TempSend = $$;
    TempSend = TempSend + convert(setdate(),$$)+$,$;
    TempSend = TempSend + convert(HLHeizung_Temperature,$$) + $,$ + CarriageReturn1;
    sendudp (5050u16,192.168.178.21,TempSend)
    } endif
    [/highlight]
    Diese Variante fand ich übersichtlicher (Es werden viel mehr Temperaturen gesendet als in dem Beispiel, das habe ich nur der Übersicht wegen gekürzt).
    Leider wird hier die Variable vor dem Zusammenbau nicht geleert. Sie wird immer größer.
    Warum??
    Außerdem wird wieder kein Return/Linefeed erzeugt.
    Was muss ich tippen für dieses Return&Linefeed, aber ohne das davor ein Nullbyte ensteht???

    Danke,
    yapon

    #2
    Zitat von yapon Beitrag anzeigen
    Hallo,
    Ich versuche Temperaturen als Text in einem UDP Paket zu verschicken.
    Geht auch, aber davor enteht immer ein Byte mit NULL:
    sendtcp/sendudp sendet bei Strings ($$) immer noch ein terminierendes Nullbyte. In der aktuellen Beta gibts da nun eine Funktion sendtcparray, die das nicht macht.
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #3
      Zitat von enertegus Beitrag anzeigen
      sendtcp/sendudp sendet bei Strings ($$) immer noch ein terminierendes Nullbyte. In der aktuellen Beta gibts da nun eine Funktion sendtcparray, die das nicht macht.
      O.K. Danke. Kuck ich mir an.

      Kommentar

      Lädt...
      X