Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem Parsen eines Scriptoutputs zu einem Number Item

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

    Problem Parsen eines Scriptoutputs zu einem Number Item

    Hallo Zusammen,

    Ich habe ein Perlskript, was die Tage des Backupalters als ganzahligen Wert zurückliefert. Den Wert wollte ich mit der folgenden Rule an ein Number-Item namens "BackupAge" mit der Methode "postUpdate" übergeben. Die Ausgabe des Perlskriptes ist ein Integer, der jedoch von "executeCommandLine" als String zurückgegeben wird. Ich verstehe nicht, warum die Konvertierung von String nach Number nicht mit parseInt funktioniert, mit parseFloat aber schon.

    Code:
    var String backupageout = ""
    
    rule "Backupage"
    
            when
                    //Time cron "0 0 * * * ?"
                    Time cron "0/10 * * * * ?"
            then
    
            backupageout = executeCommandLine(Duration.ofSeconds(1), '/usr/local/scripts/backupage.pl')
    
            // 17.07.2022 naechste Zeile funzt nicht
            BackupAge.postUpdate(Integer::parseInt(backupageout))
            //BackupAge.postUpdate(Float::parseFloat(backupageout))
    
            logInfo("Rule Backupage executed:", backupageout)
    end
    Es kommt folgende Fehlermeldung:
    Code:
    2022-07-17 10:20:50.891 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'backupage-1' failed: For input string: "0
    " in backupage
    Hat jemand einen Tipp?

    Danke & Gruß
    Thoern

    #2
    BackupAge ist und braucht ein Float - die Tage des Backupalters als ganzahligen Wert erfüllt diese Anforderung nicht und muss geeignet umgerechnet werden von Integer nach Float

    Kommentar


      #3
      Hallo knxPaul,

      super. Vielen Dank für die Info. Habe in der Doku leider nichts gefunden, wie sich der Wertebereich eines Number-Items definiert.

      Grüße nach Bamberg!

      Kommentar

      Lädt...
      X