Rule 'xxx': Unparseable date: "UNDEF"

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Tentazione
Beiträge: 52
Registriert: 27. Jan 2018 08:46
Answers: 0

Rule 'xxx': Unparseable date: "UNDEF"

Beitrag von Tentazione »

Moin...

gerade im Log entdeckt. Wie kann ich den Fehler in einer Rule vermeiden?

Ich würde schätzen das der Fehler aus dieser Zeile herrührt
var Date cx = sdf1.parse(CGeburtsStart.state.toString)
Grüßle

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Rule 'xxx': Unparseable date: "UNDEF"

Beitrag von peter-pan »

Moin,moin

Ich möchte das nicht beschwören, aber ich meine var Date gibt es nicht.

Hier ein paar Code-Snippets aus dem Internet mit denen ich auch manchmal herum experimentiere:

Code: Alles auswählen

var day0DateTime1 = new DateTime(localLastMeasurement.state.toString).toString("EEEE, yyyyMMdd HH e w h a")
logInfo ("owm.test_date1", "Current-DateTime1-Item(dayname, date, hour, day of week, week of the year, hour am/pm, AM/PM ): {}", day0DateTime1)

// see here for further options - https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html - not all will work(e.g. "V")

var day0 = new DateTime(localLastMeasurement.state.toString).toString("yyyyMMdd")
logInfo ("owm.test_date1", "day 0-Time-Item: {}", day0)
Da ist auch noch eine Web-Seite drin, die du ansteuern kannst, wenn dir einzelne Formatierungen unklar sind.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Rule 'xxx': Unparseable date: "UNDEF"

Beitrag von udo1toni »

Vermeiden lässt sich der Fehler, indem Du ihn vorher abfragst:

Code: Alles auswählen

...
if(CGeburtsStart.state.toString != "UNDEF") {
    var DateTime cx = sdf1.parse(CGeburtsStart.state.toString)
}
Natürlich kann es auch sein, dass der String leer oder NULL ist, das muss halt alles in die Abfrage rein.

Falls CGeburtsStart ein DateTime Item ist, kannst Du auch so testen (und das ist sicher eleganter):

Code: Alles auswählen

...
if(CGeburtsStart.state instanceof DateTime) {
    var DateTime cx = sdf1.parse(CGeburtsStart.state.toString)
}
Die erste Frage wäre also eigentlich: Welches Format hat CGeburtsStart und woher wird es befüllt?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Tentazione
Beiträge: 52
Registriert: 27. Jan 2018 08:46
Answers: 0

Re: Rule 'xxx': Unparseable date: "UNDEF"

Beitrag von Tentazione »

Die erste Frage wäre also eigentlich: Welches Format hat CGeburtsStart und woher wird es befüllt?
Es handelt sich um einen String. Befüllt wird er aus dem CalDav-Binding. Damit experimentiere ich gerade ein wenig rum ;-)

Code: Alles auswählen

String		CGeburtsStart  	"[%1$td.%1$tm.%1$tY]"					<calendar>	{caldavPersonal="calendar:xxx type:EVENT  eventNr:1 value:START"}
Als DateItem kriege ich das da irgendwie nicht sauber hin.

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Rule 'xxx': Unparseable date: "UNDEF"

Beitrag von peter-pan »

Diese Formatierung wird bei einem String Item wohl nicht klappen. Versuch es mal mit [%s]. Ausserdem solltest du eine Warnung im Logger sehen, die etwa so aussieht:

Code: Alles auswählen

2019-03-27 22:28:21.734 [WARN ] [ui.internal.items.ItemUIRegistryImpl] - Exception while formatting value '6.4.1(release-sonoff)' of item EG_Kind2_Licht_Version with format ' %1$tH:%1$tM': H != java.lang.String

Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Tentazione
Beiträge: 52
Registriert: 27. Jan 2018 08:46
Answers: 0

Re: Rule 'xxx': Unparseable date: "UNDEF"

Beitrag von Tentazione »

Diese Formatierung wird bei einem String Item wohl nicht klappen. Versuch es mal mit [%s]. Ausserdem solltest du eine Warnung im Logger sehen, die etwa so aussieht:
Probiere ich gerne.

Und... nein. Ich bekomme kein Warning. und seit ich die if-Abfrage drin habe...kommt der Fehler auch nicht mehr. Aber bekanntlich führen ganz viele Wege nach Rom...und meiner muss nicht der beste sein. Deshalb... gerne Verbesserungsvorschläge

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Rule 'xxx': Unparseable date: "UNDEF"

Beitrag von udo1toni »

Eigentlich sollte es doch möglich sein, den Termin als DateTime Item anzulegen.
Ich nutze das Caldav Binding selbst nicht, lese das aber aus der Doku heraus.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Tentazione
Beiträge: 52
Registriert: 27. Jan 2018 08:46
Answers: 0

Re: Rule 'xxx': Unparseable date: "UNDEF"

Beitrag von Tentazione »

@udo1toni: Ja...scheinbar funzt das auch mit dem DateTime-Item..... #froi

Danke

Antworten