Ankündigung

Einklappen
Keine Ankündigung bisher.

String in DateTime umwandeln

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

    String in DateTime umwandeln

    Hallo zusammen,

    ich versuche gerade erfolglos ein Datum, das als String im Format yyyy-MM-dd über das Exec-Binding aus einem Shell-Script eingelesen wird über eine Rule in DateTime umzuwandeln, um das Datum weiterverarbeiten zu können.

    Orientiert habe ich mich dabei an diesem Beitrag https://knx-user-forum.de/439280-post2.html

    Mein Code sieht aktuell wie folgt aus:

    Items:
    Code:
    String Exec_strDate    "Datum als String [%s]" {exec="<[/opt/openhab/shellscripts/trash.sh yellow:60000:REGEX((.*?))]"}
    Rule:
    Code:
    rule "strDate to Date"
        when
            System started or
            Item Exec_str_Date received update
        then
            var DateTime temp
            temp = parse(Exec_strDate.state)
    end
    Funktioniert aber irgendwie nicht. Fehlermeldung lautet:
    Code:
    2015-01-10 23:46:31.684 [ERROR] [m.r.internal.engine.RuleEngine] - Error during the execution of startup rule 'strDate to Date': Could not invoke method: org.joda.time.DateTime.parse(java.lang.String) on instance: null
    Wenn ich dagegen einen String direkt in der Rule eingebe funktioniert es.
    Code:
    temp = parse("2015-01-11")
    Jemand eine Ahnung, wo der Fehler liegt? Ist das Problem die Rule oder kommt der String schon nicht richtig im Item an über das Exec-Binding?

    Wobei es beim update des Items keinen Fehler gibt
    Code:
    2015-01-10 23:45:59.004 [INFO ] [runtime.busevents             ] - Exec_strDate state updated to 2015-01-15
    Danke im Voraus für eure Ideen.

    Grüße
    Hannibal

    #2
    temp = parse(""+Exec_strDate.state)

    Kommentar


      #3
      Manchmal ist die Lösung so einfach
      Funktioniert bestens, danke für den Tip!

      Kommentar

      Lädt...
      X