Seite 3 von 4
Re: fragen zum widget
Verfasst: 4. Dez 2024 16:29
von BaluderBaer
super, stelle war genau richtig, stand jedoch aus 0 / 30, habe es geaendert auf -1 / 30 und die daten wurden angezeigt, dann wieder auf 0 / 30 und die daten werden jetzt wieder bei gleichen werten angezeit. wusste nicht, das ich hier auch negative werte eintagen kann.
zum jahr, werde dies heute abend mal testen,
jetzt bin ich erst mal super froh das alle daten in thunderbird drin sind, und die anzeige gut aussieht.
als beleohnung gibt s jetzt erst mal eine schoene tasse kaffee
Danke
ich melde mich
balu
Re: fragen zum widget
Verfasst: 4. Dez 2024 19:53
von peter-pan

Gerne
Re: fragen zum widget
Verfasst: 4. Dez 2024 21:20
von BaluderBaer
Hallo peter-pan
danke erst einmal fuer deine unterstuetzung bei meinen evtl doch recht komischen fragen.
ich benutze nach der info von dir jetzt thunderbird ( deshalb hat es mit dem dateninport auch etwas gedauert / letzte aktuelle x64 windows version)
hier aue aus zug aus der ics datei.
BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
VERSION:2.0
....
BEGIN:VEVENT
DTSTAMP:20241204T080229Z
UID:de75526f-6d72-4c98-8ce0-a6fa3ee0e6c3-2024
SUMMARY:Birthday, Balu der Baer, (63)
DTSTART;VALUE=DATE:20240903
DTEND;VALUE=DATE:20240904
TRANSP:TRANSPARENT
END:VEVENT
.....
BEGIN:VEVENT
DTSTAMP:20241204T080229Z
UID:de75526f-6d72-4c98-8ce0-a6fa3ee0e6c3-1961
SUMMARY:Birthday, Balu der Baer,
RRULE:FREQ=YEARLY
EXDATE;VALUE=DATE:20200903
EXDATE;VALUE=DATE:20210903
EXDATE;VALUE=DATE:20220903
EXDATE;VALUE=DATE:20230903
EXDATE;VALUE=DATE:20240903
EXDATE;VALUE=DATE:20250903
EXDATE;VALUE=DATE:20260903
EXDATE;VALUE=DATE:20270903
EXDATE;VALUE=DATE:20280903
DTSTART;VALUE=DATE:19610903
DTEND;VALUE=DATE:19610904
TRANSP:TRANSPARENT
END:VEVENT
das geburtsjahr ist bei den kontakten richtig mit 1961 09 03 eingeben. monat und tag stimmt auch mit den eintaegen hier ueberein im ersten bereich ueberein. das alter hinter dem namen stimm auch.
in der ics datei sind die datensaetze von 59 bis 67 enthalten sowie ein zweiter bereich in dem unter parameter "DTSTART" das richtige geburtsdatum enthalten ist.
SUMMARY:Birthday, Balu der Baer, (59)
SUMMARY:Birthday, Balu der Baer, (60)
SUMMARY:Birthday, Balu der Baer, (61)
SUMMARY:Birthday, Balu der Baer, (62)
SUMMARY:Birthday, Balu der Baer, (63)
SUMMARY:Birthday, Balu der Baer, (64)
SUMMARY:Birthday, Balu der Baer, (65)
SUMMARY:Birthday, Balu der Baer, (66)
SUMMARY:Birthday, Balu der Baer, (67)
SUMMARY:Birthday, Balu der Baer,
leider sehe ich nur im letzen eintrag das richtige geburtsjahr => parameter "DTSTART;VALUE=DATE:".
dieser wert wird jedoch weder im start , end noch im titel mitgegeben
start wert => 03.09.2024
ende wert => 04.09.2024
titel =? Birthday, Balu der Baer, (63)
bedeutet fuer mich, er nimmt die daten aus dem oberen bereich und uebergibt diese an openhab.
zu den indexen ( Split )
als ursprung habe ich
"Birthday, Balu der Baer, (63)Balu der Baer, (63) => jetzt loesche ich "Birthday, " raus un derhalte somit fuer die anzeige
"Balu der Baer, (63)" => wobei index 0 "Balu der Baer" und index 1 " (63)" ist.
die anzeige sieht nun so aus.:
------------------------------
Balu der Baer, (63) - 03.09.2024
Sternzeichen: Jungfrau
was ja auch absolut richtig ist.
ich habe mir vorgestellt, das dies so aussehen sollte.:
------------------------------------------------------
Balu der Baer, (63) - 03.09.2024
Geburtsjahr : 1961 Sternzeichen: Jungfrau
wie soll ich nun dann an das geburtsjahr rankommen ( ohne berechnung ) ?
sorry, ich verstehe es NOCH nicht
balu
Re: fragen zum widget
Verfasst: 4. Dez 2024 21:38
von udo1toni
Warum sträubst Du Dich denn gegen eine Berechnung?
Entweder, Du lässt Dir die Geburtstage übergeben (mit Geburtsjahr) und berechnest damit das Alter, Oder Du lässt Dir das Jubiläumsdatum mit Alter übergeben und berechnest anhand des Alters das Geburtsjahr, so schwer ist eine Addition bzw. eine Subtraktion nun nicht...
Re: fragen zum widget
Verfasst: 4. Dez 2024 23:04
von BaluderBaer
Hallo udo1toni
ich straeube mich nicht dagegen, in keinster weise.
ich kann es nicht , ich weiss nicht wie ich es machen soll !!
deshalb kommen ja auch evtl. manchmal diese " dummen " fragen
ich lerne hier jeden tag dazu, und setzte die information die ich hier bekomme um, bzw aendere diese dann ab ( soweit wie ich es verstehe )
gruss
balu
Re: fragen zum widget
Verfasst: 5. Dez 2024 15:38
von peter-pan
Die erste Frage ist doch, wie hast du denn deinen Kalender früher generiert und die Geburtstagstermine eingegeben bzw. woher kommt der ?
Die zweite Frage ist die Bearbeitung der Adresse in Thunderbird. Wie gehst du da vor ? Wie gibst du denn deine Werte in den Kalender ein ?
1- So ?
version 1.jpg
Code: Alles auswählen
BEGIN:VEVENT
DTSTAMP:20241205T141807Z
UID:7ca296b8-48a9-4b94-9352-9b17bbf4e4a0-2024
SUMMARY:Balu der Bär\, (63)
DTSTART;VALUE=DATE:20240903
DTEND;VALUE=DATE:20240904
TRANSP:TRANSPARENT
END:VEVENT
2. So ?
version 2.jpg
Code: Alles auswählen
BEGIN:VEVENT
DTSTAMP:20241205T141807Z
UID:f8a52a3a-64e4-4749-ade3-8c03e42174e9-2024
SUMMARY:Birthday\, Balu der Bär\, (63)
DTSTART;VALUE=DATE:20240903
DTEND;VALUE=DATE:20240904
TRANSP:TRANSPARENT
END:VEVENT
3. So ? (Das wäre eigentlich das Normale)
Version 3.jpg
Code: Alles auswählen
BEGIN:VEVENT
DTSTAMP:20241205T141807Z
UID:1a9fd984-18d2-4648-8175-45f7c0335baa-2024
SUMMARY:Balu der Bär (63)
DTSTART;VALUE=DATE:20240903
DTEND;VALUE=DATE:20240904
TRANSP:TRANSPARENT
END:VEVENT
Es gäbe auch noch eine vierte Variante, wenn du im Namen auch noch das Geburtsjahr (evtl. mit Komma getrennt) angibst.
Oder noch etwas ganz anderes?!
Aber das ist alles nicht der Sinn und Zweck einer Kontaktverwaltung mit Geburtstagserinnerung (Kalender), wie das Udo auch schon richtig bemerkt hat.
Bitte bedenke, dass das ICAL-Binding immer den(die) Wert(e) aus dem angegebenen Zeitraum (Start/Ende) nimmt.
Re: fragen zum widget
Verfasst: 5. Dez 2024 18:29
von BaluderBaer
hallo zusammen.
ich habe mich mal in meiner unkenntniss an die berechnung rangewagt und hab folgendes ergebniss.:
Begin Wert => 03.09.2024
Ende Wert => 04.09.2024
Titel Wert => Birthday, Balu der Baer, (63)
Anzeige ist.:
=============
Balu der Baer, (63) - 03.09.2024
Balu der Baer geboren NaN, im Sternzeichen: Jungfrau
eigentlich sollte er aus der zeile das jahr errechnen.:
(Number.parseInt(items.Kalender_Thunderbird_Birthday_Terminfilter_Result_0_Begin.state.split(".")[2]) - Number.parseInt(items.Kalender_Thunderbird_Birthday_Terminfilter_Result_0_Title.state.match(/\((\d+)\)/)[1]))
Code: Alles auswählen
- component: oh-list-item
config:
badge: '=(((dayjs(items.Kalender_Thunderbird_Birthday_Terminfilter_Result_0_Begin.state).diff(dayjs(items.ZeitAktuell_DateTime.state).startOf("day")))/1000/86400)
== 1 ? "Morgen" :
((dayjs(items.Kalender_Thunderbird_Birthday_Terminfilter_Result_0_Begin.state).diff(dayjs(items.ZeitAktuell_DateTime.state).startOf("day")))/1000/86400)
== 0 ? "Heute" : false)'
badgeColor: ="red"
icon: material:cake
iconColor: red
style:
color: black
font-size: =props.fontSizeContent + "px"
margin-bottom: =props.lineFeed +"px"
subtitle: '=items.Kalender_Thunderbird_Birthday_Terminfilter_Result_0_Title.state.split(",")[1]
+ " Geboren " +
(Number.parseInt(items.Kalender_Thunderbird_Birthday_Terminfilter_Result_0_Begin.state.split(".")[2])
-
Number.parseInt(items.Kalender_Thunderbird_Birthday_Terminfilter_Result_0_Title.state.match(/\((\d+)\)/)[1]))
+ ", im Sternzeichen: " + items.Astronomische_Monddaten_Sternzeichen.displayState'
title: =" "
+ items.Kalender_Thunderbird_Birthday_Terminfilter_Result_0_Title.state.replace('Birthday,',
'') + " - " +
items.Kalender_Thunderbird_Birthday_Terminfilter_Result_0_Begin.displayState
dies habe ich mir aus verschiedenen seiten aus dem internet so zusammengebastelt.
das kann doch nur mit der schreibweise in der klammer zu tun zuhaben ( glaube ich )
warum macht er das nicht so ??
und ja, es ist fall2.
ich bekomme aus thunderbird folgendes raus.:
der anzeigename ist so eingetragen,
Birthday, Balu der Bär,
daraus er´gibt sich dann folgendes im export
SUMMARY:Birthday\, Balu der Bär\, (63)
und nehme im notepad++ das "\" weg, speichere das wieder und schreibe diese datei dann zum einlesen in den openhab pfad, welche dann von der bridge eingelesen wird.
im widget nehme ich dann mit " replace " das birthday wieder raus, da dies so auch fuer hochzeitstage etc benutzt wird
das funzt ja auch alles so wie gewenscht.
DANKE an alle
balu
Re: fragen zum widget
Verfasst: 6. Dez 2024 14:44
von peter-pan
Ich habe nochmal etwas mit den Berechnungen herumgespielt.
Um das Geburtsjahr aus dem momentanen Alter zu errechnen, kannst du diesen Ausdruck/Funktion verwenden.(mit meinen Item-Namen
Code: Alles auswählen
=(Number.parseInt(dayjs().format('YYYY ')) - items.remind_birth1_Title_2.state.split("(")[1].replace(")",""))
Das Ergebnis sollte dann bei "Birthday, Balu der Baer, (63)" ->
1961 sein.
Die ganze Extraktionaus dem Textfeld wäre dann:
Code: Alles auswählen
=items.remind_birth1_Title_2.state.split(",")[1] + " " + (Number.parseInt(dayjs().format('YYYY ')) - items.remind_birth1_Title_2.state.split("(")[1].replace(")",""))
Das Ergebnis wäre
Balu der Baer 1961
Wenn du dann noch das Alter aus deinem Satz mit einbringen willst, müsstest du noch einen weitere "Split-Expression" einbauen.
Das Ganze würde dann ungefähr so aussehen:
Code: Alles auswählen
=items.remind_birth1_Title_2.state.split(",")[1] + " " + items.remind_birth1_Title_2.state.split(",")[2] + " " + (Number.parseInt(dayjs().format('YYYY ')) - items.remind_birth1_Title_2.state.split("(")[1].replace(")",""))
Dann solltest du
Balu der Baer (63) 1961 erhalten.
test.jpg
Viel Spass

Re: fragen zum widget
Verfasst: 8. Dez 2024 01:14
von BaluderBaer
Hallo und guten morgen bzw einen schoenen 2 ten advent euch allen
als erstes einmal
DANKE DANKE DANKE an euch alle ( das war das schoenste nikolaus present von euch )
die funktion ist jetzt ( dank euch ) kompl gegeben .
alles wird nun angezeigt wie es soll.
Balu der Baer ( 63 ), Gebutsjahr 1961, Datum 03.09.2024
Bagira ( 23 ), Gebutsjahr 2001, Datum 21.11.2024
Nogli ( 60 ), Gebutsjahr 1964, Datum 29.12.2024
dennoch, noch eine kurze frage. gibt es eine einfache moeglichkeit dies noch so anzeigen zulassen ??
beispiel.:
==========
bedeutet startet mit geburtsjahr immer an den 34 zeichen von rechts, oder so etwas .......
vordere teil aendert sich je nach namen, hintere teil bleibt immer gleich ( von den zeichen her )
das waere noch die sahne auf der torte
wie gesagt, einen schoenen 2 advent euch allen
und
nochmals DANKE an euch ( ohne euch haette ich das nicht geschaft !! )
Balu
Re: fragen zum widget
Verfasst: 8. Dez 2024 09:51
von peter-pan
...ich sag's mal so. Gehen tut das bestimmt.
Aber nicht mit den "normalen" Widgets und vermutlich auch nicht mit dem Widget, das du jetzt benutzt. Das müsste mit Sicherheit umgeschrieben werden.
Du kannst ja mal beim Entwickler anfragen, ab er so etwas realisieren kann. So wie ich das verstanden habe, ist das ja eigentlich dein Abfallkallender und ob da der Platz (Zeilenbreite) ausreichend ist, ist natürlich fraglich.