Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Abend,
super mit der Hilfe von MarcusW und Jürgen hat es geklappt!
Jetzt bekomme ich wenigstens mal die Termine im Kalender angezeigt. Danke!
Jetzt würde ich nur gerne wissen wie Ihr das mit verschiedenen Kalendern umgesetzt habt.
Habt Ihr einen Kalender für heute, morgen und dann hier jeweils die ganzen .ics Kalender integriert? Also z.B. bei dem Kalender für "Heute" dann den Müllkalender und die Privaten Kalender integrieren und das gleiche dann für den Kalender "Morgen"?
das Widget ist derzeit wohl eher dazu gedacht, die Einträge für einen Tag anzuzeigen. Aber Du kannst natürlich ein neues machen. Dazu würde ich das calendar-Widget kopieren und dann im widget.js schauen, da gibt es
Code:
if ('Start' in entry) {
var start = new Date(entry.Start).format('HH:MM');
string += start;
}
if ('End' in entry) {
var end = new Date(entry.End).format('HH:MM');
string += '<br/>' + end;
}
habe jetzt nur die ersten 2 seiten gelesen und bin bis hierher fassungslos.
ich muss mir eine logik schreiben um einen ics-link einzubinden, ernsthaft?
kann irgendwer ohne exzessive logik-erfahrung die ical-plugin-dokumentation irgendwie... verstehen & anwenden?
nur damit du meine erwartungshaltung verstehst:
- fuege ical plugin hinzu
- binde plugin an item, im item irgendwie ical-url hinterlegen und ical durchkonfigurieren
- binde kalender-widget an item und integriere in visu
- profit
das kann man natuerlich noch weiter vereinfachen. und dass man logiken benutzen kann, ist ja schoen.
aber wie soll das ein "produkt" sein/werden mit der maximal kompliziertesten kalender-einbindung ueberhaupt?
und das scheint sich durch das ganze projekt zu ziehen.
und ja, das UI ist schoen. und dydns/letsencrypt ist hervorragend geloest. aber bis zum 20eur/monat produkt ist echt noch ein WEITER weg.
und warum werden die eigentlich hilfreichen tips ab https://knx-user-forum.de/forum/supp...996#post961996 nicht in die doku/wiki ueberfuehrt? die dokuuuu ist sooooo nutzlos und scheint es auch langfristig zu bleiben.
ich wuerde das gerne einfach basic einrichten ohne mir hier alles zusammensuchen zu muessen.
ich mein, wir reden hier von 150 eur plus monatlich ne? ist nicht so als waere das hier der geschenkte gaul....
Funktioniert!!! Genauso wie ich das mir vorgestellt hatte - allerdings musste ich das Widget doch stärker verbiegen, als zunächst gedacht.
Anmerkung zum letzen Post: ja, die iCal-einbindung ist nicht ganz trivial und hat mich auch auch ein paar Stunden gekostet - wie wahrscheinlich alle. Mir ist es das Wert, da ich mit Callidomus überall dran kann und (fast) alles so gestalten kann, wie ich möchte. Und fehlt etwas, so besteht die Möglichkeit neue Plugins oder Widgets zu bauen - vorausgesetzt Python und man kommt der darunter liegenden Struktur klar. Nebenbei gibt's ne extrem schöne, Ressourcen-schonende GUI mit sehr robuster KNX-Anbindung. Für mich die beste Visu, die aktuell verfügbar ist.
Ciao,
HeyFisch
You do not have permission to view this gallery.
This gallery has 1 photos.
In einer kurzen Zusammenfassung: im CSS eine Definition für das Datum erstellt, im Javascript-Widget das Datum einfügt und Zeit verändert (wenn 00:00, dann keine Anzeige), dazu die passende Kalender-Logik.
widget.js
Code:
if ('Icon' in entry) {
string += '<icon />';
}
string += '<span class="calDate">';
if ('Start' in entry) {
var startDate = new Date(entry.Start).format('dd.mm.yyyy');
string += startDate + '<br/>';
}
string += '</span><span class="calTime">';
if ('Start' in entry) {
var start = new Date(entry.Start).format('HH:MM');
if (start !== '00:00') {
string += start;
}
}
if ('End' in entry) {
var end = new Date(entry.End).format('HH:MM');
if (start !== '00:00') {
string += '<br/>' + end;
}
}
widget.css
Code:
.calDate
float left
margin 8px
font-size 120%
calendar.py
Code:
import re
offset = 14
cntr = 0
yet = cd.now().date()
docpattern = r'(a|A)rzt|(d|D)oktor|(k|K)linik'
shoppattern = r'(k|K)aufen|(s|h)opping'
phonepattern = r'(t|T)elefon|(a|A)nruf'
mopedpattern = r'(m|M)oped|(t|T)our'
trashbins = cd.ical('http://geheim/finning.ics',offset)
personal = cd.ical('http://geheim/personal.ics',offset)
caldatatrash = []
caldatapersonal = []
def creaatetrash(caldate):
for event in trashbins[caldate]:
event['Icon'] = 'cd/trash'
if 'Biomüll' in event['Summary']:
event['IconStyle'] = 'stroke:chocolate'
event['Class'] = 'trashbrown'
if 'Papiertonne' in event['Summary']:
event['IconStyle'] = 'stroke:blue'
event['Class'] = 'trashblue'
if 'Gelbe Tonne' in event['Summary']:
event['IconStyle'] = 'stroke:yellow'
event['Class'] = 'trashyellow'
if 'Hausmüll' in event['Summary']:
event['IconStyle'] = 'stroke:white'
event['Class'] = 'trashwhite'
caldatatrash.extend(trashbins[caldate])
cd.calendar.trash(caldatatrash)
def createpersonal(caldate):
for event in personal[caldate]:
event['Icon'] = 'cd/family'
if re.search (docpattern, event['Summary']):
event['Icon'] = 'user/doctor'
event['IconStyle'] = 'stroke:red'
if re.search (shoppattern, event['Summary']):
event['Icon'] = 'cd/star'
event['IconStyle'] = 'stroke:blue'
if re.search (phonepattern, event['Summary']):
event['Icon'] = 'cd/phone'
caldatapersonal.extend(personal[caldate])
cd.calendar.dates(caldatapersonal)
while cntr <= 7:
eventday = yet + datetime.timedelta(days=cntr)
creaatetrash(eventday)
cntr += 1
cntr = 0
while cntr <= 7:
eventday = yet + datetime.timedelta(days=cntr)
createpersonal(eventday)
cntr += 1
Ich hoffe das ist so plausibel.
Ciao,
HeyFisch
P.S. Credits to Mumpf, von ihm kam der entscheidende Hinweis
ist das was neues das man logic.item schreiben kann? In der Doku steht das man an die Werte mit "logic.get_value(NAME, [DEFAULT]): liest den Wert der Variablen mit dem NAMEN von dem Logik Objekt." bekommt.
@Marcus: Die inlinehilfe ist recht unübersichtlich kannst du das nicht auch in der Richtigen Hilfe --> https://docs.callidomus.com/de/Logiken/
nachtragen? Das es diese Feature gibt.
Bezüglich der Kommentare wegen der "komplexen" Logik. Mein Post #8 wurde schon gelesen?
Damit kann man einen Kalender einfach einbinden. Wenn man allerdings etwas umfangreicher mit dem Kalender arbeiten möchte (Icons einbinden, Farben ändern, Kalender zusammenführen) dann kommt man leider nicht ein einer komplexen Logik vorbei.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar