NEWS
Anzeige des Wochentages mit timestamp Widget
-
Hallo,
ich baue gerade an meiner ersten Vis und habe zur Datum/Zeit Anzeige eine Frage. Im openweathermap Adapter wird der Aktuelle Tag als Unix Timestamp gespeichert. Wie kann ich in der VIS den Timestamp so formatieren, dass nur der Wochentag ausgeschrieben (also Montag, ...) angezeigt wird? Mit dem timestamp Widget bekomme ich nur den Tag als Zahl.
Danke für Eure Hilfe.
gruss
martin -
Hallo,
ich baue gerade an meiner ersten Vis und habe zur Datum/Zeit Anzeige eine Frage. Im openweathermap Adapter wird der Aktuelle Tag als Unix Timestamp gespeichert. Wie kann ich in der VIS den Timestamp so formatieren, dass nur der Wochentag ausgeschrieben (also Montag, ...) angezeigt wird? Mit dem timestamp Widget bekomme ich nur den Tag als Zahl.
Danke für Eure Hilfe.
gruss
martinnimm ein html widget und schreibe das unter HTML rein
{openweathermap.0.forecast.day1.date;momentDate(dddd)}

-
Hallo,
ich baue gerade an meiner ersten Vis und habe zur Datum/Zeit Anzeige eine Frage. Im openweathermap Adapter wird der Aktuelle Tag als Unix Timestamp gespeichert. Wie kann ich in der VIS den Timestamp so formatieren, dass nur der Wochentag ausgeschrieben (also Montag, ...) angezeigt wird? Mit dem timestamp Widget bekomme ich nur den Tag als Zahl.
Danke für Eure Hilfe.
gruss
martin -
@msauer75
... oder ein Alias und dann ein ValueList-Widget.
Die Konvertierungsfunktion liefert den Tag der Woche. -
@msauer75
... oder ein Alias und dann ein ValueList-Widget.
Die Konvertierungsfunktion liefert den Tag der Woche.... oder man wandelt im Alias gleich in den Namen des Wochentages:
new Date(val).toLocaleString('de-de', {weekday: 'long'})Dann kann man da direkt ein String-Widget verwenden.
-
@liv-in-sky
Hi,
ich muss das Thema nochmal kurz hochholen. Will auch verschiedene Datumsobjekte in einen Wochentag umwandeln in VIS.Habe das Objekt:

Wenn ich jetzt ein HTML-Widget nehme und folgendes reinschreibe:
{0_userdata.0.wetter_com.day_0.date;momentDate(dddd)}
--> Dann bekomme ich als Ergebnis einen "Dienstag", obwohl es Montag istdas hier habe ich auch mal ausprobiert:
{0_userdata.0.wetter_com.day_0.date;momentDate(dddd;DD.MM.YYYY)}
--> Dann bekomme ich als Ergebnis aber nur den 01.12.2026 (wandelt mir also nur Monat mit Tag um)Hast du hier evtl. noch einen Tip?
Danke im Voraus.
-
@liv-in-sky
Hi,
ich muss das Thema nochmal kurz hochholen. Will auch verschiedene Datumsobjekte in einen Wochentag umwandeln in VIS.Habe das Objekt:

Wenn ich jetzt ein HTML-Widget nehme und folgendes reinschreibe:
{0_userdata.0.wetter_com.day_0.date;momentDate(dddd)}
--> Dann bekomme ich als Ergebnis einen "Dienstag", obwohl es Montag istdas hier habe ich auch mal ausprobiert:
{0_userdata.0.wetter_com.day_0.date;momentDate(dddd;DD.MM.YYYY)}
--> Dann bekomme ich als Ergebnis aber nur den 01.12.2026 (wandelt mir also nur Monat mit Tag um)Hast du hier evtl. noch einen Tip?
Danke im Voraus.
@nik82
denke das liegt daran das der 1.12.2026 ein dienstag ist - evtl denkt moment, dass du ein amerikanische datum hast. in dem beispiel von oben{openweathermap.0.forecast.day1.date;momentDate(dddd)}wird ein timestamp übergeben - du übergibst einen "text"
-
Ja das kann gut sein.
Das heißt hier habe ich keine Chance nur mit einem Widget was zu machen? -
Ja das kann gut sein.
Das heißt hier habe ich keine Chance nur mit einem Widget was zu machen?@nik82 es gibt sicher noch lösungen - komplizierte
mach ein alias vom datenpunkt und konvertiere dort (oder sonst über script) und mach ein binding auf den alias:
beispiel alias:
{ "type": "state", "common": { "name": "Next date", "role": "", "type": "string", "read": true, "write": false, "alias": { "id": "0_userdata.0.CONTROL-OWN.AAATEST.TestString4", "read": "(d => d ? new Date(d.split('.').reverse().join('-')).toLocaleDateString('de-DE',{weekday:'long'}) : '')(val)" } }, "_id": "alias.0.MyNewAlias.test.trashschedule.0.next.date", "native": {}, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1768224596591 } -
@liv-in-sky
Hi,
ich muss das Thema nochmal kurz hochholen. Will auch verschiedene Datumsobjekte in einen Wochentag umwandeln in VIS.Habe das Objekt:

Wenn ich jetzt ein HTML-Widget nehme und folgendes reinschreibe:
{0_userdata.0.wetter_com.day_0.date;momentDate(dddd)}
--> Dann bekomme ich als Ergebnis einen "Dienstag", obwohl es Montag istdas hier habe ich auch mal ausprobiert:
{0_userdata.0.wetter_com.day_0.date;momentDate(dddd;DD.MM.YYYY)}
--> Dann bekomme ich als Ergebnis aber nur den 01.12.2026 (wandelt mir also nur Monat mit Tag um)Hast du hier evtl. noch einen Tip?
Danke im Voraus.
@nik82 sagte in Anzeige des Wochentages mit timestamp Widget:
Habe das Objekt:

woher kommt das objekt. Evtl sollte man es möglichs frühzeitig in einem Date-Objekct kompatiblen Format speichern und nicht gleich in einer lokalisierten Form.
Generelles Problem in javascript ist die Datums-Behandlung.
Auch lässt sich ein Original-Datumsobjekt in javascript schlecht serialisieren.
Als Best Practice hat sich bewährt in der Datenspeicherung immer nur mit einem Timestamp (new Date().getTime() / 1768228629628) zu arbeiten zu arbeiten oder einem Format, wleches möglichst einfach wieder in ein Datumsobjekt umwandeln lässt (new Date().toISOString() / '2026-01-12T14:38:32.540Z')Erst bei der Anzeige sollte man dan so ein Datumsobjekt so umwandeln, das man es in der gewünschten Formatierung ausgeben kann. Für vis-Binding gibt es dann auch die entsprechenden Funktionen (formatDate und momentDate)
Wenn man es nicht in so einem Format speichert hat man später das Problem mit dem hin und her konvertieren.
evtl verbessert sich die Lage in 1-2 Jahren, da das javascript Konsortium das Problem erkannt hat und ein neuer Entwurf ausgearbeitet wurde, das das neue Objekt Temporal bereitstellt. Habe gesehen, das das gerade in die Browser ausgerollt wird. Global-Abdeckung ist aber noch bei unter 2%, also wird man nocht warten müssen.
https://caniuse.com/temporal
https://tc39.es/proposal-temporal/docs/