NEWS
[Vorlage]-Zeit herunterzählen bis GoogleTermin Eintritt
-
diese beiden scripte ermöglichen es einen bestimmten Termin (z.B Geburtstag, Müllabfuhr, Geburt ,,,) des GoogleKalenders herunterzählen zu lassen
es gibt eine neue version - läuft mit countdown-adapter und einem blockly
https://forum.iobroker.net/post/672238noch ...
bis zum geburtstagwas wird benötigt:
- ical-adapter - liest google kalender aus
- ein blockly script -> daten aus ical.data lesen, datum vorbereiten und triggern des zweiten scripts
- ein js-script -> berechnen der werte (tage, stunden minuten bis zum ereignis
Schematic:
der ical adapter:
- neue ical instanz anlegen
- Haupeistellungen: Datumsangaben mit führender "0" anhaken und 30 (oder was gewünscht wird) tage als Tagesvorschau
- Ereignisse: den suchbegriff eingeben: z.b. Papiertonne - "anzeigen" anhaken
- Kalender: google-kalender definieren
damit ist der trigger für das blockly-script definiert worden - ist der event (tag 30) true - wird das blockly aktiv !
das blockly script:
Blockly-Google-script.txt
Version 1.2- es reagiert auf den tag 30 - papiertonne true - liest den ical-adapter-wert html aus und manipuliert den string so, dass die uhrzeit und das datum gefunden werden - anschliessend wird ein Schedule auf gesetzt, wann das zweite script getriggert wird (um ein überschreiben vor ablauf des letzten termins zu unterbinden)
- anschliessend (durch schedule) schreibt es das datum (Termin Datum) und einen selbsgewählten begriff (Termin Name) in die datenpunkte für das js-script, welches dadurch getriggert wird
die datenpunkte im blocklyscript müssen auf eure datenpunkte (des icaladapters) angeglichen werden !!!!
bis jetzt haben wir ein ical adapter, der uns an einem bestimmten tag einen event auf true setzt - ein blockly script, welches an diesem bestimmten punkt aufwacht und das datum und die uhrzeit aus dem ical ausliest.
jetzt fehlt nur noch die berechnung, damit wir etwas in der vis anzeigen können
das js-script:
es installiert datenpunkte unter javascript.0.Countdown. schreibt man ein bestimmtes datums format in den datenpubkt (javascript.0.Countdown.Termin.Datum) läuft das script los, bis die zeit abgelaufen ist. das script kann auch ohne google kalender genutzt werden und z.b. in der vis direkt eingegeben werden (siehe bild 1) (https://forum.iobroker.net/topic/20267/gelöst-einfacher-countdown-in-vis-von-festem-datum-gesucht?page=1). Im Datenpunkt javascript.0.Countdown.Termin.Name wird der Termin Name eingetragen (Kommt nicht von Google sondern vom Blockly script)
die datumsformate sind folgende:
- 9.4.2019 10:00
- 9.4.2019 (bezug 00:00 uhr)
- 9 May 2019 10:00 - (Monat 3 Buchstaben engl. Abkürzung)
- 9 May 2019 - (Monat 3 Buchstaben engl. Abkürzung)
es muss besonders auf auf das zusammenspiel der sich wiederholende termine geachtet werden. will man alle 4 wochen einen termin abfragen, anzeigen und runterzählen lassen, muss der ical adapter mindestens 28 tage abholen. im blockly script muss dann auch der 28. tag als trigger für das blockly script gewählt werden - durch das integrierte schedule wird der zählvorgang auch erst nach ablauf des letzten termins mit dem zählen beginnen
ein weiteres beispiel speziell für dieses script:
-
es gab ein update des scriptes:
es wird nun via eines schedules zeitverzögert das zweite script gestartet - ansonsten wurde der zähler um00:00 neugesetzt, bevor das vorherige datum + uhrzeit abgelaufen war.
-
Hallo, irgendwas stimmt nicht bei mir?
22:23:58.974 info javascript.0 Stop script script.js.Sigi.Termin_Skript 22:23:58.987 info javascript.0 Start javascript script.js.Sigi.Termin_Skript 22:23:58.987 info javascript.0 script.js.Sigi.Termin_Skript: registered 1 subscription and 1 schedule 22:24:00.023 error javascript.0 at restzeit (script.js.Sigi.Termin_Skript:46:22) 22:24:00.023 error javascript.0 at Object.<anonymous> (script.js.Sigi.Termin_Skript:78:38) 22:24:58.565 info javascript.0 Stop script script.js.Sigi.Termin_Skript 22:24:58.577 info javascript.0 Start javascript script.js.Sigi.Termin_Skript 22:24:58.578 info javascript.0 script.js.Sigi.Termin_Skript: registered 1 subscription and 1 schedule 22:25:00.005 error javascript.0 at restzeit (script.js.Sigi.Termin_Skript:46:22) 22:25:00.005 error javascript.0 at Object.<anonymous> (script.js.Sigi.Termin_Skript:78:38)
-
hallo @sigi234
wenn du in den datenpunkt "datum" anstatt im string etwas eingibst, was passiert dann ?
-
@liv-in-sky sagte in [Vorlage]-Zeit herunterzählen bis GoogleTermin Eintritt:
hallo @sigi234
wenn du in den datenpunkt "datum" anstatt im string etwas eingibst, was passiert dann ?
Ok, dann kommt das: Wobei die Stunden nicht berechnet werden....
-
weil es keine stunden gibt - bis 24.5 10:15 sind nur 3 tage und ca. 30 minuten
-
@liv-in-sky sagte in [Vorlage]-Zeit herunterzählen bis GoogleTermin Eintritt:
weil es keine stunden gibt - bis 24.5 10:15 sind nur 3 tage und ca. 30 minuten
Aha, als nur wenn der Termin kürzer als 24 Stunden ist........
-
nein nicht ganz
gib mal 24.5.2019 11:30 ein, dann hast du auch stunden
letztlich sind ja 1 tag 24 stunden - wird also umgerechnet
-
@liv-in-sky sagte in [Vorlage]-Zeit herunterzählen bis GoogleTermin Eintritt:
nein nicht ganz
gib mal 24.5.2019 11:30 ein, dann hast du auch stunden
letztlich sind ja 1 tag 24 stunden - wird also umgerechnet
Ok, will ich mehrerer Countdowns muss ich das Skript für jeden kopieren.............sehe ich das Richtig so?
-
ja genau - am besten in einem editor alle datenpunkte ändern - suchen und ersetzen
-
du bist doch schon voll der profi in sachen vis - hast du mal lust , darein zu sehen, vielleicht hast du da einen tipp - irgendwie interessiert das außer mir keinen
https://forum.iobroker.net/topic/22575/iframe-iqontrol-wie-am-besten-einbinden
-
@liv-in-sky sagte in [Vorlage]-Zeit herunterzählen bis GoogleTermin Eintritt:
du bist doch schon voll der profi in sachen vis - hast du mal lust , darein zu sehen, vielleicht hast du da einen tipp - irgendwie interessiert das außer mir keinen
https://forum.iobroker.net/topic/22575/iframe-iqontrol-wie-am-besten-einbinden
Den iqontrol-adapter habe ich, ist sehr gut, werde es mir mal durch den Kopf gehen lassen.........
-
@sigi234 weiß ich doch
wenn du dieses script in deine vis eingebunden hast, würdest du dann ein bild hier posten - deine vis wirkt immer animierend
-
@liv-in-sky sagte in [Vorlage]-Zeit herunterzählen bis GoogleTermin Eintritt:
@sigi234 weiß ich doch
wenn du dieses script in deine vis eingebunden hast, würdest du dann ein bild hier posten - deine vis wirkt immer animierend
Ich überlege gerade man könnte ja ein Widget erstellen und das Input-Widget nehmen das dann in den DP Objekt DATUM den Wert reinschreibt........... dann kopieren wie man will und ich erspare mir dein Skript zu kopieren.......
Aha geht ja nicht, weil dann ändern sich ja alle anderen auch......Kopfkino.....
-
mein erstes bild im ersten post zeigt mein widget - da kann ich das direkt eingeben (input)- aber naturlich nur für ein script bzw einen countdown
-
@liv-in-sky sagte in [Vorlage]-Zeit herunterzählen bis GoogleTermin Eintritt:
mein erstes bild im ersten post zeigt mein widget
Ja das habe ich gesehen.........war mir nicht sicher welches Widget du da genommen hast.......
-
@liv-in-sky sagte in [Vorlage]-Zeit herunterzählen bis GoogleTermin Eintritt:
neue ical instanz anlegen
Muss ich diese anlegen, kann ich nicht eine bestehende nehmen?
-
kannst auch eine bestehende nehmen - ich lasse mir in der ersten instanz nur 8 tage in der vis anzeigen und habe daher nur 8 tage vorschau - ich weiß leider micht, wie ich in meinem widget für den kalender nur 8 tage anzeigen lasse, obwohl 30 angeboten werden - deshalb habe ich eine zweite instanz
kurz gesagt - es geht mit einer existierenden instanz auch -
@liv-in-sky sagte in [Vorlage]-Zeit herunterzählen bis GoogleTermin Eintritt:
@sigi234 weiß ich doch
wenn du dieses script in deine vis eingebunden hast, würdest du dann ein bild hier posten - deine vis wirkt immer animierend
Bin gerade dabei...........
Kannst du es mal testen..........
-
Es gibt ein Update des google bzw ical scripts - version 1.2
- schedule verbesserung
- bessere kommentare für das setting des scriptes
- der trigger wurde geändert - es gab ein problem , wenn zwischen 0:00 und 7:00 ein neustart oder längeres ausschalten des iobrokers eingestellt ist
der trigger ist momentan auf 7 uhr morgens eingestellt - kann , wenn kein meustart ist, auch etwas weiter zurückgestellt werden