Externe Integration - Apple Device Tracker

Auch das mit der Familienfreigabe hat sich erledigt. Nach 15 Min waren auch diese Geräte da :slight_smile:

Danke für das Feedback! Für die Familie: Apple lädt die Geräte der Familienmitglieder nach deinen Geräten, und die Integration ließ dafür keine Zeit. Das ist in der 2.4.2 behoben.
Überprüfe auch, ob jedes Familienmitglied seinen Standort mit dir teilt (Einstellungen → dein Name → Familie → Standortfreigabe).
Falls es immer noch nicht funktioniert, sende die Zeile aus dem Protokoll, die mit « Family Sharing: » beginnt: Sie zeigt an, wie viele Familienmitglieder Apple sieht und wie viele noch im Ladezustand sind.

Funktioniert einwandfrei. Danke!

Eine Sache ist mir noch aufgefallen: Der u.g. Fehler kommt recht regelmäßig wenn man neue Geräte aus « Entdecken » hinzufügen möchte. Das probiert man dann 10x oder so und irgendwann klappts.

HTTP 500 — SERVER_ERROR — SequelizeTimeoutError: SQLITE_BUSY: database is locked — {
  "name": "SequelizeTimeoutError",
  "parent": {
    "errno": 5,
    "code": "SQLITE_BUSY",
    "sql": "INSERT INTO `t_device` (`id`,`service_id`,`name`,`selector`,`external_id`,`should_poll`,`poll_frequency`,`created_at`,`updated_at`) VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9);"
  },
  "original": {
    "errno": 5,
    "code": "SQLITE_BUSY",
    "sql": "INSERT INTO `t_device` (`id`,`service_id`,`name`,`selector`,`external_id`,`should_poll`,`poll_frequency`,`created_at`,`updated_at`) VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9);"
  },
  "sql": "INSERT INTO `t_device` (`id`,`service_id`,`name`,`selector`,`external_id`,`should_poll`,`poll_frequency`,`created_at`,`updated_at`) VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9);",
  "parameters": {}
}

Danke für das Feedback @stefanbauer!

Dieser Fehler kommt von der Gladys-Datenbank, nicht von der Integration:

  • Wenn man auf „Erstellen“ klickt, speichert Gladys das Gerät in einer SQLite-Transaktion;
  • Wenn zur gleichen Zeit eine andere Schreiboperation stattfindet (die von Zigbee, MQTT oder einer anderen Integration gesendeten Werte), antwortet SQLite mit SQLITE_BUSY: database is locked;
  • Nichts geht verloren: Es reicht, einfach noch einmal auf „Erstellen“ zu klicken.

Ich habe eine Issue auf Gladys-Seite mit der Ursache und einem möglichen Fix eröffnet: GladysAssistant/Gladys#3239

Auf meiner Seite ist die Version 2.5.0 der Integration verfügbar:

  • Ein neu erstelltes Gerät erhält seine Werte nur einmal statt zweimal, was weniger Schreibvorgänge in der Datenbank verursacht, während die Geräte hinzugefügt werden;
  • Die Dokumentation (Troubleshooting-Abschnitt) erklärt diesen Fehler.

Das beseitigt das Problem nicht vollständig, das in Gladys behoben werden muss, aber es sollte es seltener machen. Lass mich wissen, ob es nach dem Update besser läuft!

Ja das war mir klar, aber ich wollte es der Vollständigkeithalber mal bei dir platzieren, weil es in der Tat bisher noch nie aufgetreten ist. Es tritt nur regelmäßig beim Hinzufügen von Apple Devices auf :slight_smile: Danke dir!

Ich hatte das auch beim Hinzufügen anderer Geräte in anderen externen Integrationen. Und tatsächlich, wenn man es ein paar Mal versucht, funktioniert es irgendwann.