Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - StringToFloat wirft Exception in debug Seite

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

    HS/FS - √ - StringToFloat wirft Exception in debug Seite

    Hallo zusammen

    Um die Zimmertempereatur via hsFusion editieren zu können habe ich an einen Ausgang des hsFusion Serial Connectors den Baustein 17755 StirngToFloat gehängt.

    Jedes Mal wenn ich meinen iPad einschalte und CommandFusion starte wirft der Bausten 17755 4 Exceptions (eine pro Logikzeile) weil index out of range.
    Dies kommt weil der hsFusion Serial Connector bein connect des iPad die Ausgänge mit einem Text von Null Zeichen Länge zu initialisieren scheint.

    Als Abhilfe hab ich mir den Baustein 17755 so umgebaut, dass er sich bei einem Text auf E1 mit Null Länge selbst wieder beendet.

    Hier nun meine Frage:
    Wie wandelt Ihr den hsFusion output wieder in eine Zahl um?
    Mache ich da was falsch oder bin ich einfach der Erste dem dieses Verhalten aufgefallen ist?

    Gruss, Holger
    ECMACOM GmbH
    Konzeption, Planung, Implementation, Unterhalt
    www.ecmacom.ch
    www.knxshop4u.ch

    #2
    Der Fehler liegt da aber wohl im 17755 denn dort müsste
    5012|"len(EN[1])>0" stehen bevor EN[1][0] abgefragt wird

    Code:
    #Regex auf SN[1]
    5012|"len(EN[1])>0"|"__import__('re').findall('(\x2D?[\d]+(?:\x2E\d+)?)',EN[1])"|""|0|0|1|0
    
    # Wenn match dann wandeln
    5012|"SN[1]"|"float(SN[1][0])"|""|1|0|0|0
    
    #SN[1] reset
    5012|"SN[1]"|"0"|""|0|0|1|0
    ist aber ungetestet un nur mal eben so daher gehackt.
    Nils

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

    Kommentar


      #3
      Hallo Nils

      OK, das beruhigt mich. War mich nicht sicher ob ich im hsFusion was falsch mache.

      Habs so ähnlich wie Du gelöst

      Wenn Länge kleiner 1, dann Fehler auf Ausgang 3 setzen und Abbruch.
      Code:
      5012|1|"len(EN[1])<1"|"1"|""|3|0|0|0
      Danke und Gruss, Holger
      ECMACOM GmbH
      Konzeption, Planung, Implementation, Unterhalt
      www.ecmacom.ch
      www.knxshop4u.ch

      Kommentar


        #4
        Der Baustein 17755 kann wenn ich mich richtig erinnere keine negative Zahlen.
        Ausserdem würde er auch versuchen 23.2.3 zu wandeln und mit einer Exception abrechen. Den Dezimaltrenner hab ich mir jetzt mal gespart.
        Nils

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

        Kommentar

        Lädt...
        X