Ankündigung

Einklappen
Keine Ankündigung bisher.

Webseiten-Abfrage mit Gleitkommawerten

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

    HS/FS Webseiten-Abfrage mit Gleitkommawerten

    Moin!

    Mir ist gerade aufgefallen, dass der HS bei einer KO-Übergabe an eine Webseite auf 1 Nachkommastelle rundet:

    z.B. /bla.php?wert={1/1/0}

    Der Inhalt von 1/1/0 (4-Byte Gleitkomma) wird gerundet - also statt 1.49 wird 1.5 übermittelt.

    Mein Workaround ist nun, 1/1/0 mit 100 zu multiplizieren (Logik) und das Ergebnis auf ein internes KO zu legen. Dieses dann in der URL angeben.

    Das funktioniert natürlich (aus 1.49 wird 149) und die Ziel-Webseite muss dann wieder durch 100 dividieren

    Frage:
    Da ich recht viele Float-Werte übertrage (eigenes Archiv-System auf LAMP-Basis) ist es natürlich mühsam, für jedes KO eine Multiplizier-Logik zu basteln… Gibt's dafür eine andere Lösung - sprich: Gibt es irgendeine Option, die dem HS das Runden abgewöhnt?!

    LG
    EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

    #2
    Es gibt einen Baustein Float zu Text. (müsste im hsfusion Paket drin sein)


    Der kann Float zu String, im Zweifel auch an Eingang 4 mit %f als Textformat.

    Code:
    #######################################################
    # hsfusion                        #
    #                           #
    #      (C) 2/2010, Christian Berg            # 
    #          www.berg-ing.de                  #
    #                           #
    #     Text + Zahl  + Text zusammensetzen auf Text     #
    #######################################################
     
    5000|"hsfusion\Text Zahl(float/int) Text zusammensetzen (C)www.berg-ing.de"|0|4|"Text"|"Zahl"|"Text"|"Kommastellen"|1|"Anzeigetext"
    # bei Start nicht berechnen
    # 1 = Anz Eingänge
    # 2 = Anz Ausgänge
    # 3 = Anz.ZeitspeicH
    # 4 = Anz. int.Speichervariablen
    # 5 = berechnung bei init=1
    5001|4|1|0|0|1
    # EN[x]
    5002|1|""|1  # Text
    5002|2|0|0  #  Zahl
    5002|3|""|1   #  Text
    5002|4|"2"|1 # Kommastellen
    
    #### 5003  Def Speichervariable ########################################################################################################
    # 1 = Index 1....n
    # 2 = Init-Wert
    # 3 = remanent=1
    
    #### 5004  Def. Ausgang   ########################################################################################
    # 1 = Index 1....n
    # 2 = Init-Wert
    # 3 = Runden auf binär
    # 4 = Send==1, sbc==2
    # 5 = Datenformat Text=1
    5004|1|""|0|1|1 # Text int
    # 
    5012|0|"EN[4].find('%')==-1"|"('%s%.'+str(int(EN[4]))+'f%s') % (EN[1],EN[2],EN[3],)"|""|1|0|0|0
    5012|0|"EN[4].find('%')!=-1"|"('%s'+str(EN[4])+'%s') % (EN[1],EN[2],EN[3],)"|""|1|0|0|0
    Nils

    aktuelle Bausteine:
    BusAufsicht - ServiceCheck - Pushover - HS-Insight

    Kommentar


      #3
      Danke für den Tipp!

      Inzwischen habe ich allerdings ein ambitioniertes Projekt angefangen: ich bin dabei den HS komplett in php nachzubauen, die knx-Kommunikation läuft dabei über eibd.

      Status quo: Bus-Kommunikation läuft stabil in eigenen treats und kommuniziert über eine in-Memory-DB mit dem Rest. Die Logik-Engine funktioniert bereits ausgezeichnet, ich muss jetzt nur noch diverse "Bausteine" basteln. Vom Prinzip funktioniert meine Logik genau wie die des HS, also eventgetriggert. Erstaunlich wie viele parallelen sich quasi von selbst ergeben haben, z.b. fix-werte am Eingang usw... Da ich jetzt die Macht über die Engine habe, kann meine Implementierung allerdings noch einiges mehr

      Der nächste Schritt ist jetzt das programmieren eines grafischen logikeditors, natürlich im browser. Die visu kommt danach (Ajax) dran, das dürfte relativ einfach werden.

      Sobald man etwas richtiges sehen kann (außer Shell-Ausgaben...) werde ich berichten. Dauert aber bestimmt noch einige Wochen - das ganze ist eine One-man-Show
      EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

      Kommentar

      Lädt...
      X