NEWS
Stundenplan
-
Hey,
habe mit Erstaunen gerade festgestellt das es keinen Adapter dazu gibt.
Nutzt ihr etwa alle den Googlekalender ? Ich habe hier das Problem das der farblich garnicht in meine VIS passt.
Ich bekomme es zwar mit dem dark reader dunkel, aber der Verändert auch die komplette VIS.
Wie habt ihr das gelöst mit den Stundenplan eurer Kinder ? -
@sourex es gibt einen Adapter für ein bestimmtes Schulsystem, aber den Link gerade nicht zur Hand
-
@crunchip sagte in Stundenplan:
@sourex es gibt einen Adapter für ein bestimmtes Schulsystem, aber den Link gerade nicht zur Hand
https://forum.iobroker.net/topic/51690/tester-neuer-adapter-webuntis?_=1691393246482
-
@sourex wir nutzen den Google Kalender zum Eintragen der Stunden.
Zur Auslesen de Daten nutze ich den iCal- Adapter und zur Darstellung den Kalnder vom MaterialDesign.
Eine Anleitung findest du hier. Dort gibt es auch ein Beispielskript wir die Daten dann passend für das Widget konvertiert werden.
Das Skript kannst du auch so modifizieren, dass jede Unterrichts-Stunde (z.B. Mathe, D, Eng, ...) jeweils in einer eigenen Farbe dargestellt werden.
Leider kann ich dir im Moment kein aktuelles Besipiel zeigen, da bei uns noch Ferien sind und noch kein Stundenplan existiert.
Aber hier ein Besspiel unseres Familienplaners.
Und das passende Skript dazu:
const moment = require('moment'); var instancesC1 = $(`[id=ical.0.data.table]`); instancesC1.on(ical2CalendarWidgetC1); let datapointIdC1 = '0_userdata.0.calendar.ical2calendar'; createState(datapointIdC1, '[]', {read: true, write: true, desc: 'JSON String for Calendar Widget', type: 'string', def: '[]'}); //Familienplaner function ical2CalendarWidgetC1() { try { let calList = []; for (var inst = 0; inst <= instancesC1.length - 1; inst++) { let icalObj = getState(instancesC1[inst]).val; if (icalObj) { for (var i = 0; i <= icalObj.length - 1; i++) { let item = icalObj[i]; let startTime = moment(item._date); let endTime = moment(item._end); let start = startTime.format('YYYY-MM-DD HH:mm'); let end = endTime.format('YYYY-MM-DD HH:mm'); if (startTime.format('HH:mm') === '00:00' && endTime.format('HH:mm') === '00:00') { // is full-day event if (endTime.diff(startTime, 'hours') === 24) { // full-day event, one day start = startTime.format('YYYY-MM-DD'); end = startTime.format('YYYY-MM-DD'); } else { // full-day event, multiple days start = startTime.format('YYYY-MM-DD'); end = endTime.format('YYYY-MM-DD'); } } var str=item.event; var erg=false; var farbe =''; erg=str.includes('Geburtstag'); if (erg===true) { farbe = '#33B679'; } erg=str.includes('Maya'); if (erg===true) { farbe = '#8E24AA'; } if (farbe==='') { farbe = item._calColor; } // create object for calendar widget var iSection=''; if(typeof item._section === 'undefined') { iSection=''; } else { iSection=item._section; } calList.push({ start: start, end: end, name: item.event + ' ' + iSection, color: farbe, colorText: '#ffffff' }) } } // Enter the destination data point that is to be used as object ID in the widget setState(datapointIdC1, JSON.stringify(calList), true); } } catch (e) { console.error(`ical2MaterialDesignCalendarWidget: message: ${e.message}, stack: ${e.stack}`); } } ical2CalendarWidgetC1();
-