diff --git a/CHANGELOG_OLD.md b/CHANGELOG_OLD.md index abb18d9..07a807f 100644 --- a/CHANGELOG_OLD.md +++ b/CHANGELOG_OLD.md @@ -1 +1,74 @@ # Older changes +## 1.1.2 (2022-02-27) + +* (klein0r) Stop adapter when everything was processed + +## 1.1.1 (2022-02-25) + +* (klein0r) CardDAV password config is not a clear text anymore + +## 1.1.0 (2022-02-24) + +* (klein0r) Added CardDAV support + +## 1.0.0 (2022-02-10) + +* (klein0r) Updated state roles +* (klein0r) Added hint for Admin 4 configuration +* (klein0r) Fixed translations + +## 0.2.0 (2022-01-06) + +* (klein0r) Added option to ignore certificate errors + +## 0.1.8 (2022-01-03) + +* (klein0r) Birthdays on 29th of February create NaN objects +* (klein0r) Added check for empty names +* (klein0r) Added date checks + +## 0.1.7 (2021-12-23) + +* (klein0r) Added defaults for birthdays table + +## 0.1.6 (2021-11-18) + +* (klein0r) Require new version for translated instance objects +* (klein0r) Fixed timeout handling + +## 0.1.5 (2021-11-15) + +* (klein0r) Updated internal state handling + +## 0.1.4 (2021-11-14) + +* (klein0r) Translated all objects + +## 0.1.3 (2021-11-07) + +* (klein0r) Format dates using ioBrokers configured formats + +## 0.1.2 (2021-11-06) + +* (klein0r) Fixed missing translations + +## 0.1.1 (2021-11-05) + +* (klein0r) Added custom date format +* (klein0r) Added custom next separator + +## 0.1.0 (2021-11-05) + +* (klein0r) Admin 5 Support + +## 0.0.3 (2021-03-23) + +* (klein0r) Added next and nextAfter birthdays + +## 0.0.2 (2021-03-23) + +* (klein0r) Added more objects and states + +## 0.0.1 (2020-12-28) + +* (klein0r) initial release diff --git a/README.md b/README.md index 990ca78..9f79fb1 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ iobroker add birthdays Placeholder for the next version (at the beginning of the line): ### **WORK IN PROGRESS** --> -### **WORK IN PROGRESS** +### 2.1.0 (2022-05-31) * (klein0r) Added username and password option for iCal @@ -74,80 +74,6 @@ NodeJS 14.x is required (NodeJS 12.x is EOL) * (klein0r) Stop adapter when everything was processed (with timeout) -### 1.1.2 (2022-02-27) - -* (klein0r) Stop adapter when everything was processed - -### 1.1.1 (2022-02-25) - -* (klein0r) CardDAV password config is not a clear text anymore - -### 1.1.0 (2022-02-24) - -* (klein0r) Added CardDAV support - -### 1.0.0 (2022-02-10) - -* (klein0r) Updated state roles -* (klein0r) Added hint for Admin 4 configuration -* (klein0r) Fixed translations - -### 0.2.0 (2022-01-06) - -* (klein0r) Added option to ignore certificate errors - -### 0.1.8 (2022-01-03) - -* (klein0r) Birthdays on 29th of February create NaN objects -* (klein0r) Added check for empty names -* (klein0r) Added date checks - -### 0.1.7 (2021-12-23) - -* (klein0r) Added defaults for birthdays table - -### 0.1.6 (2021-11-18) - -* (klein0r) Require new version for translated instance objects -* (klein0r) Fixed timeout handling - -### 0.1.5 (2021-11-15) - -* (klein0r) Updated internal state handling - -### 0.1.4 (2021-11-14) - -* (klein0r) Translated all objects - -### 0.1.3 (2021-11-07) - -* (klein0r) Format dates using ioBrokers configured formats - -### 0.1.2 (2021-11-06) - -* (klein0r) Fixed missing translations - -### 0.1.1 (2021-11-05) - -* (klein0r) Added custom date format -* (klein0r) Added custom next separator - -### 0.1.0 (2021-11-05) - -* (klein0r) Admin 5 Support - -### 0.0.3 (2021-03-23) - -* (klein0r) Added next and nextAfter birthdays - -### 0.0.2 (2021-03-23) - -* (klein0r) Added more objects and states - -### 0.0.1 (2020-12-28) - -* (klein0r) initial release - ## Credits [Logo by herbanu](https://pixabay.com/de/vectors/geburtstag-karte-cele-feier-design-3148707/) diff --git a/io-package.json b/io-package.json index 8b5b241..f53d633 100644 --- a/io-package.json +++ b/io-package.json @@ -1,677 +1,677 @@ { - "common": { - "name": "birthdays", - "version": "2.0.0", - "news": { - "2.0.0": { - "en": "NodeJS 14.x is required (NodeJS 12.x is EOL)\n\n* Added next significant birthdays\n* Allow to use local ical files by path\n* Updated depedency for js-controller to 4.0.15", - "de": "NodeJS 14.x ist erforderlich (NodeJS 12.x ist EOL)\n\n* Nächste wichtige Geburtstage hinzugefügt\n* Verwendung lokaler ical-Dateien nach Pfad zulassen\n* Abhängigkeit für js-controller auf 4.0.15 aktualisiert", - "ru": "Требуется NodeJS 14.x (NodeJS 12.x является EOL)\n\n* Добавлены следующие значимые дни рождения\n* Разрешить использовать локальные файлы по пути\n* Обновлена зависимость js-контроллера до версии 4.0.15.", - "pt": "NodeJS 14.x é necessário (NodeJS 12.x é EOL)\n\n* Adicionado próximos aniversários significativos\n* Permitir usar arquivos ical locais por caminho\n* Dependência atualizada para js-controller para 4.0.15", - "nl": "NodeJS 14.x is vereist (NodeJS 12.x is EOL)\n\n* Volgende belangrijke verjaardagen toegevoegd\n* Sta toe om lokale ical-bestanden op pad te gebruiken\n* Afhankelijkheid voor js-controller bijgewerkt naar 4.0.15", - "fr": "NodeJS 14.x est requis (NodeJS 12.x est EOL)\n\n* Ajout des prochains anniversaires significatifs\n* Autoriser l'utilisation de fichiers ical locaux par chemin\n* Mise à jour de la dépendance pour js-controller vers 4.0.15", - "it": "È richiesto NodeJS 14.x (NodeJS 12.x è EOL)\n\n* Aggiunti i prossimi compleanni significativi\n* Consenti di utilizzare i file ical locali per percorso\n* Aggiornata la dipendenza per js-controller a 4.0.15", - "es": "Se requiere NodeJS 14.x (NodeJS 12.x es EOL)\n\n* Se agregaron los próximos cumpleaños significativos\n* Permitir usar archivos ical locales por ruta\n* Dependencia actualizada para js-controller a 4.0.15", - "pl": "NodeJS 14.x jest wymagany (NodeJS 12.x to EOL)\n\n* Dodano kolejne znaczące urodziny\n* Zezwól na używanie lokalnych plików ical według ścieżki\n* Zaktualizowano zależność dla kontrolera js do 4.0.15", - "zh-cn": "需要 NodeJS 14.x(NodeJS 12.x 已停产)\n\n*添加了下一个重要的生日\n* 允许通过路径使用本地 ical 文件\n* 将 js-controller 的依赖更新到 4.0.15" - }, - "1.2.1": { - "en": "Removed tsdav\nAllow carddav url without valid certificate (configurable)", - "de": "tsdav entfernt\nCarddav-URL ohne gültiges Zertifikat zulassen (konfigurierbar)", - "ru": "Удален цдав\nРазрешить URL-адрес carddav без действительного сертификата (настраивается)", - "pt": "tsdav removido\nPermitir url carddav sem certificado válido (configurável)", - "nl": "tsdav . verwijderd\nCarddav-url toestaan zonder geldig certificaat (configureerbaar)", - "fr": "tsdav supprimé\nAutoriser l'url carddav sans certificat valide (configurable)", - "it": "Rimosso tsdav\nConsenti URL carddav senza certificato valido (configurabile)", - "es": "Tsdav eliminado\nPermitir URL carddav sin certificado válido (configurable)", - "pl": "Usunięto tsdav\nZezwalaj na adres URL carddav bez ważnego certyfikatu (konfigurowalne)", - "zh-cn": "删除了 tsdav\n允许没有有效证书的 carddav url(可配置)" - }, - "1.2.0": { - "en": "Dropped \"node-ical\" dependency and parse events directly\nStop scheduled adapter instance in any case and report errors", - "de": "„Node-ical“-Abhängigkeit entfernt und Ereignisse direkt geparst\nGeplante Adapterinstanz auf jeden Fall stoppen und Fehler melden", - "ru": "Отброшена «узловая» зависимость и события синтаксического анализа напрямую\nВ любом случае остановить экземпляр запланированного адаптера и сообщить об ошибках", - "pt": "Descartou a dependência \"node-ical\" e analisa os eventos diretamente\nInterrompa a instância do adaptador agendado em qualquer caso e relate erros", - "nl": "\"node-ical\" afhankelijkheid verwijderd en gebeurtenissen direct ontleden\nStop de geplande adapterinstantie in ieder geval en meld fouten", - "fr": "Suppression de la dépendance \"nœud-ical\" et analyse directe des événements\nArrêtez l'instance d'adaptateur planifiée dans tous les cas et signalez les erreurs", - "it": "Eliminata la dipendenza \"node-ical\" e analizza direttamente gli eventi\nArresta in ogni caso l'istanza dell'adattatore pianificata e segnala gli errori", - "es": "Se eliminó la dependencia \"node-ical\" y se analizaron los eventos directamente\nDetenga la instancia del adaptador programado en cualquier caso e informe los errores", - "pl": "Zrezygnowano z zależności „węzłowej” i bezpośrednio analizowano zdarzenia\nZatrzymaj zaplanowaną instancję adaptera w każdym przypadku i zgłoś błędy", - "zh-cn": "删除“node-ical”依赖并直接解析事件\n在任何情况下停止计划的适配器实例并报告错误" - }, - "1.1.3": { - "en": "Stop adapter when everything was processed (with timeout)", - "de": "Adapter beenden, wenn alles verarbeitet wurde (mit Timeout)", - "ru": "Остановить адаптер, когда все было обработано (с тайм-аутом)", - "pt": "Parar o adaptador quando tudo foi processado (com tempo limite)", - "nl": "Stop adapter als alles is verwerkt (met time-out)", - "fr": "Arrêter l'adaptateur lorsque tout a été traité (avec timeout)", - "it": "Arresta adattatore quando tutto è stato elaborato (con timeout)", - "es": "Detener el adaptador cuando todo se procesó (con tiempo de espera)", - "pl": "Zatrzymaj adapter, gdy wszystko zostało przetworzone (z limitem czasu)", - "zh-cn": "处理完所有内容后停止适配器(超时)" - }, - "1.1.2": { - "en": "Stop adapter when everything was processed", - "de": "Stoppen Sie den Adapter, wenn alles verarbeitet wurde", - "ru": "Остановить адаптер, когда все было обработано", - "pt": "Parar o adaptador quando tudo foi processado", - "nl": "Stop adapter wanneer alles is verwerkt", - "fr": "Arrêter l'adaptateur lorsque tout a été traité", - "it": "Interrompi l'adattatore quando tutto è stato elaborato", - "es": "Detenga el adaptador cuando todo haya sido procesado", - "pl": "Zatrzymaj adapter, gdy wszystko zostało przetworzone", - "zh-cn": "处理完所有内容后停止适配器" - }, - "1.1.1": { - "en": "CardDAV password config is not a clear text anymore", - "de": "Die CardDAV-Passwortkonfiguration ist kein Klartext mehr", - "ru": "Конфигурация пароля CardDAV больше не является открытым текстом", - "pt": "A configuração de senha do CardDAV não é mais um texto claro", - "nl": "CardDAV-wachtwoordconfiguratie is geen duidelijke tekst meer", - "fr": "La configuration du mot de passe CardDAV n'est plus un texte clair", - "it": "La configurazione della password CardDAV non è più un testo in chiaro", - "es": "La configuración de contraseña de CardDAV ya no es un texto claro", - "pl": "Konfiguracja hasła CardDAV nie jest już zwykłym tekstem", - "zh-cn": "CardDAV 密码配置不再是明文" - }, - "1.1.0": { - "en": "Added CardDAV support", - "de": "CardDAV-Unterstützung hinzugefügt", - "ru": "Добавлена поддержка CardDAV.", - "pt": "Adicionado suporte CardDAV", - "nl": "CardDAV-ondersteuning toegevoegd", - "fr": "Ajout de la prise en charge de CardDAV", - "it": "Aggiunto supporto CardDAV", - "es": "Compatibilidad con CardDAV añadida", - "pl": "Dodano obsługę CardDAV", - "zh-cn": "添加了 CardDAV 支持" - } - }, - "titleLang": { - "en": "Birthdays", - "de": "Geburtstage", - "ru": "Дни рождения", - "pt": "Aniversários", - "nl": "verjaardagen", - "fr": "Anniversaires", - "it": "compleanni", - "es": "Cumpleaños", - "pl": "Urodziny", - "zh-cn": "生日" - }, - "desc": { - "en": "Use an ical file to import your contacts birthdays", - "de": "Verwenden Sie eine ical-Datei, um die Geburtstage Ihrer Kontakte zu importieren", - "ru": "Используйте файл ical для импорта дней рождения контактов", - "pt": "Use um arquivo ical para importar os aniversários de seus contatos", - "nl": "Gebruik een ical-bestand om de verjaardagen van uw contacten te importeren", - "fr": "Utilisez un fichier ical pour importer les anniversaires de vos contacts", - "it": "Usa un file ical per importare i compleanni dei tuoi contatti", - "es": "Utilice un archivo ical para importar los cumpleaños de sus contactos", - "pl": "Użyj pliku ical, aby zaimportować daty urodzin kontaktów", - "zh-cn": "使用 ical 文件导入您的联系人生日" - }, - "authors": [ - "Matthias Kleine " - ], - "keywords": [ - "calendar", - "ical", - "carddav", - "birthday" - ], - "license": "MIT", - "platform": "Javascript/Node.js", - "icon": "birthdays.png", - "extIcon": "https://raw.githubusercontent.com/klein0r/ioBroker.birthdays/master/admin/birthdays.png", - "enabled": true, - "readme": "https://github.com/klein0r/ioBroker.birthdays/blob/master/README.md", - "loglevel": "info", - "mode": "schedule", - "allowInit": true, - "schedule": "0 0 * * *", - "type": "date-and-time", - "compact": true, - "connectionType": "cloud", - "dataSource": "poll", - "materialize": true, - "adminUI": { - "config": "json" - }, - "docs": { - "en": [ - "docs/en/basics.md", - "docs/en/ical.md", - "docs/en/carddav.md" - ], - "de": [ - "docs/de/basics.md", - "docs/de/ical.md", - "docs/de/carddav.md" - ] - }, - "globalDependencies": [ - { - "admin": ">=5.3.2" - } - ], - "dependencies": [ - { - "js-controller": ">=4.0.15" - } - ] + "common": { + "name": "birthdays", + "version": "2.1.0", + "news": { + "2.1.0": { + "en": "Added username and password option for iCal", + "de": "Option für Benutzername und Passwort für iCal hinzugefügt", + "ru": "Добавлена опция имени пользователя и пароля для iCal.", + "pt": "Adicionada opção de nome de usuário e senha para iCal", + "nl": "Optie voor gebruikersnaam en wachtwoord toegevoegd voor iCal", + "fr": "Ajout d'une option de nom d'utilisateur et de mot de passe pour iCal", + "it": "Aggiunta opzione nome utente e password per iCal", + "es": "Se agregó la opción de nombre de usuario y contraseña para iCal", + "pl": "Dodano opcję nazwy użytkownika i hasła do iCal", + "zh-cn": "为 iCal 添加了用户名和密码选项" + }, + "2.0.0": { + "en": "NodeJS 14.x is required (NodeJS 12.x is EOL)\n\n* Added next significant birthdays\n* Allow to use local ical files by path\n* Updated depedency for js-controller to 4.0.15", + "de": "NodeJS 14.x ist erforderlich (NodeJS 12.x ist EOL)\n\n* Nächste wichtige Geburtstage hinzugefügt\n* Verwendung lokaler ical-Dateien nach Pfad zulassen\n* Abhängigkeit für js-controller auf 4.0.15 aktualisiert", + "ru": "Требуется NodeJS 14.x (NodeJS 12.x является EOL)\n\n* Добавлены следующие значимые дни рождения\n* Разрешить использовать локальные файлы по пути\n* Обновлена зависимость js-контроллера до версии 4.0.15.", + "pt": "NodeJS 14.x é necessário (NodeJS 12.x é EOL)\n\n* Adicionado próximos aniversários significativos\n* Permitir usar arquivos ical locais por caminho\n* Dependência atualizada para js-controller para 4.0.15", + "nl": "NodeJS 14.x is vereist (NodeJS 12.x is EOL)\n\n* Volgende belangrijke verjaardagen toegevoegd\n* Sta toe om lokale ical-bestanden op pad te gebruiken\n* Afhankelijkheid voor js-controller bijgewerkt naar 4.0.15", + "fr": "NodeJS 14.x est requis (NodeJS 12.x est EOL)\n\n* Ajout des prochains anniversaires significatifs\n* Autoriser l'utilisation de fichiers ical locaux par chemin\n* Mise à jour de la dépendance pour js-controller vers 4.0.15", + "it": "È richiesto NodeJS 14.x (NodeJS 12.x è EOL)\n\n* Aggiunti i prossimi compleanni significativi\n* Consenti di utilizzare i file ical locali per percorso\n* Aggiornata la dipendenza per js-controller a 4.0.15", + "es": "Se requiere NodeJS 14.x (NodeJS 12.x es EOL)\n\n* Se agregaron los próximos cumpleaños significativos\n* Permitir usar archivos ical locales por ruta\n* Dependencia actualizada para js-controller a 4.0.15", + "pl": "NodeJS 14.x jest wymagany (NodeJS 12.x to EOL)\n\n* Dodano kolejne znaczące urodziny\n* Zezwól na używanie lokalnych plików ical według ścieżki\n* Zaktualizowano zależność dla kontrolera js do 4.0.15", + "zh-cn": "需要 NodeJS 14.x(NodeJS 12.x 已停产)\n\n*添加了下一个重要的生日\n* 允许通过路径使用本地 ical 文件\n* 将 js-controller 的依赖更新到 4.0.15" + }, + "1.2.1": { + "en": "Removed tsdav\nAllow carddav url without valid certificate (configurable)", + "de": "tsdav entfernt\nCarddav-URL ohne gültiges Zertifikat zulassen (konfigurierbar)", + "ru": "Удален цдав\nРазрешить URL-адрес carddav без действительного сертификата (настраивается)", + "pt": "tsdav removido\nPermitir url carddav sem certificado válido (configurável)", + "nl": "tsdav . verwijderd\nCarddav-url toestaan zonder geldig certificaat (configureerbaar)", + "fr": "tsdav supprimé\nAutoriser l'url carddav sans certificat valide (configurable)", + "it": "Rimosso tsdav\nConsenti URL carddav senza certificato valido (configurabile)", + "es": "Tsdav eliminado\nPermitir URL carddav sin certificado válido (configurable)", + "pl": "Usunięto tsdav\nZezwalaj na adres URL carddav bez ważnego certyfikatu (konfigurowalne)", + "zh-cn": "删除了 tsdav\n允许没有有效证书的 carddav url(可配置)" + }, + "1.2.0": { + "en": "Dropped \"node-ical\" dependency and parse events directly\nStop scheduled adapter instance in any case and report errors", + "de": "„Node-ical“-Abhängigkeit entfernt und Ereignisse direkt geparst\nGeplante Adapterinstanz auf jeden Fall stoppen und Fehler melden", + "ru": "Отброшена «узловая» зависимость и события синтаксического анализа напрямую\nВ любом случае остановить экземпляр запланированного адаптера и сообщить об ошибках", + "pt": "Descartou a dependência \"node-ical\" e analisa os eventos diretamente\nInterrompa a instância do adaptador agendado em qualquer caso e relate erros", + "nl": "\"node-ical\" afhankelijkheid verwijderd en gebeurtenissen direct ontleden\nStop de geplande adapterinstantie in ieder geval en meld fouten", + "fr": "Suppression de la dépendance \"nœud-ical\" et analyse directe des événements\nArrêtez l'instance d'adaptateur planifiée dans tous les cas et signalez les erreurs", + "it": "Eliminata la dipendenza \"node-ical\" e analizza direttamente gli eventi\nArresta in ogni caso l'istanza dell'adattatore pianificata e segnala gli errori", + "es": "Se eliminó la dependencia \"node-ical\" y se analizaron los eventos directamente\nDetenga la instancia del adaptador programado en cualquier caso e informe los errores", + "pl": "Zrezygnowano z zależności „węzłowej” i bezpośrednio analizowano zdarzenia\nZatrzymaj zaplanowaną instancję adaptera w każdym przypadku i zgłoś błędy", + "zh-cn": "删除“node-ical”依赖并直接解析事件\n在任何情况下停止计划的适配器实例并报告错误" + }, + "1.1.3": { + "en": "Stop adapter when everything was processed (with timeout)", + "de": "Adapter beenden, wenn alles verarbeitet wurde (mit Timeout)", + "ru": "Остановить адаптер, когда все было обработано (с тайм-аутом)", + "pt": "Parar o adaptador quando tudo foi processado (com tempo limite)", + "nl": "Stop adapter als alles is verwerkt (met time-out)", + "fr": "Arrêter l'adaptateur lorsque tout a été traité (avec timeout)", + "it": "Arresta adattatore quando tutto è stato elaborato (con timeout)", + "es": "Detener el adaptador cuando todo se procesó (con tiempo de espera)", + "pl": "Zatrzymaj adapter, gdy wszystko zostało przetworzone (z limitem czasu)", + "zh-cn": "处理完所有内容后停止适配器(超时)" + }, + "1.1.2": { + "en": "Stop adapter when everything was processed", + "de": "Stoppen Sie den Adapter, wenn alles verarbeitet wurde", + "ru": "Остановить адаптер, когда все было обработано", + "pt": "Parar o adaptador quando tudo foi processado", + "nl": "Stop adapter wanneer alles is verwerkt", + "fr": "Arrêter l'adaptateur lorsque tout a été traité", + "it": "Interrompi l'adattatore quando tutto è stato elaborato", + "es": "Detenga el adaptador cuando todo haya sido procesado", + "pl": "Zatrzymaj adapter, gdy wszystko zostało przetworzone", + "zh-cn": "处理完所有内容后停止适配器" + }, + "1.1.1": { + "en": "CardDAV password config is not a clear text anymore", + "de": "Die CardDAV-Passwortkonfiguration ist kein Klartext mehr", + "ru": "Конфигурация пароля CardDAV больше не является открытым текстом", + "pt": "A configuração de senha do CardDAV não é mais um texto claro", + "nl": "CardDAV-wachtwoordconfiguratie is geen duidelijke tekst meer", + "fr": "La configuration du mot de passe CardDAV n'est plus un texte clair", + "it": "La configurazione della password CardDAV non è più un testo in chiaro", + "es": "La configuración de contraseña de CardDAV ya no es un texto claro", + "pl": "Konfiguracja hasła CardDAV nie jest już zwykłym tekstem", + "zh-cn": "CardDAV 密码配置不再是明文" + } + }, + "titleLang": { + "en": "Birthdays", + "de": "Geburtstage", + "ru": "Дни рождения", + "pt": "Aniversários", + "nl": "verjaardagen", + "fr": "Anniversaires", + "it": "compleanni", + "es": "Cumpleaños", + "pl": "Urodziny", + "zh-cn": "生日" }, - "protectedNative": [ - "carddavUser", - "carddavPassword", - "icalUser", - "icalPassword" + "desc": { + "en": "Use an ical file to import your contacts birthdays", + "de": "Verwenden Sie eine ical-Datei, um die Geburtstage Ihrer Kontakte zu importieren", + "ru": "Используйте файл ical для импорта дней рождения контактов", + "pt": "Use um arquivo ical para importar os aniversários de seus contatos", + "nl": "Gebruik een ical-bestand om de verjaardagen van uw contacten te importeren", + "fr": "Utilisez un fichier ical pour importer les anniversaires de vos contacts", + "it": "Usa un file ical per importare i compleanni dei tuoi contatti", + "es": "Utilice un archivo ical para importar los cumpleaños de sus contactos", + "pl": "Użyj pliku ical, aby zaimportować daty urodzin kontaktów", + "zh-cn": "使用 ical 文件导入您的联系人生日" + }, + "authors": [ + "Matthias Kleine " ], - "encryptedNative": [ - "carddavPassword", - "icalPassword" + "keywords": [ + "calendar", + "ical", + "carddav", + "birthday" ], - "native": { - "nextTextTemplate": "%n turns %a", - "nextSeparator": ", ", - "icalUrl": "", - "icalUser": "", - "icalPassword": "", - "icalUrlIgnoreCertErrors": false, - "carddavUrl": "", - "carddavUser": "", - "carddavPassword": "", - "carddavIgnoreCertErrors": false, - "birthdays": [] + "license": "MIT", + "platform": "Javascript/Node.js", + "icon": "birthdays.png", + "extIcon": "https://raw.githubusercontent.com/klein0r/ioBroker.birthdays/master/admin/birthdays.png", + "enabled": true, + "readme": "https://github.com/klein0r/ioBroker.birthdays/blob/master/README.md", + "loglevel": "info", + "mode": "schedule", + "allowInit": true, + "schedule": "0 0 * * *", + "type": "date-and-time", + "compact": true, + "connectionType": "cloud", + "dataSource": "poll", + "materialize": true, + "adminUI": { + "config": "json" }, - "objects": [], - "instanceObjects": [ - { - "_id": "summary", - "type": "channel", - "common": { - "name": { - "en": "Birthdays summary", - "de": "Zusammenfassung der Geburtstage", - "ru": "Сводка дней рождения", - "pt": "Resumo de aniversários", - "nl": "Verjaardagen samenvatting", - "fr": "Résumé des anniversaires", - "it": "Riepilogo compleanni", - "es": "Resumen de cumpleaños", - "pl": "Podsumowanie urodzin", - "zh-cn": "生日总结" - } - }, - "native": {} - }, - { - "_id": "summary.json", - "type": "state", - "common": { - "name": { - "en": "Birthdays JSON", - "de": "Geburtstage JSON", - "ru": "Дни рождения JSON", - "pt": "JSON de aniversários", - "nl": "Verjaardagen JSON", - "fr": "Anniversaires JSON", - "it": "Compleanni JSON", - "es": "Cumpleaños JSON", - "pl": "Urodziny JSON", - "zh-cn": "生日 JSON" - }, - "type": "string", - "role": "json", - "read": true, - "write": false - }, - "native": {} - }, - { - "_id": "summary.jsonSignificant", - "type": "state", - "common": { - "name": { - "en": "Significant birthdays JSON", - "de": "Bedeutende Geburtstage JSON", - "ru": "Знаменательные дни рождения JSON", - "pt": "JSON de aniversários significativos", - "nl": "Aanzienlijke verjaardagen JSON", - "fr": "Anniversaires significatifs JSON", - "it": "Compleanni significativi JSON", - "es": "Cumpleaños significativos JSON", - "pl": "Ważne urodziny JSON", - "zh-cn": "重要生日 JSON" - }, - "type": "string", - "role": "json", - "read": true, - "write": false - }, - "native": {} - }, - { - "_id": "month", - "type": "channel", - "common": { - "name": { - "en": "By month", - "de": "Nach Monaten", - "ru": "По месяцам", - "pt": "Por mês", - "nl": "Bij maand", - "fr": "Par mois", - "it": "Per mese", - "es": "Por mes", - "pl": "Według miesiąca", - "zh-cn": "按月" - } - }, - "native": {} - }, - { - "_id": "next", - "type": "channel", - "common": { - "name": { - "en": "Next birthdays", - "de": "Nächste Geburtstage", - "ru": "Следующие дни рождения", - "pt": "Próximos aniversários", - "nl": "Volgende verjaardagen", - "fr": "Prochains anniversaires", - "it": "Prossimi compleanni", - "es": "Próximos cumpleaños", - "pl": "Następne urodziny", - "zh-cn": "下一个生日" - } - }, - "native": {} + "docs": { + "en": [ + "docs/en/basics.md", + "docs/en/ical.md", + "docs/en/carddav.md" + ], + "de": [ + "docs/de/basics.md", + "docs/de/ical.md", + "docs/de/carddav.md" + ] + }, + "globalDependencies": [ + { + "admin": ">=5.3.2" + } + ], + "dependencies": [ + { + "js-controller": ">=4.0.15" + } + ] + }, + "protectedNative": [ + "carddavUser", + "carddavPassword", + "icalUser", + "icalPassword" + ], + "encryptedNative": [ + "carddavPassword", + "icalPassword" + ], + "native": { + "nextTextTemplate": "%n turns %a", + "nextSeparator": ", ", + "icalUrl": "", + "icalUser": "", + "icalPassword": "", + "icalUrlIgnoreCertErrors": false, + "carddavUrl": "", + "carddavUser": "", + "carddavPassword": "", + "carddavIgnoreCertErrors": false, + "birthdays": [] + }, + "objects": [], + "instanceObjects": [ + { + "_id": "summary", + "type": "channel", + "common": { + "name": { + "en": "Birthdays summary", + "de": "Zusammenfassung der Geburtstage", + "ru": "Сводка дней рождения", + "pt": "Resumo de aniversários", + "nl": "Verjaardagen samenvatting", + "fr": "Résumé des anniversaires", + "it": "Riepilogo compleanni", + "es": "Resumen de cumpleaños", + "pl": "Podsumowanie urodzin", + "zh-cn": "生日总结" + } + }, + "native": {} + }, + { + "_id": "summary.json", + "type": "state", + "common": { + "name": { + "en": "Birthdays JSON", + "de": "Geburtstage JSON", + "ru": "Дни рождения JSON", + "pt": "JSON de aniversários", + "nl": "Verjaardagen JSON", + "fr": "Anniversaires JSON", + "it": "Compleanni JSON", + "es": "Cumpleaños JSON", + "pl": "Urodziny JSON", + "zh-cn": "生日 JSON" }, - { - "_id": "next.json", - "type": "state", - "common": { - "name": { - "en": "Birthdays JSON", - "de": "Geburtstage JSON", - "ru": "Дни рождения JSON", - "pt": "JSON de aniversários", - "nl": "Verjaardagen JSON", - "fr": "Anniversaires JSON", - "it": "Compleanni JSON", - "es": "Cumpleaños JSON", - "pl": "Urodziny JSON", - "zh-cn": "生日 JSON" - }, - "type": "string", - "role": "json", - "read": true, - "write": false - }, - "native": {} + "type": "string", + "role": "json", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "summary.jsonSignificant", + "type": "state", + "common": { + "name": { + "en": "Significant birthdays JSON", + "de": "Bedeutende Geburtstage JSON", + "ru": "Знаменательные дни рождения JSON", + "pt": "JSON de aniversários significativos", + "nl": "Aanzienlijke verjaardagen JSON", + "fr": "Anniversaires significatifs JSON", + "it": "Compleanni significativi JSON", + "es": "Cumpleaños significativos JSON", + "pl": "Ważne urodziny JSON", + "zh-cn": "重要生日 JSON" }, - { - "_id": "next.text", - "type": "state", - "common": { - "name": { - "en": "Next birthdays", - "de": "Nächste Geburtstage", - "ru": "Следующие дни рождения", - "pt": "Próximos aniversários", - "nl": "Volgende verjaardagen", - "fr": "Prochains anniversaires", - "it": "Prossimi compleanni", - "es": "Próximos cumpleaños", - "pl": "Następne urodziny", - "zh-cn": "下一个生日" - }, - "type": "string", - "role": "text", - "read": true, - "write": false - }, - "native": {} + "type": "string", + "role": "json", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "month", + "type": "channel", + "common": { + "name": { + "en": "By month", + "de": "Nach Monaten", + "ru": "По месяцам", + "pt": "Por mês", + "nl": "Bij maand", + "fr": "Par mois", + "it": "Per mese", + "es": "Por mes", + "pl": "Według miesiąca", + "zh-cn": "按月" + } + }, + "native": {} + }, + { + "_id": "next", + "type": "channel", + "common": { + "name": { + "en": "Next birthdays", + "de": "Nächste Geburtstage", + "ru": "Следующие дни рождения", + "pt": "Próximos aniversários", + "nl": "Volgende verjaardagen", + "fr": "Prochains anniversaires", + "it": "Prossimi compleanni", + "es": "Próximos cumpleaños", + "pl": "Następne urodziny", + "zh-cn": "下一个生日" + } + }, + "native": {} + }, + { + "_id": "next.json", + "type": "state", + "common": { + "name": { + "en": "Birthdays JSON", + "de": "Geburtstage JSON", + "ru": "Дни рождения JSON", + "pt": "JSON de aniversários", + "nl": "Verjaardagen JSON", + "fr": "Anniversaires JSON", + "it": "Compleanni JSON", + "es": "Cumpleaños JSON", + "pl": "Urodziny JSON", + "zh-cn": "生日 JSON" }, - { - "_id": "next.daysLeft", - "type": "state", - "common": { - "name": { - "en": "Next birthdays - days left", - "de": "Nächste Geburtstage - verbleibende Tage", - "ru": "Следующие дни рождения - осталось дней", - "pt": "Próximos aniversários - faltam dias", - "nl": "Volgende verjaardagen - resterende dagen", - "fr": "Prochains anniversaires - jours restants", - "it": "Prossimi compleanni - giorni rimasti", - "es": "Próximos cumpleaños: quedan días", - "pl": "Następne urodziny - pozostały dni", - "zh-cn": "下一个生日 - 剩余天数" - }, - "type": "number", - "role": "value", - "read": true, - "write": false - }, - "native": {} + "type": "string", + "role": "json", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "next.text", + "type": "state", + "common": { + "name": { + "en": "Next birthdays", + "de": "Nächste Geburtstage", + "ru": "Следующие дни рождения", + "pt": "Próximos aniversários", + "nl": "Volgende verjaardagen", + "fr": "Prochains anniversaires", + "it": "Prossimi compleanni", + "es": "Próximos cumpleaños", + "pl": "Następne urodziny", + "zh-cn": "下一个生日" }, - { - "_id": "next.date", - "type": "state", - "common": { - "name": { - "en": "Next birthdays - date", - "de": "Nächste Geburtstage - Datum", - "ru": "Следующие дни рождения - дата", - "pt": "Próximos aniversários - data", - "nl": "Volgende verjaardagen - datum", - "fr": "Prochains anniversaires - date", - "it": "Prossimi compleanni - data", - "es": "Próximos cumpleaños - fecha", - "pl": "Następne urodziny - data", - "zh-cn": "下一个生日 - 日期" - }, - "type": "number", - "role": "date", - "read": true, - "write": false - }, - "native": {} + "type": "string", + "role": "text", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "next.daysLeft", + "type": "state", + "common": { + "name": { + "en": "Next birthdays - days left", + "de": "Nächste Geburtstage - verbleibende Tage", + "ru": "Следующие дни рождения - осталось дней", + "pt": "Próximos aniversários - faltam dias", + "nl": "Volgende verjaardagen - resterende dagen", + "fr": "Prochains anniversaires - jours restants", + "it": "Prossimi compleanni - giorni rimasti", + "es": "Próximos cumpleaños: quedan días", + "pl": "Następne urodziny - pozostały dni", + "zh-cn": "下一个生日 - 剩余天数" }, - { - "_id": "next.dateFormat", - "type": "state", - "common": { - "name": { - "en": "Next birthdays - date formatted", - "de": "Nächste Geburtstage - Datum formatiert", - "ru": "Следующие дни рождения - дата в формате", - "pt": "Próximos aniversários - data formatada", - "nl": "Volgende verjaardagen - datum geformatteerd", - "fr": "Prochains anniversaires - date formatée", - "it": "Prossimi compleanni - data formattata", - "es": "Próximos cumpleaños: fecha formateada", - "pl": "Następne urodziny - data sformatowana", - "zh-cn": "下一个生日 - 日期格式" - }, - "type": "string", - "role": "text", - "read": true, - "write": false - }, - "native": {} + "type": "number", + "role": "value", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "next.date", + "type": "state", + "common": { + "name": { + "en": "Next birthdays - date", + "de": "Nächste Geburtstage - Datum", + "ru": "Следующие дни рождения - дата", + "pt": "Próximos aniversários - data", + "nl": "Volgende verjaardagen - datum", + "fr": "Prochains anniversaires - date", + "it": "Prossimi compleanni - data", + "es": "Próximos cumpleaños - fecha", + "pl": "Następne urodziny - data", + "zh-cn": "下一个生日 - 日期" }, - { - "_id": "nextAfter", - "type": "channel", - "common": { - "name": { - "en": "After next birthdays", - "de": "Nach den nächsten Geburtstagen", - "ru": "После следующих дней рождения", - "pt": "Depois dos próximos aniversários", - "nl": "Na volgende verjaardagen", - "fr": "Après les prochains anniversaires", - "it": "Dopo i prossimi compleanni", - "es": "Después de los próximos cumpleaños", - "pl": "Po następnych urodzinach", - "zh-cn": "下一个生日之后" - } - }, - "native": {} + "type": "number", + "role": "date", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "next.dateFormat", + "type": "state", + "common": { + "name": { + "en": "Next birthdays - date formatted", + "de": "Nächste Geburtstage - Datum formatiert", + "ru": "Следующие дни рождения - дата в формате", + "pt": "Próximos aniversários - data formatada", + "nl": "Volgende verjaardagen - datum geformatteerd", + "fr": "Prochains anniversaires - date formatée", + "it": "Prossimi compleanni - data formattata", + "es": "Próximos cumpleaños: fecha formateada", + "pl": "Następne urodziny - data sformatowana", + "zh-cn": "下一个生日 - 日期格式" }, - { - "_id": "nextAfter.json", - "type": "state", - "common": { - "name": { - "en": "Birthdays JSON", - "de": "Geburtstage JSON", - "ru": "Дни рождения JSON", - "pt": "JSON de aniversários", - "nl": "Verjaardagen JSON", - "fr": "Anniversaires JSON", - "it": "Compleanni JSON", - "es": "Cumpleaños JSON", - "pl": "Urodziny JSON", - "zh-cn": "生日 JSON" - }, - "type": "string", - "role": "json", - "read": true, - "write": false - }, - "native": {} + "type": "string", + "role": "text", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "nextAfter", + "type": "channel", + "common": { + "name": { + "en": "After next birthdays", + "de": "Nach den nächsten Geburtstagen", + "ru": "После следующих дней рождения", + "pt": "Depois dos próximos aniversários", + "nl": "Na volgende verjaardagen", + "fr": "Après les prochains anniversaires", + "it": "Dopo i prossimi compleanni", + "es": "Después de los próximos cumpleaños", + "pl": "Po następnych urodzinach", + "zh-cn": "下一个生日之后" + } + }, + "native": {} + }, + { + "_id": "nextAfter.json", + "type": "state", + "common": { + "name": { + "en": "Birthdays JSON", + "de": "Geburtstage JSON", + "ru": "Дни рождения JSON", + "pt": "JSON de aniversários", + "nl": "Verjaardagen JSON", + "fr": "Anniversaires JSON", + "it": "Compleanni JSON", + "es": "Cumpleaños JSON", + "pl": "Urodziny JSON", + "zh-cn": "生日 JSON" }, - { - "_id": "nextAfter.text", - "type": "state", - "common": { - "name": { - "en": "After next birthdays", - "de": "Nach den nächsten Geburtstagen", - "ru": "После следующих дней рождения", - "pt": "Depois dos próximos aniversários", - "nl": "Na volgende verjaardagen", - "fr": "Après les prochains anniversaires", - "it": "Dopo i prossimi compleanni", - "es": "Después de los próximos cumpleaños", - "pl": "Po następnych urodzinach", - "zh-cn": "下一个生日之后" - }, - "type": "string", - "role": "text", - "read": true, - "write": false - }, - "native": {} + "type": "string", + "role": "json", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "nextAfter.text", + "type": "state", + "common": { + "name": { + "en": "After next birthdays", + "de": "Nach den nächsten Geburtstagen", + "ru": "После следующих дней рождения", + "pt": "Depois dos próximos aniversários", + "nl": "Na volgende verjaardagen", + "fr": "Après les prochains anniversaires", + "it": "Dopo i prossimi compleanni", + "es": "Después de los próximos cumpleaños", + "pl": "Po następnych urodzinach", + "zh-cn": "下一个生日之后" }, - { - "_id": "nextAfter.daysLeft", - "type": "state", - "common": { - "name": { - "en": "After next birthdays - days left", - "de": "Nach den nächsten Geburtstagen - verbleibende Tage", - "ru": "После следующих дней рождения - осталось дней", - "pt": "Após os próximos aniversários - faltam dias", - "nl": "Na de volgende verjaardagen - nog dagen over", - "fr": "Après les prochains anniversaires - jours restants", - "it": "Dopo i prossimi compleanni - giorni rimasti", - "es": "Después de los próximos cumpleaños - quedan días", - "pl": "Po następnych urodzinach - pozostały dni", - "zh-cn": "下一个生日之后 - 剩下的天数" - }, - "type": "number", - "role": "value", - "read": true, - "write": false - }, - "native": {} + "type": "string", + "role": "text", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "nextAfter.daysLeft", + "type": "state", + "common": { + "name": { + "en": "After next birthdays - days left", + "de": "Nach den nächsten Geburtstagen - verbleibende Tage", + "ru": "После следующих дней рождения - осталось дней", + "pt": "Após os próximos aniversários - faltam dias", + "nl": "Na de volgende verjaardagen - nog dagen over", + "fr": "Après les prochains anniversaires - jours restants", + "it": "Dopo i prossimi compleanni - giorni rimasti", + "es": "Después de los próximos cumpleaños - quedan días", + "pl": "Po następnych urodzinach - pozostały dni", + "zh-cn": "下一个生日之后 - 剩下的天数" }, - { - "_id": "nextAfter.date", - "type": "state", - "common": { - "name": { - "en": "After next birthdays - date", - "de": "Nach den nächsten Geburtstagen - Datum", - "ru": "После следующих дней рождения - дата", - "pt": "Após os próximos aniversários - data", - "nl": "Na volgende verjaardagen - datum", - "fr": "Après les prochains anniversaires - date", - "it": "Dopo i prossimi compleanni - data", - "es": "Después de los próximos cumpleaños - fecha", - "pl": "Po następnych urodzinach - data", - "zh-cn": "在下一个生日之后 - 日期" - }, - "type": "number", - "role": "date", - "read": true, - "write": false - }, - "native": {} + "type": "number", + "role": "value", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "nextAfter.date", + "type": "state", + "common": { + "name": { + "en": "After next birthdays - date", + "de": "Nach den nächsten Geburtstagen - Datum", + "ru": "После следующих дней рождения - дата", + "pt": "Após os próximos aniversários - data", + "nl": "Na volgende verjaardagen - datum", + "fr": "Après les prochains anniversaires - date", + "it": "Dopo i prossimi compleanni - data", + "es": "Después de los próximos cumpleaños - fecha", + "pl": "Po następnych urodzinach - data", + "zh-cn": "在下一个生日之后 - 日期" }, - { - "_id": "nextAfter.dateFormat", - "type": "state", - "common": { - "name": { - "en": "After next birthdays - date formatted", - "de": "Nach den nächsten Geburtstagen - Datum formatiert", - "ru": "После следующих дней рождения - дата в формате", - "pt": "Após os próximos aniversários - data formatada", - "nl": "Na volgende verjaardagen - datum geformatteerd", - "fr": "Après les prochains anniversaires - date formatée", - "it": "Dopo i prossimi compleanni - data formattata", - "es": "Después de los próximos cumpleaños: formato de fecha", - "pl": "Po następnych urodzinach - data sformatowana", - "zh-cn": "在下一个生日之后 - 日期格式化" - }, - "type": "string", - "role": "text", - "read": true, - "write": false - }, - "native": {} + "type": "number", + "role": "date", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "nextAfter.dateFormat", + "type": "state", + "common": { + "name": { + "en": "After next birthdays - date formatted", + "de": "Nach den nächsten Geburtstagen - Datum formatiert", + "ru": "После следующих дней рождения - дата в формате", + "pt": "Após os próximos aniversários - data formatada", + "nl": "Na volgende verjaardagen - datum geformatteerd", + "fr": "Après les prochains anniversaires - date formatée", + "it": "Dopo i prossimi compleanni - data formattata", + "es": "Después de los próximos cumpleaños: formato de fecha", + "pl": "Po następnych urodzinach - data sformatowana", + "zh-cn": "在下一个生日之后 - 日期格式化" }, - { - "_id": "nextSignificant", - "type": "channel", - "common": { - "name": { - "en": "Next significant birthdays", - "de": "Nächste bedeutende Geburtstage", - "ru": "Следующие знаменательные дни рождения", - "pt": "Próximos aniversários significativos", - "nl": "Volgende belangrijke verjaardagen", - "fr": "Prochains anniversaires significatifs", - "it": "Prossimi compleanni significativi", - "es": "Próximos cumpleaños significativos", - "pl": "Kolejne znaczące urodziny", - "zh-cn": "下一个重要的生日" - } - }, - "native": {} + "type": "string", + "role": "text", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "nextSignificant", + "type": "channel", + "common": { + "name": { + "en": "Next significant birthdays", + "de": "Nächste bedeutende Geburtstage", + "ru": "Следующие знаменательные дни рождения", + "pt": "Próximos aniversários significativos", + "nl": "Volgende belangrijke verjaardagen", + "fr": "Prochains anniversaires significatifs", + "it": "Prossimi compleanni significativi", + "es": "Próximos cumpleaños significativos", + "pl": "Kolejne znaczące urodziny", + "zh-cn": "下一个重要的生日" + } + }, + "native": {} + }, + { + "_id": "nextSignificant.json", + "type": "state", + "common": { + "name": { + "en": "Next significant birthdays JSON", + "de": "Nächste bedeutende Geburtstage JSON", + "ru": "Следующие значимые дни рождения JSON", + "pt": "Próximos aniversários significativos JSON", + "nl": "Volgende belangrijke verjaardagen JSON", + "fr": "Prochains anniversaires significatifs JSON", + "it": "Prossimi compleanni significativi JSON", + "es": "Próximos cumpleaños significativos JSON", + "pl": "Następne znaczące urodziny JSON", + "zh-cn": "下一个重要生日 JSON" }, - { - "_id": "nextSignificant.json", - "type": "state", - "common": { - "name": { - "en": "Next significant birthdays JSON", - "de": "Nächste bedeutende Geburtstage JSON", - "ru": "Следующие значимые дни рождения JSON", - "pt": "Próximos aniversários significativos JSON", - "nl": "Volgende belangrijke verjaardagen JSON", - "fr": "Prochains anniversaires significatifs JSON", - "it": "Prossimi compleanni significativi JSON", - "es": "Próximos cumpleaños significativos JSON", - "pl": "Następne znaczące urodziny JSON", - "zh-cn": "下一个重要生日 JSON" - }, - "type": "string", - "role": "json", - "read": true, - "write": false - }, - "native": {} + "type": "string", + "role": "json", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "nextSignificant.text", + "type": "state", + "common": { + "name": { + "en": "Next significant birthdays", + "de": "Nächste bedeutende Geburtstage", + "ru": "Следующие знаменательные дни рождения", + "pt": "Próximos aniversários significativos", + "nl": "Volgende belangrijke verjaardagen", + "fr": "Prochains anniversaires significatifs", + "it": "Prossimi compleanni significativi", + "es": "Próximos cumpleaños significativos", + "pl": "Kolejne znaczące urodziny", + "zh-cn": "下一个重要的生日" }, - { - "_id": "nextSignificant.text", - "type": "state", - "common": { - "name": { - "en": "Next significant birthdays", - "de": "Nächste bedeutende Geburtstage", - "ru": "Следующие знаменательные дни рождения", - "pt": "Próximos aniversários significativos", - "nl": "Volgende belangrijke verjaardagen", - "fr": "Prochains anniversaires significatifs", - "it": "Prossimi compleanni significativi", - "es": "Próximos cumpleaños significativos", - "pl": "Kolejne znaczące urodziny", - "zh-cn": "下一个重要的生日" - }, - "type": "string", - "role": "text", - "read": true, - "write": false - }, - "native": {} + "type": "string", + "role": "text", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "nextSignificant.daysLeft", + "type": "state", + "common": { + "name": { + "en": "Next significant birthdays - days left", + "de": "Nächste bedeutende Geburtstage - verbleibende Tage", + "ru": "Следующие значимые дни рождения - осталось дней", + "pt": "Próximos aniversários significativos - dias restantes", + "nl": "Volgende belangrijke verjaardagen - resterende dagen", + "fr": "Prochains anniversaires significatifs - jours restants", + "it": "Prossimi compleanni significativi - giorni rimasti", + "es": "Próximos cumpleaños significativos: quedan días", + "pl": "Kolejne znaczące urodziny - pozostały dni", + "zh-cn": "下一个重要生日 - 剩余天数" }, - { - "_id": "nextSignificant.daysLeft", - "type": "state", - "common": { - "name": { - "en": "Next significant birthdays - days left", - "de": "Nächste bedeutende Geburtstage - verbleibende Tage", - "ru": "Следующие значимые дни рождения - осталось дней", - "pt": "Próximos aniversários significativos - dias restantes", - "nl": "Volgende belangrijke verjaardagen - resterende dagen", - "fr": "Prochains anniversaires significatifs - jours restants", - "it": "Prossimi compleanni significativi - giorni rimasti", - "es": "Próximos cumpleaños significativos: quedan días", - "pl": "Kolejne znaczące urodziny - pozostały dni", - "zh-cn": "下一个重要生日 - 剩余天数" - }, - "type": "number", - "role": "value", - "read": true, - "write": false - }, - "native": {} + "type": "number", + "role": "value", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "nextSignificant.date", + "type": "state", + "common": { + "name": { + "en": "Next significant birthdays - date", + "de": "Nächste bedeutende Geburtstage - Datum", + "ru": "Следующие значимые дни рождения - дата", + "pt": "Próximos aniversários significativos - data", + "nl": "Volgende belangrijke verjaardagen - datum", + "fr": "Prochains anniversaires significatifs - date", + "it": "Prossimi compleanni significativi - data", + "es": "Próximos cumpleaños significativos - fecha", + "pl": "Następne znaczące urodziny - data", + "zh-cn": "下一个重要生日 - 日期" }, - { - "_id": "nextSignificant.date", - "type": "state", - "common": { - "name": { - "en": "Next significant birthdays - date", - "de": "Nächste bedeutende Geburtstage - Datum", - "ru": "Следующие значимые дни рождения - дата", - "pt": "Próximos aniversários significativos - data", - "nl": "Volgende belangrijke verjaardagen - datum", - "fr": "Prochains anniversaires significatifs - date", - "it": "Prossimi compleanni significativi - data", - "es": "Próximos cumpleaños significativos - fecha", - "pl": "Następne znaczące urodziny - data", - "zh-cn": "下一个重要生日 - 日期" - }, - "type": "number", - "role": "date", - "read": true, - "write": false - }, - "native": {} + "type": "number", + "role": "date", + "read": true, + "write": false + }, + "native": {} + }, + { + "_id": "nextSignificant.dateFormat", + "type": "state", + "common": { + "name": { + "en": "Next significant birthdays - date formatted", + "de": "Nächste bedeutende Geburtstage - Datum formatiert", + "ru": "Следующие значимые дни рождения – формат даты", + "pt": "Próximos aniversários significativos - data formatada", + "nl": "Volgende belangrijke verjaardagen - datum geformatteerd", + "fr": "Prochains anniversaires significatifs - format de date", + "it": "Prossimi compleanni significativi - data formattata", + "es": "Próximos cumpleaños significativos: formato de fecha", + "pl": "Kolejne znaczące urodziny - sformatowana data", + "zh-cn": "下一个重要生日 - 格式化日期" }, - { - "_id": "nextSignificant.dateFormat", - "type": "state", - "common": { - "name": { - "en": "Next significant birthdays - date formatted", - "de": "Nächste bedeutende Geburtstage - Datum formatiert", - "ru": "Следующие значимые дни рождения – формат даты", - "pt": "Próximos aniversários significativos - data formatada", - "nl": "Volgende belangrijke verjaardagen - datum geformatteerd", - "fr": "Prochains anniversaires significatifs - format de date", - "it": "Prossimi compleanni significativi - data formattata", - "es": "Próximos cumpleaños significativos: formato de fecha", - "pl": "Kolejne znaczące urodziny - sformatowana data", - "zh-cn": "下一个重要生日 - 格式化日期" - }, - "type": "string", - "role": "text", - "read": true, - "write": false - }, - "native": {} - } - ] + "type": "string", + "role": "text", + "read": true, + "write": false + }, + "native": {} + } + ] } diff --git a/package-lock.json b/package-lock.json index 0479f86..f55bd26 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "iobroker.birthdays", - "version": "2.0.0", + "version": "2.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "iobroker.birthdays", - "version": "2.0.0", + "version": "2.1.0", "license": "MIT", "dependencies": { "@iobroker/adapter-core": "^2.6.0", diff --git a/package.json b/package.json index 2906df4..77df74a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "iobroker.birthdays", - "version": "2.0.0", + "version": "2.1.0", "description": "Use an ical file to import your contacts birthdays", "author": { "name": "klein0r",