Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - linknx und 4byte

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

    - √ - linknx und 4byte

    Hallo,
    ich experimentiere gerade mit 4byte Werten.
    Kann es sein, dass linknx mit EIS9 / DTP 14.xxx ein Problem hat?
    Die von mir getesteten Datentypen wie z.B. 12.xxx oder auch 20.102(2byte) u.a. funktionieren einwandfrei. Sobald ich einen der letztgenannten Datentypen über den Bus absende, kann ich den Wert per PHP über linknx auslesen.

    Der gleiche Versuch mit 4byte, EIS9 bringt folgendes:
    Auslesen per ETS: Wert stimmt
    Auslesen per linknx Typ EIS9: falsche Dezimalzahl
    Auslesen per linknx Typ 14.xxx: falsche Zahl mit Exponent

    Die Versuche habe ich mit linknx 0.0.25 und 0.0.26 durchgeführt, wobei die neueste Version EIS9 nicht mehr akzeptiert (was ja auch ok ist)

    Über das Thema linknx und EIS9 / 14.xxx findet sich leider nichts im Forum.

    Nachtrag:
    Wenn ich über linknx einen 4byte Wert auf den Bus sende, kann die ETS damit ebenfalls nichts anfangen

    Bin ich der Erste, der damit spielt?

    Gruß Ralf

    #2
    Zitat von df9ik Beitrag anzeigen
    Der gleiche Versuch mit 4byte, EIS9 bringt folgendes:
    Auslesen per ETS: Wert stimmt
    Auslesen per linknx Typ EIS9: falsche Dezimalzahl
    Auslesen per linknx Typ 14.xxx: falsche Zahl mit Exponent
    Hallo,

    Kannst du ein Beispiel geben, welche Wert hat das objekt, wie die Hex Telegramme im ETS aussieht, und welche Wert erhälst du mit linknx.

    Noch eine frage. Auf welche Platform ist Linknx? PC, NAS, Router, ...

    MfG,

    Jean-François

    Kommentar


      #3
      Hallo Jean-Francois,

      getestet habe ich unter Debian Lenny mit Kernel 2.6.18-6-686, linknx 0.0.25 und 0.0.26.

      Die Konfiguration sieht so aus:

      <object id="PV-I" gad="0/6/3" type="14.xxx">PV-I</object>

      __________________________________________________ ____

      <rule id="EIS-Test">
      <condition type="timer" trigger="true">
      <every>30</every>
      </condition>
      <actionlist>
      <action type="set-value" id="PV-I" value="10" />
      </actionlist>
      </rule>

      _____________________________________________


      Beim Senden des Wertes in der "Actionlist" erscheint im Monitor der ETS3 folgendes:
      Code:
      Quelle Zieladr    Ziel Rout DPT Typ Daten 
      0.0.0  0/6/3 I L1 7 4 byte Write B7 C1 11 60 | -2,301548E-05
      Sende ich über den Gruppenmonitor den Wert 10 zeigt ihn der Monitor so an:
      Code:
      Quelle Zieladr Ziel Rout DPT Typ Daten 
      0.0.0 Keine gültige Quelladresse. 0/6/3 I L1 6 Rohdaten Write 41 20 00 00 | 10
      linknx wertet ihn so aus:

      Code:
      Write from 0.0.0 to 0/6/3: 41 20 00 00 
      1237755648 INFO valueObject32 : New value 4.40344e-34 for ValueObject32 PV-I

      So ich hoffe, das reicht (hätte ich auch gleich in der Anfrage schreiben können...)

      Viele Grüße

      Ralf

      Kommentar


        #4
        Hallo,

        Ich denke ich habe das Problem gefunden. Die Konversion von und nach float benutzen "pointer cast", die mit Kompiler Optimierung falsche Verhalten geben.
        Mit folgende Option am ende des configure Skript ist das Problem bei mir weg:
        ./configure ....... CXXFLAGS="-g -O0"

        "-g" meint "debug symbols included"
        "-O0" (strich; Letter O; Ziffer null) meint "ohne optimierung" (Vorgabewert: -O3)

        Bugfix ist schon in CVS.
        Hier sind die Patch für objectcontroller.cpp und objectcontroller.h
        http://linknx.cvs.sourceforge.net/vi....27&view=patch
        http://linknx.cvs.sourceforge.net/vi....18&view=patch

        Gruss,

        Jean-François

        Kommentar


          #5
          Hallo Jean-François,

          herzlichen Dank für den schnellen patch.
          Das Problem ist gelöst und linknx funktioniert prima.

          Viele Grüße

          Ralf

          Kommentar


            #6
            ist denn das 4byte Problem in der linknx Version auf dem WIREGATE schon gefixt. Wenn nicht, bräuchte ich mal eine kurze Anleitung (muß ich linknx dafür neu kompilieren oder reicht eine Änderung in einer config-Datei?

            Gruß aus Wörlitz

            Micha

            Kommentar


              #7
              Zitat von Micha Beitrag anzeigen
              ist denn das 4byte Problem in der linknx Version auf dem WIREGATE schon gefixt.
              Seit heute: ja. linknx 0.0.1.27 inkl. knxweb Stand CVS ist im Repository..
              (sorry ich hatte das garnicht gesehen aber Micha hat mich anderweitig getriggert

              Makki
              EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
              -> Bitte KEINE PNs!

              Kommentar


                #8
                Das Starten

                :/#linknx -cetc/linknx.xml

                bringt die Meldung

                terminate called after throwing an instance of "int"
                abgebrochen

                linknx scheint nicht zu starten, wer kann helfen?

                Gruß Micha

                Kommentar


                  #9
                  erledigt, LINKNX wollte keine 2. Instanz öffnen

                  Freundliche Grüße aus Wörlitz

                  Micha

                  Kommentar

                  Lädt...
                  X