Gladys 4 - CalDAV-Service

Nickel, das funktioniert jetzt

Vielen Dank

Hallo, neu bei Gladys!
Die erste Sache, die ich eingerichtet habe, ist die Synchronisation meines Framagenda (Nextcloud)-Kalenders mit Gladys, und das scheint zu funktionieren.
Aber die Frage, die ich mir stelle, ist: Könnte es nicht möglich sein, den Tageskalender auf dem Dashboard anzuzeigen, so eine Art Fokus, To-Do-Liste…?

Hallo @Einstein8854!

Das ist aktuell nicht möglich.

Falls du möchtest, haben wir eine Kategorie « Funktionswünsche » im Forum, wo du diesen Wunsch äußern kannst, falls du möchtest, dass das in einer zukünftigen Version von Gladys :slight_smile: umgesetzt wird.

Hallo zusammen,

ich habe ein Problem bei der Synchronisation von Google Calendar. Ich konnte nicht herausfinden, ob jemand dieses Problem bereits hatte.

Ich habe es geschafft, alles dank des Dokuments von Gladys einzurichten… aber wenn ich auf meinem Dashboard Agenda bin, sehe ich nur einen meiner Kalender angezeigt.
Dabei sind sie anscheinend alle synchronisiert und aktiviert:

Ich habe nur den Plan von Sophie auf meiner Oberfläche angezeigt:

Ich habe das gleiche Problem auf meiner Seite, nur jeder zweite Kalender wird angezeigt.

@guim31 Wenn du die Synchronisation startest und gleichzeitig die Logs überprüfst, gibt es da irgendwelche Probleme?

docker logs gladys -f 

Woher kommt dieser Kalender?

@spenceur Gleiche Frage an dich

Wenn ich mich recht erinnere, habe ich es gesehen.
Ich werde es mir gleich ansehen

Aktualisierung:

2022-02-25T10:45:33+0100 <info> calendar.requests.js:52 () CalDAV : Found calendar xxxxxxxx
2022-02-25T10:45:33+0100 <info> calendar.syncUserCalendars.js:38 (CalDAVHandler.syncUserCalendars) CalDAV : Found 5 calendars.
2022-02-25T10:45:33+0100 <error> index.js:52 (Timeout.syncAllUsers [as _onTimeout]) UniqueConstraintError [SequelizeUniqueConstraintError]: Validation error
    at Query.formatError (/src/server/node_modules/sequelize/lib/dialects/sqlite/query.js:409:16)
    at Query._handleQueryResponse (/src/server/node_modules/sequelize/lib/dialects/sqlite/query.js:72:18)
    at Statement.afterExecute (/src/server/node_modules/sequelize/lib/dialects/sqlite/query.js:246:27) {
  errors: [
    ValidationErrorItem {
      message: 'selector must be unique',
      type: 'unique violation',
      path: 'selector',
      value: 'xxxxxxx',
      origin: 'DB',
      instance: [t_calendar],
      validatorKey: 'not_unique',
      validatorName: null,
      validatorArgs: []
    }
  ],
  fields: [ 'selector' ],
  parent: [Error: SQLITE_CONSTRAINT: UNIQUE constraint failed: t_calendar.selector] {
    errno: 19,
    code: 'SQLITE_CONSTRAINT',
    sql: 'INSERT INTO `t_calendar` (`id`,`user_id`,`service_id`,`name`,`selector`,`external_id`,`description`,`sync`,`notify`,`ctag`,`sync_token`,`color`,`created_at`,`updated_at`) VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14);'
  },
  original: [Error: SQLITE_CONSTRAINT: UNIQUE constraint failed: t_calendar.selector] {
    errno: 19,
    code: 'SQLITE_CONSTRAINT',
    sql: 'INSERT INTO `t_calendar` (`id`,`user_id`,`service_id`,`name`,`selector`,`external_id`,`description`,`sync`,`notify`,`ctag`,`sync_token`,`color`,`created_at`,`updated_at`) VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14);'
  },
  sql: 'INSERT INTO `t_calendar` (`id`,`user_id`,`service_id`,`name`,`selector`,`external_id`,`description`,`sync`,`notify`,`ctag`,`sync_token`,`color`,`created_at`,`updated_at`) VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14);'
}
2022-02-25T10:45:50+0100 <info> scene.actions.js:267 (Object.user.check-presence) CheckUserPresence action: No devices of the user "jennifer" were seen in the last 10 minutes.
2022-02-25T10:45:50+0100 <info> scene.actions.js:270 (Object.user.check-presence) CheckUserPresence action: Set "jennifer" to left home of house "home"
2022-02-25T10:45:53+0100 <info> device.calculateAggregate.js:38 (DeviceManager.calculateAggregate) Calculating aggregates device feature state for interval hourly
2022-02-25T10:46:23+0100 <info> device.calculateAggregate.js:105 (ChildProcess.<anonymous>) device.calculateAggregate: Finishing processing for interval hourly 2022-02-25T10:46:23+0100 <info> device.calculateAggregate.js:38 (DeviceManager.calculateAggregate) Calculating aggregates device feature state for interval daily
2022-02-25T10:46:31+0100 <warn> handleMqttMessage.js:100 () Zigbee2mqtt device 0x00158d0002bfa014, feature linkquality not configured in Gladys.
2022-02-25T10:46:35+0100 <warn> handleMqttMessage.js:100 () Zigbee2mqtt device 0x00158d0002bfa014, feature linkquality not configured in Gladys.
2022-02-25T10:46:38+0100 <info> device.calculateAggregate.js:105 (ChildProcess.<anonymous>) device.calculateAggregate: Finishing processing for interval daily
2022-02-25T10:46:38+0100 <info> device.calculateAggregate.js:38 (DeviceManager.calculateAggregate) Calculating aggregates device feature state for interval monthly
2022-02-25T10:46:54+0100 <info> device.calculateAggregate.js:105 (ChildProcess.<anonymous>) device.calculateAggregate: Finishing processing for interval monthly
2022-02-25T10:49:33+0100 <warn> handleMqttMessage.js:100 () Zigbee2mqtt device 0x54ef4410000c1618, feature illuminance not configured in Gladys.
2022-02-25T10:49:33+0100 <warn> handleMqttMessage.js:100 () Zigbee2mqtt device 0x54ef4410000c1618, feature linkquality not configured in Gladys.
2022-02-25T10:50:50+0100 <info> scene.actions.js:267 (Object.user.check-presence) CheckUserPresence action: No devices of the user "jennifer" were seen in the last 10 minutes.
2022-02-25T10:50:50+0100 <info> scene.actions.js:270 (Object.user.check-presence) CheckUserPresence action: Set "jennifer" to left home of house "home"
2022-02-25T10:51:00+0100 <info> scene.actions.js:267 (Object.user.check-presence) CheckUserPresence action: No devices of the user "vincent" were seen in the last 15 minutes.
2022-02-25T10:51:00+0100 <info> scene.actions.js:270 (Object.user.check-presence) CheckUserPresence action: Set "vincent" to left home of house "home"
2022-02-25T10:51:56+0100 <warn> handleMqttMessage.js:104 (Zigbee2mqttManager.handleMqttMessage) Zigbee2mqtt device 0x00158d00058a4293 not configured in Gladys.
2022-02-25T10:53:55+0100 <info> calendar.requests.js:52 () CalDAV : Found calendar My Calendar
2022-02-25T10:53:55+0100 <info> calendar.requests.js:52 () CalDAV : Found calendar Inbox
2022-02-25T10:53:55+0100 <info> calendar.requests.js:52 () CalDAV : Found calendar 
Xxxxxxxxx
2022-02-25T10:53:55+0100 <info> calendar.requests.js:52 () CalDAV : Found calendar Fériés
2022-02-25T10:53:55+0100 <info> calendar.requests.js:52 () CalDAV : Found calendar xxxxxxxxxx
2022-02-25T10:53:55+0100 <info> calendar.syncUserCalendars.js:38 (CalDAVHandler.syncUserCalendars) CalDAV : Found 5 calendars.

Einzigartigkeitsproblem in der Datenbank
:frowning:

Entschuldigung für die überflüssigen Informationen in den Logs ^^

Von meiner Seite aus gibt es keine Fehler in den Logs (außer ich schaue vielleicht nicht an die richtige Stelle):
Die Befehl:

docker logs gladys

Gibt mir zurück:

