NEWS
Wie viel Tage bis Termin
-
Der Name des ical Adapters ist irreführend finde ich.
Hab ihn lange nicht installiert, da ich dachte er wäre eben für ical von Apple.Ich nutze den Adapter mit Gmail und hab keinen Apple Gerät ^^.
Wird verschiedenes unterstützt.
-
@david-g Ok - konnte trotzdem meinen Apple Kalender einbinden. Unter data bekomme ich meine Termine angezeigt.
Unter events sehe ich nichts. Wie sehen denn Deine Terminobjekte aus?
-
@david-g sagte: ausrechnen, wie viele Tage es noch bis zu einem Termin sind.
In welchem Format liegt der Termin vor?
-
Die Termine sehen so aus.
Hole ich in Blockly mit einer Schleife{'date':'11.08.2021 ','event':'Dr. Xxx','_class':'ical_Termine ','_date':'2021-08-10T22:00:00.000Z','_end':'2021-08-11T22:00:00.000Z','_section':'','_IDID':'xxxxxxx@google.com','_allDay':true,'_rule':' ','location':'','_calName':'Termine','_calColor':'#000000'}
Ich verwende das
_date
-
@david-g Ich bekomme als Termin in einem Array nur dieses Format:
{"date":"Morgen 22:00-23:00","event":"Testtermin","_class":"ical_calendar1 ical_tomorrow","_date":"2021-08-07T20:00:00.000Z","_end":"2021-08-07T21:00:00.000Z","_IDID":"54E24963-51C8-47AF-AEC0-642F6BA1525D","_allDay":false,"_private":false,"_rule":" ","location":"","_calName":"calendar1","_calColor":"#000000"}
in dem table Datenpunkt:
Meinst Du dann dieses Datumsformat:
2021-08-07T20:00:00.000Z
Dann brauchst nur den vorderen Teil bist zum T und Du hast das ISO Format:
Aber nachdem @paul53 eh schon involviert ist, weiß er sicher wie man diese beiden Datumsobjekte erstellt.
-
die Lösung inklusive vis widgets findest du im mytime-adapter.
das einfachste wäre das countdown plain widget, das dir schön runterzählt wieviel jahre,tage,monate,stunden es noch dauert. du definierst einmal in der adapter konfiguration die dauer.
über einen befehlssyntax in einem bestimmten datenpunkt kannst du auch einen absoluten zeitpunkt in der zukunft definierenhttps://github.com/oweitman/iobroker.mytime
Der Adapter ist auch im beta/latest repository verfügbar.
-
-
@david-g sagte: Ich verwende das
_date
Ich vermute, als Uhrzeit steht dort im Sommer immer "22:00:00.000Z"? Dann sollte es so funktionieren:
Anstelle des Datenpunktwertes habe ich einen String mit dem Wert von _date eingetragen.
-
@david-g sagte in Wie viel Tage bis Termin:
Genau, das meine ich.
@OliverIO
Probiere in meinen Skripten immer so wenig andere Adapter einzubinden wie nötig.
Es geht auch nicht um die VIS. Geht um eine Terminübersicht der kommenden Woche die ich per telegram versende. Über die Tage ermitteln ich die Termine für diesen Zeitraum.ok dann so
(new Date("01/03/2021") - new Date()) / 86400000
(Datum Zukunft - aktuelles Datum ) / Anzahl Millisekunden an einem Tag
Dein blocklyansatz sieht gut aus, bin da aber etwas lost.
Die Differenz kommt evtl daher, das wenn du das Datum so wie ich angegeben hast, immer 00:00 Uhr gemeint ist.die abarbeitung solch eines Befehls dauert auf meinem System ca 2 Millisekunden. Da dürfte keine solche Differenz von 0.09 Tagen ergeben.
-
Also ich habs mit Z+2 hinbekommen, wenn man den ISO String benutzt.
Das Datum alleine nutzt nichts - weil irgendwas die Timezone dazurechnet und dann kommt immer 2:00 Uhr früh raus.
Ich schau mal ob irgendwas mit CET funktioniert, da absolute Zeitoffsets ja blöde sind.
-
@mickym sagte: Also ich habs mit Z+2 hinbekommen, wenn man den ISO String benutzt-
Dann stimmt es aber nur zur Sommerzeit.
-
@paul53 sagte in Wie viel Tage bis Termin:
@mickym sagte: Also ich habs mit Z+2 hinbekommen, wenn man den ISO String benutzt-
Dann stimmt es aber nur zur Sommerzeit.
Dann gibt man das einfach fix ein - das geht: Also aus dem Datestring den vorderen Teil vor dem T abschneiden und dann T00:00 anhängen.
-
Das habe ich beim rechnen mal probiert.
Hatte zu DD.MM.JJJJ konvertiert für das aktuelle Datum und den Termin, mit der Hoffnung dass dann die Uhrzeit ignoriert wird.
Wenn ich dann Termin-Uhrzeit rechne kommt NaN als Ergebniss.
-
@david-g Ich habs bald.
- bin halt als Blockly Laie etc. langsam - aber ich denke bin auf gutem Weg.
-
@david-g sagte: Hatte zu DD.MM.JJJJ konvertiert für das aktuelle Datum
Die Lösung mal getestet?
date: 11.08.2021 (00:00 Uhr Ortszeit)
-
@david-g
Ich habs!!!- Als Blockly Legastheniker bin ich ganz stolz
So das funktioniert meines Erachtens:Ich hab halt heute und den Termin in Variablen gespeichert. Du musst halt in die Variable Termin Deinen date-String setzen!!
So ohne debug und ohne heute Variable kann man das Blockly tatsächlich soweit vereinfachen:
-
Werde ich heute Nachmittag mal testen^^
-
Hab es nachgebaut und läuft.
Muss allerdings wie bei meinem Versuch noch 1 drauf rechnen. Der Morgige Tag liefert 0 als Ergebniss.Das ist die generierte Nachricht.
Damit ihr auch seht, worum es geht.Alter Screen als ein Geburtstag anstand.
Geht wenn die Sonntags verschickt wird dann schön von Mo bis So alle Tage durch.
(sind grad noch einige Testtermine hinterlegt. Die Geburtstage werden wie die anderen Termine dargestellt.)@mickym
Nicht, dass du noch von node red zu blockly abwanderst 🤪 -
@david-g Ehrlich gesagt verstehe ich zwar nicht, warum Du eins drauf rechnen musst, weil wenn Du mein Teil da importiert hast und den String als Termin als Ausgang nimmst - funktioniert es so. Aber egal Du hast Dir ja geholfen.
@david-g sagte in Wie viel Tage bis Termin:
@mickym
Nicht, dass du noch von node red zu blockly abwanderst 🤪Da brauchst Du keine Sorge haben - aber will auch nicht mehr diese Diskussion beginnen.
-
Habe deinen Code nicht importieren können.
Hat immer einen Fehler ausgegeben.
Aber war ja schnell nachzubauen.Evtl wird das Datum anders gewertet, was er in der Schleife aus dem Datenpunkt holt..... Ka....
Jedenfalls vielen Dank für die Hilfe.
Keine Sorge, die Diskussion müssen wir nicht führen.
Wurde A schon oft genug geführt und B kann jeder machen was ihm besser gefällt.