2022-02-25T15:52:58+0100 <info> calendar.requests.js:52 () CalDAV : Found calendar Guilhem
2022-02-25T15:52:58+0100 <info> calendar.requests.js:52 () CalDAV : Found calendar Agenda Sophie
2022-02-25T15:52:58+0100 <info> calendar.requests.js:52 () CalDAV : Found calendar SPORT
2022-02-25T15:52:58+0100 <info> calendar.requests.js:52 () CalDAV : Found calendar Famille
2022-02-25T15:52:58+0100 <info> calendar.requests.js:52 () CalDAV : Found calendar Planning Romélie - Nounou
2022-02-25T15:52:58+0100 <info> calendar.requests.js:52 () CalDAV : Found calendar Jours fériés en France
2022-02-25T15:52:58+0100 <info> calendar.requests.js:52 () CalDAV : Found calendar Pro - Standard
2022-02-25T15:52:58+0100 <info> calendar.syncUserCalendars.js:38 (CalDAVHandler.syncUserCalendars) CalDAV : Found 7 calendars.

Die Benutzeroberfläche sagt mir das:

Das hilft sehr :slight_smile: Wie heißen deine Kalender? Gibt es vielleicht zwei Kalender mit sehr ähnlichen Namen?

Das sieht gut aus bei dir :slight_smile:

Welchen Kalenderservice nutzt du? (Ich meine, welcher Anbieter.)

Ich nutze Google Kalender.

Okay! Ich nutze denselben und habe den Eindruck, dass ihre API manchmal nicht alle Ereignisse sendet.

Oft, wenn ich Gladys verbinde, dauert es mehrere Tage, bis sie angezeigt werden, als ob ihr Backend die Anzahl der Einträge begrenzt, die du synchronisieren kannst.

Wie lange hast du diesen Kalender schon verbunden?

Hast du ihn nur einmal verbunden oder hast du ihn getrennt/wieder verbunden, um zu sehen, ob das dein Problem löst?

Das ist erst zwei Tage her, ich hatte nie die Zeit, alles einzurichten (Zwei-Faktor-Authentifizierung / App-Passwort). Also ist das alles noch ganz frisch, ich werde das in den kommenden Tagen beobachten!

Hmmm ich schäme mich, aber tatsächlich hatte ich zwei Kalender mit dem gleichen Namen auf Synology, mein Fehler
Die Anzeige der beiden Kalender ist in Ordnung

Das ist nicht deine Schuld, es ist auch ein bisschen ungewöhnlich, dass zwei Kalender mit demselben Namen die Synchronisation so blockieren :slight_smile:

Das ist ein Punkt, von dem wir wissen, und ich hatte mit der Entwicklung begonnen, um so etwas zu ermöglichen, aber es ist viel Arbeit.

Auf Gladys-Seite könnten wir vielleicht eine „2“ zum zweiten Kalender hinzufügen, aber wie unterscheidet man dann die beiden Kalender?

Allgemein weiß ich nicht, ob es sehr nützlich ist, zwei Kalender mit exakt demselben Namen zu haben (ich frage mich, wie du das aktuell schaffst, dich nicht zu vertun ^^)

Eigentlich nutze ich nur einen, den, der nicht deaktiviert ist :winking_face_with_tongue:.
Darum mache ich auch keine Fehler ^^'.
Danke auf jeden Fall! Ich bereite meine Kalender für ein neues Feature vor, das bald kommt :smiley:

Ich habe den ersten Teil vor ein paar Minuten gemerged :slight_smile:

Hallo, nach zwei drei Checks stelle ich Folgendes fest:
Ich habe 3 aktive Kalender:

  • Geburtstage (alles OK)
  • persönlicher Kalender (scheint OK)
  • Feiertage (das Drama)

Im letzten Kalender wird einfach nichts auf Gladys angezeigt.

Obwohl es scheint, als wären die Ereignisse importiert worden.

Und beim ersten Import erscheint immer dieser Fehler mit 0 Logs

Ich reproduziere ihn jedes Mal, wenn ich zurücksetze und neu synchronisiere

Eine Idee? :frowning:

Zur Info werden die Feiertage über diese Daten erstellt

Update:

Wenn ich diese Daten hier verwende, ist alles OK

Seltsam :thinking:

Ist es zufällig kompliziert, dem Benutzer die Wahl zu ermöglichen, die Woche am Montag (europäisch) beginnen zu lassen?

Danke für die Quelle @spenceur, damit kann ich versuchen, es zu reproduzieren und zu untersuchen

Ich glaube, das war früher der Fall, das muss ein Rückschritt seit dem Wechsel von moment zu dayjs sein, ich schaue auch noch.

Zur Info, ich habe gerade den Fix für die Anzeige des ersten Wochentags vorgeschlagen (ich habe mit dem einfachsten begonnen)