iobroker.javascript
Version:
Rules Engine for ioBroker
808 lines • 59 kB
JSON
{
"common": {
"name": "javascript",
"version": "10.0.0",
"blockedVersions": [
"8.0.0",
"8.0.1"
],
"titleLang": {
"en": "Script Engine",
"de": "Skriptausführung",
"ru": "Скрипты",
"pt": "Script Engine",
"nl": "Script-engine",
"fr": "Moteur de script",
"it": "Motore di script",
"es": "Motor de script",
"pl": "Silnik skryptowy",
"uk": "Механізм сценаріїв",
"zh-cn": "脚本引擎"
},
"desc": {
"en": "Javascript/Blockly Script Engine for ioBroker",
"de": "Javascript/Blockly Skriptausführung für ioBroker",
"ru": "Выполнение Javascript/Blockly скриптов для ioBroker",
"pt": "Mecanismo Javascript/Blockly Script para ioBroker",
"nl": "Javascript/Blockly Script-engine voor ioBroker",
"fr": "Moteur de script Javascript/Blockly pour ioBroker",
"it": "Motore di script Javascript/Blockly per ioBroker",
"es": "Motor de secuencias de comandos Javascript/Blockly para ioBroker",
"pl": "Silnik skryptów JavaScript/Blockly dla ioBroker",
"uk": "Javascript/Blockly Script Engine для ioBroker",
"zh-cn": "ioBroker 的 Javascript/Blockly 脚本引擎"
},
"authors": [
"bluefox <dogafox@gmail.com>",
"hobbyquaker <hq@ccu.io>",
"Apollon77 <iobroker@fischer-ka.de>",
"AlCalzone <d.griesel@gmx.net>",
"Matthias Kleine <info@haus-automatisierung.com>"
],
"news": {
"10.0.0": {
"en": "Typescript 6 support\nGUI was migrated to React 19 and MUI 9\nShowed host name in the instance selection dialog",
"de": "TypeScript 6-Unterstützung\nDie Benutzeroberfläche wurde auf React 19 und MUI 9 migriert.\nDer Hostname wurde im Instanzauswahldialog angezeigt.",
"ru": "Поддержка TypeScript 6\nГрафический интерфейс пользователя был переведён на React 19 и MUI 9.\nВ диалоговом окне выбора экземпляра отобразилось имя хоста.",
"pt": "Suporte para Typescript 6\nA interface gráfica foi migrada para React 19 e MUI 9.\nExibiu o nome do host na caixa de diálogo de seleção de instâncias.",
"nl": "Ondersteuning voor TypeScript 6\nDe GUI is gemigreerd naar React 19 en MUI 9.\nDe hostnaam werd weergegeven in het dialoogvenster voor instantieselectie.",
"fr": "Prise en charge de TypeScript 6\nL'interface graphique a été migrée vers React 19 et MUI 9.\nLe nom de l'hôte s'affichait dans la boîte de dialogue de sélection d'instance.",
"it": "Supporto per Typescript 6\nL'interfaccia grafica è stata migrata a React 19 e MUI 9.\nIl nome host è stato visualizzato nella finestra di dialogo di selezione dell'istanza.",
"es": "Compatibilidad con TypeScript 6\nLa interfaz gráfica de usuario (GUI) se migró a React 19 y MUI 9.\nSe mostró el nombre del host en el cuadro de diálogo de selección de instancia.",
"pl": "Obsługa TypeScript 6\nInterfejs graficzny użytkownika został przeniesiony do React 19 i MUI 9\nWyświetlono nazwę hosta w oknie dialogowym wyboru instancji",
"uk": "Підтримка Typescript 6\nГрафічний інтерфейс перенесено на React 19 та MUI 9\nІм'я хоста відображалося в діалоговому вікні вибору екземпляра",
"zh-cn": "支持 TypeScript 6\nGUI 已迁移至 React 19 和 MUI 9。\n在实例选择对话框中显示主机名"
},
"9.3.1": {
"en": "Added the possibility to execute one-way scripts without saving it",
"de": "Es wurde die Möglichkeit hinzugefügt, Einwegskripte auszuführen, ohne sie zu speichern.",
"ru": "Добавлена возможность выполнения односторонних скриптов без их сохранения.",
"pt": "Adicionada a possibilidade de executar scripts unidirecionais sem salvá-los.",
"nl": "De mogelijkheid toegevoegd om scripts die slechts in één richting hoeven te worden uitgevoerd, zonder ze op te slaan.",
"fr": "Ajout de la possibilité d'exécuter des scripts unidirectionnels sans les enregistrer.",
"it": "Aggiunta la possibilità di eseguire script unidirezionali senza salvarli",
"es": "Se agregó la posibilidad de ejecutar scripts unidireccionales sin guardarlos.",
"pl": "Dodano możliwość wykonywania skryptów jednokierunkowych bez zapisywania ich",
"uk": "Додана можливість виконання односторонніх скриптів без їх збереження.",
"zh-cn": "新增了执行单向脚本而不保存的功能。"
},
"9.3.0": {
"en": "Implemented the support for credentials manager in the configuration\nAdded the possiblilty to execute scripts from AI agent",
"de": "Die Unterstützung für den Anmeldeinformationsmanager wurde in der Konfiguration implementiert.\nEs wurde die Möglichkeit hinzugefügt, Skripte vom KI-Agenten auszuführen.",
"ru": "В конфигурацию добавлена поддержка менеджера учетных данных.\nДобавлена возможность выполнения скриптов из ИИ-агента.",
"pt": "Implementei o suporte para o gerenciador de credenciais na configuração.\nAdicionada a possibilidade de executar scripts a partir de um agente de IA.",
"nl": "De ondersteuning voor de referentiebeheerder is geïmplementeerd in de configuratie.\nDe mogelijkheid om scripts uit te voeren via een AI-agent is toegevoegd.",
"fr": "La prise en charge du gestionnaire d'identifiants a été implémentée dans la configuration.\nAjout de la possibilité d'exécuter des scripts depuis un agent d'IA",
"it": "Implementato il supporto per il gestore delle credenziali nella configurazione\nAggiunta la possibilità di eseguire script dall'agente IA",
"es": "Se implementó la compatibilidad con el administrador de credenciales en la configuración.\nSe agregó la posibilidad de ejecutar scripts desde el agente de IA.",
"pl": "Wprowadzono obsługę menedżera poświadczeń w konfiguracji\nDodano możliwość wykonywania skryptów z poziomu agenta AI",
"uk": "Реалізовано підтримку менеджера облікових даних у конфігурації\nДодано можливість виконання скриптів з агента штучного інтелекту",
"zh-cn": "在配置中实现了对凭据管理器的支持\n增加了从 AI 代理执行脚本的功能。"
},
"9.2.4": {
"en": "Performance optimizations part 2\nfix filter in tab scripts\nFixed a subscription leak on script stop for RegExp-notation string ids (dispatch index)\n`extendObject` no longer throws into the script when the object contains non-clonable values (e.g. functions)",
"de": "Performance Optimierungen Teil 2\nfix-filter in tab-scripts\nBehebung eines Abonnementlecks bei Skriptstopp für RegExp-Notation String-IDs (Dispatch-Index)\n`extendObject` wirft nicht mehr in das Skript, wenn das Objekt nicht-klonbare Werte (z.B. Funktionen) enthält",
"ru": "Оптимизация производительности часть 2\nисправить фильтр в скриптах вкладок\nИсправлена утечка подписки на остановке скрипта для строковых идентификаторов RegExp-notation (индекс отправки)\n«extendObject» больше не бросается в сценарий, когда объект содержит неклонируемые значения (например, функции)",
"pt": "Otimização de desempenho parte 2\ncorrigir o filtro nos scripts de páginas\nCorrigido um vazamento de assinatura na parada do script para IDs de strings de notação RegExp (índice de distribuição)\n`extendObject` já não é lançado no script quando o objeto contém valores não clonáveis (por exemplo, funções)",
"nl": "Prestatieoptimalisaties deel 2\nfilter herstellen in tabscripts\nVaste een abonnement lek op scriptstop voor RegExp-notatie string-id's (verzendindex)\nHet object wordt niet meer in het script gegooid als het object niet-kloonbare waarden bevat (bv. functies)",
"fr": "Optimisation des performances partie 2\ncorrection du filtre dans les scripts des onglets\nCorrection d'une fuite d'abonnement sur l'arrêt du script pour les ids de chaîne RegExp-notation (index de distribution)\n`extendObject` ne lance plus dans le script lorsque l'objet contient des valeurs non-clonables (par exemple des fonctions)",
"it": "Ottimizzazione delle prestazioni parte 2\ncorrezione del filtro negli script di scheda\nRisolto una perdita di abbonamento sulla fermata dello script per RegExp-notation string ids (indice dispatch)\n`extendObject` non getta più nello script quando l'oggetto contiene valori non clonabili (ad esempio funzioni)",
"es": "Optimizaciones de rendimiento parte 2\nfijar filtro en scripts de pestaña\nSe ha fijado una fuga de suscripción en la parada de script para los ids de cadena RegExp (índice de despacha)\n`extendObject` ya no se lanza al script cuando el objeto contiene valores no visibles (por ejemplo, funciones)",
"pl": "Optymalizacja wydajności część 2\nnaprawić filtr w skryptach kart\nNaprawiono przeciek subskrypcji przy zatrzymaniu skryptu dla idów łańcuchowych RegExp- notation (wskaźnik wysyłkowy)\n'extendObject' nie wrzuca się już do skryptu, gdy obiekt zawiera wartości niemodne (np. funkcje)",
"uk": "Оптимізація продуктивності частини 2\nвиправити фільтр в скриптах вкладок\nВиправлено протікання підписки на сценарій зупинки для рядкових полів RegExp-notation (диспетчерський індекс)\n`extendObject` не завантажується в скрипт, коли об’єкт містить неклоновані значення (наприклад, функції)",
"zh-cn": "业绩优化第2部分\n在标签脚本中修正过滤器\n修复 RegExp Notation 字符串 IDs( 发送索引) 的脚本站订阅漏洞\n当对象包含不可克隆值(例如函数)时,`extend Object'不再丢入脚本"
},
"9.2.3": {
"en": "Performance optimizations done\nAdded on mouse over the value of the state",
"de": "Leistungsoptimierungen durchgeführt\nAuf der Maus über den Wert des Zustands hinzugefügt",
"ru": "Оптимизация производительности\nДобавлено на мыши над стоимостью государства",
"pt": "Otimizações de desempenho feitas\nAdicionado no mouse sobre o valor do estado",
"nl": "Prestatieoptimalisaties uitgevoerd\nToegevoegd aan muis boven de waarde van de status",
"fr": "Optimisations des performances effectuées\nAjouté sur la souris sur la valeur de l'état",
"it": "Ottimizzazione delle prestazioni\nAggiunto sul mouse sopra il valore dello stato",
"es": "Optimizaciones de rendimiento realizadas\nAñadido en el ratón sobre el valor del estado",
"pl": "Optymalizacja wykonania\nDodano na myszce nad wartością stanu",
"uk": "Оптимізація продуктивності\nДодано на мишу над значенням держави",
"zh-cn": "业绩优化\n在鼠标上大于状态值"
},
"9.2.2": {
"en": "Fix: AI chat mode tooltip no longer covers the dropdown options (issue #2201) — moved tooltip to the left of the selector\nClarified the AI chat mode descriptions in the tooltip: Agent is for larger models with tool support and handles both analysis and script creation, Code is for smaller models without tool support (uses two-step plan-then-code) — translations updated in all 11 languages\nAdded the \"is state exists\" block to blockly",
"de": "Fix: AI-Chat-Modus-Tooltip nicht mehr deckt die Dropdown-Optionen (Ausgabe #2201) - verschoben Tooltip auf die linke Seite des Selektors\nKI-Chat-Modus Beschreibungen im Tooltip: Agent ist für größere Modelle mit Werkzeugunterstützung und behandelt sowohl Analyse als auch Skript-Erstellung, Code ist für kleinere Modelle ohne Werkzeugunterstützung (verwendet zweistufigen Plan-then-Code) — Übersetzungen aktualisiert in allen 11 Sprachen\nDer \"is state exist\" Block wurde blockweise hinzugefügt",
"ru": "Исправление: инструментарий режима чата AI больше не покрывает выпадающие опции (выпуск #2201) — перемещаемый инструментарий слева от селектора\nУточнено описание режима чата ИИ в подсказке: Агент предназначен для более крупных моделей с поддержкой инструментов и обрабатывает как анализ, так и создание сценариев, Код предназначен для более мелких моделей без поддержки инструментов (использует двухэтапный план-тогда-код) — переводы обновлены на всех 11 языках\nДобавлен блок «существует государство» для блокировки",
"pt": "Corrigir: A dica do modo de bate-papo de IA não cobre mais as opções suspensas (questão # 2201) — moveu a dica para a esquerda do seletor\nClarified the AI chat mode descriptions in the tooltip: Agent is for major models with tool support and hands both analysis and script creation, Code is for minor models without toool support (uses two-step plan-then-code) — translations updated in all 11 languages\nAdicionado o bloco \"is state existe\" para bloquear",
"nl": "Fix: AI chat mode tooltip heeft geen betrekking meer op de dropdown opties (issue #2201)\nVerduidelijkt de AI chat mode beschrijvingen in de tooltip: Agent is voor grotere modellen met hulpmiddel ondersteuning en behandelt zowel analyse als script creatie, Code is voor kleinere modellen zonder hulpmiddel ondersteuning (gebruikt twee-stap plan-dan-code) Vertalingen bijgewerkt in alle 11 talen\nToegevoegd de \"is status bestaat\" blok te blokkeren",
"fr": "Correction : l'outil en mode chat AI ne couvre plus les options déroulantes (numéro #2201) — l'outil déplacé à gauche du sélecteur\nClarifié les descriptions des modes de chat AI dans l'infobulle : Agent est pour les modèles plus grands avec support d'outil et gère à la fois l'analyse et la création de script, Code est pour les modèles plus petits sans support d'outil (utilise le plan en deux étapes - puis-code) — traductions mises à jour dans les 11 langues\nAjout du bloc « is state exists » pour bloquer",
"it": "Fix: AI chat mode tooltip non copre più le opzioni di discesa (problema #2201) — spostato tooltip a sinistra del selettore\nClarified le descrizioni della modalità di chat AI nel tooltip: L'agente è per i modelli più grandi con supporto degli strumenti e gestisce sia l'analisi che la creazione di script, il codice è per i modelli più piccoli senza supporto degli strumenti (utilizza il codice a due passi) — le traduzioni aggiornate in tutte le 11 lingue\nAggiunto il blocco \"è stato esiste\" per bloccare",
"es": "Fijación: El uso de herramientas de modo de chat AI ya no cubre las opciones desplegables (sue #2201) — mover la punta de la herramienta a la izquierda del selector\nClarified the AI chat mode descriptions in the tooltip: Agent is for larger models with tool support and handles both analysis and script creation, Code is for smaller models without tool support (uses two-step plan-then-code) — translations updated in all 11 languages\nAñadido el bloque \"es estado existe\" para bloquear",
"pl": "Fix: AI chat mode tooltip już nie obejmuje opcji Dropdown (issue # 2201) - przesunięty podpowiedź po lewej stronie selektora\nWyjaśnienie opisów trybu rozmowy AI w podpowiedzi: Agent jest dla większych modeli z obsługą narzędzi i obsługuje zarówno analizy i tworzenia skryptów, Kod jest dla mniejszych modeli bez obsługi narzędzia (używa dwustopniowej plan- theen- code) - tłumaczenia zaktualizowane we wszystkich 11 językach\nDodano blokadę \"is state istnieje\"",
"uk": "Виправлення: Інструментарій режимів AI не більше охоплює параметри випадання (видання #2201) — пересувний інструмент для ліворуч від selector\nНаведено описи режиму AI чату в інструменті: Агент призначений для збільшення моделей з підтримкою інструментів і ручками як аналізу, так і для створення сценаріїв, Код є для менших моделей без підтримки інструменту ( використовує двокроковий план-фін-код) — переклади, оновлено у всіх 11 мовах\nДодано блок-блок \"is State існує\"",
"zh-cn": "固定:AI聊天模式工具提示不再覆盖下拉选项(问题#2201)——移动工具提示到选择器左侧\n整理工具提示中的 AI 聊天模式描述 : Agent 用于具有工具支持的较大模型,并同时处理分析和脚本创建, Code 用于没有工具支持的较小模型(使用双步计划-当时的代码)——所有11种语言的翻译更新\n添加“ 状态存在” 块以阻断"
},
"9.2.1": {
"en": "See previous changelog entries",
"de": "Siehe frühere Changelog-Einträge",
"ru": "См. предыдущие Changelog",
"pt": "Ver entradas anteriores do changelog",
"nl": "Zie vorige wijzigingenlog items",
"fr": "Voir les entrées précédentes du journal des modifications",
"it": "Vedere le precedenti voci di changelog",
"es": "Ver entradas de cambio anteriores",
"pl": "Zob. poprzednie wpisy dotyczące zmiennych",
"uk": "Переглянути попередні записи змін",
"zh-cn": "参见上一个更改日志条目"
}
},
"platform": "Javascript/Node.js",
"mode": "daemon",
"loglevel": "info",
"icon": "javascript.svg",
"extIcon": "https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/master/admin/javascript.svg",
"keywords": [
"js",
"javascript",
"typescript",
"rules",
"automate",
"scriptengine",
"blockly",
"blokly"
],
"adminUI": {
"config": "json",
"tab": "html"
},
"readme": "https://github.com/iobroker/ioBroker.javascript/blob/master/README.md",
"enabled": true,
"licenseInformation": {
"license": "MIT",
"type": "free"
},
"compact": true,
"eraseOnUpload": true,
"adminTab": {
"singleton": true,
"name": {
"en": "Scripts",
"de": "Skripte",
"ru": "Скрипты"
}
},
"docs": {
"en": [
"docs/en/README.md",
"docs/en/blockly.md",
"docs/en/javascript.md",
"docs/en/upgrade-guide.md"
],
"ru": [
"docs/ru/README.md",
"docs/ru/blockly.md"
],
"de": [
"docs/de/README.md",
"docs/de/blockly.md",
"docs/de/usage.md"
]
},
"dependencies": [
{
"js-controller": ">=6.0.11"
}
],
"globalDependencies": [
{
"admin": ">=8.0.0"
}
],
"type": "logic",
"messagebox": true,
"logTransporter": true,
"plugins": {
"sentry": {
"dsn": "https://f3b9740caaee4ee69eb68019d71526ff@sentry.iobroker.net/15"
}
},
"tier": 1,
"connectionType": "none",
"dataSource": "none",
"messages": [
{
"condition": {
"operand": "and",
"rules": [
"oldVersion<5.5.0",
"newVersion>=5.5.0"
]
},
"title": {
"en": "Check used script mirror path!",
"de": "Überprüfen Sie den verwendeten Skript-Spiegelpfad!",
"ru": "Проверьте используемый путь к зеркалу скрипта!",
"pt": "Verifique o caminho do espelho de script usado!",
"nl": "Controleer het gebruikte scriptspiegelpad!",
"fr": "Vérifiez le chemin du miroir de script utilisé !",
"it": "Controlla il percorso del mirror dello script utilizzato!",
"es": "¡Compruebe la ruta del espejo del script usado!",
"pl": "Sprawdź używaną ścieżkę lustrzaną skryptu!",
"zh-cn": "检查使用的脚本镜像路径!",
"uk": "Перевірте використаний шлях дзеркала сценарію!"
},
"text": {
"en": "If the script mirror feature is used to save scripts also in the file system and a directory inside the ioBroker directory is configured, then you need to check if this mirroring location is still allowed! If not the adapter logs an error on startup and mirroring is deactivated! For a list of forbidden locations please check the adapter Readme.",
"de": "Wenn die Skript-Spiegelungsfunktion verwendet wird, um Skripte auch im Dateisystem zu speichern, und ein Verzeichnis innerhalb des ioBroker-Verzeichnisses konfiguriert ist, muss geprüft werden, ob dieser Spiegelungsspeicherort noch zulässig ist! Andernfalls meldet der Adapter beim Start einen Fehler und die Spiegelung wird deaktiviert! Eine Liste verbotener Orte ist in der Adapter-Readme zu finden.",
"ru": "Если функция зеркалирования скриптов используется для сохранения скриптов также в файловой системе и настроен каталог внутри каталога ioBroker, то вам необходимо проверить, разрешено ли это местоположение зеркалирования! В противном случае адаптер регистрирует ошибку при запуске, и зеркалирование деактивируется! Список запрещенных мест см. в файле Readme адаптера.",
"pt": "Se o recurso de espelhamento de script for usado para salvar scripts também no sistema de arquivos e um diretório dentro do diretório ioBroker estiver configurado, você precisará verificar se esse local de espelhamento ainda é permitido! Caso contrário, o adaptador registra um erro na inicialização e o espelhamento é desativado! Para obter uma lista de locais proibidos, verifique o Readme do adaptador.",
"nl": "Als de functie voor het spiegelen van scripts wordt gebruikt om scripts ook in het bestandssysteem op te slaan en een map in de ioBroker-map is geconfigureerd, moet u controleren of deze spiegellocatie nog steeds is toegestaan! Als dit niet het geval is, registreert de adapter een fout bij het opstarten en is spiegelen gedeactiveerd! Raadpleeg de adapter Readme voor een lijst met verboden locaties.",
"fr": "Si la fonctionnalité de mise en miroir des scripts est utilisée pour enregistrer également les scripts dans le système de fichiers et qu'un répertoire à l'intérieur du répertoire ioBroker est configuré, vous devez vérifier si cet emplacement de mise en miroir est toujours autorisé ! Si ce n'est pas le cas, l'adaptateur enregistre une erreur au démarrage et la mise en miroir est désactivée ! Pour une liste des emplacements interdits, veuillez consulter le fichier Readme de l'adaptateur.",
"it": "Se la funzione di mirroring degli script viene utilizzata per salvare gli script anche nel file system ed è configurata una directory all'interno della directory di ioBroker, è necessario verificare se questa posizione di mirroring è ancora consentita! In caso contrario, l'adattatore registra un errore all'avvio e il mirroring è disattivato! Per un elenco delle posizioni vietate, controllare il file Readme dell'adattatore.",
"es": "Si la función de duplicación de secuencias de comandos se utiliza para guardar secuencias de comandos también en el sistema de archivos y se configura un directorio dentro del directorio de ioBroker, ¡entonces debe verificar si esta ubicación de duplicación todavía está permitida! De lo contrario, el adaptador registra un error al iniciarse y la duplicación se desactiva. Para obtener una lista de ubicaciones prohibidas, consulte el archivo Léame del adaptador.",
"pl": "Jeśli funkcja kopii lustrzanej skryptów jest używana do zapisywania skryptów również w systemie plików, a katalog w katalogu ioBroker jest skonfigurowany, musisz sprawdzić, czy ta lokalizacja kopii lustrzanej jest nadal dozwolona! Jeśli nie, adapter rejestruje błąd podczas uruchamiania, a dublowanie jest wyłączone! Listę zabronionych lokalizacji można znaleźć w pliku Readme adaptera.",
"zh-cn": "如果使用脚本镜像功能将脚本也保存在文件系统中,并且配置了 ioBroker 目录内的目录,那么您需要检查该镜像位置是否仍然允许!如果不是,适配器会在启动时记录错误并且镜像被禁用!有关禁止位置的列表,请查看适配器自述文件。",
"uk": "Якщо функція дзеркала сценаріїв використовується для збереження сценаріїв також у файловій системі та налаштовано каталог у каталозі ioBroker, тоді вам потрібно перевірити, чи це розташування дзеркала все ще дозволено! Якщо ні, адаптер реєструє помилку під час запуску, і дзеркальне відображення вимикається! Щоб отримати список заборонених розташувань, перегляньте Readme адаптера."
},
"link": "https://github.com/ioBroker/ioBroker.javascript#forbidden-directories-for-script-filesystem-mirroring",
"level": "warn",
"linkText": {
"en": "List of the forbidden Mirror locations",
"de": "Liste der verbotenen Mirror-Standorte",
"ru": "Список запрещенных локаций Зеркала",
"pt": "Lista dos locais de espelho proibidos",
"nl": "Lijst met de verboden Mirror-locaties",
"fr": "Liste des emplacements Mirror interdits",
"it": "Elenco delle posizioni degli specchi proibiti",
"es": "Lista de las ubicaciones de Mirror prohibidas",
"pl": "Lista zakazanych lokalizacji Lustrzanych",
"zh-cn": "禁止镜像位置列表",
"uk": "Список заборонених місць розміщення дзеркал"
},
"buttons": [
"agree",
"cancel"
]
},
{
"condition": {
"operand": "and",
"rules": [
"oldVersion<7.0.0",
"newVersion>=7.0.0"
]
},
"title": {
"en": "Small breaking change by usage of jsonata",
"de": "Kleine Breaking-Änderung durch Verwendung von jsonata",
"ru": "Небольшое изменение, вызванное использованием jsonata",
"pt": "Pequena alteração de quebra por uso de jsonata",
"nl": "Kleine breaking change door gebruik van jsonata",
"fr": "Petite modification de rupture en utilisant jsonata",
"it": "Piccola modifica di breaking utilizzando jsonata",
"es": "Pequeño cambio de ruptura por uso de jsonata",
"pl": "Mała zmiana w użyciu jsonata",
"zh-cn": "使用 jsonata 的小破坏性变化",
"uk": "Невелика критична зміна через використання jsonata"
},
"text": {
"en": "All usages of jsonata must be rewritten to use promises. All blockly scripts with jsonata blocks must de changed (just move some blocks) and saved anew.",
"de": "Alle Verwendungen von jsonata müssen umgeschrieben werden, um Promises zu verwenden. Alle Blockly-Skripte mit jsonata-Blöcken müssen geändert werden (nur einige Blöcke verschieben) und neu gespeichert.",
"ru": "Все использования jsonata должны быть переписаны c использованием promises. Все скрипты с блоками jsonata в Blockly должны быть изменены (просто переместите некоторые блоки) и сохранены заново.",
"pt": "Todas as utilizações de jsonata devem ser reescritas para usar promessas. Todos os scripts do bloco de blocos com blocos jsonata devem ser alterados (basta mover alguns blocos) e salvos novamente.",
"nl": "Alle gebruiken van jsonata moeten worden herschreven om beloften te gebruiken. Alle blokly-schripten met jsonata-blokken moeten worden gewijzigd (verplaats gewoon enkele blokken) en opnieuw worden opgeslagen.",
"fr": "Toutes les utilisations de jsonata doivent être réécrites pour utiliser des promesses. Tous les scripts Blockly avec des blocs jsonata doivent être modifiés (déplacez simplement certains blocs) et enregistrés à nouveau.",
"it": "Tutti gli utilizzi di jsonata devono essere riscritti per utilizzare le promesse. Tutti gli script Blockly con blocchi jsonata devono essere modificati (spostare solo alcuni blocchi) e salvati di nuovo.",
"es": "Todos los usos de jsonata deben reescribirse para usar promesas. Todos los scripts de bloques de bloques con bloques jsonata deben cambiarse (solo mueve algunos bloques) y guardarse de nuevo.",
"pl": "Wszystkie użycia jsonata muszą zostać przepisane, aby korzystać z obietnic. Wszystkie skrypty blokowe z blokami jsonata muszą zostać zmienione (przeciągnij kilka bloków) i zapisane ponownie.",
"zh-cn": "所有 jsonata 的用法都必须重写以使用承诺。所有具有 jsonata 块的 Blockly 脚本都必须更改(只需移动一些块)并重新保存。",
"uk": "Усі використання jsonata потрібно переписати, щоб використовувати обіцянки. Усі блочні сценарії з блоками jsonata потрібно змінити (просто перемістити деякі блоки) і зберегти заново."
},
"level": "warn",
"buttons": [
"agree",
"cancel"
]
},
{
"condition": {
"operand": "and",
"rules": [
"oldVersion<7.5.0",
"newVersion>=7.5.0"
]
},
"title": {
"en": "Check your Blockly scripts",
"de": "Überprüfen Sie Ihre Blockly-Skripte",
"ru": "Проверьте свой Блочные скрипты",
"pt": "Verifique o seu scripts em bloco",
"nl": "Controleer het. Blockly scripts",
"fr": "Vérifiez scripts en bloc",
"it": "Controlla il tuo Scrittori bloccati",
"es": "Revisa tu scripts bloqueados",
"pl": "Czujesz! skrypt Blockly",
"uk": "Перевірити Блокнотні скрипти",
"zh-cn": "检查 法定说明"
},
"text": {
"en": "Some Blockly blocks have returned 0 instead of 7 for Sunday (when determining the day of the week). Please check all Blockly scripts that use the current day of the week as a numerical value. The week ranges from 1 (Monday) to 7 (Sunday), as described in the documentation.",
"de": "Einige Blockly-Bausteine haben 0 statt 7 für Sonntag (bei der Bestimmung des Tages der Woche) zurückgegeben. Bitte überprüfen Sie alle Blockly-Skripte, welche den aktuellen Tag der Woche als Zahlenwert verwenden. Die Woche beginnt bei 1 (Montag) bis 7 (Sonntag), wie in der Dokumentation beschrieben.",
"ru": "Некоторые блоки Blockly вернули 0 вместо 7 в воскресенье при определении дня недели. Пожалуйста, проверьте все Blockly скрипты, которые используют текущий день недели как числовое значение. Неделя колеблется от 1 (понедельник) до 7 (воскресенье), как описано в документации.",
"pt": "Alguns blocos Blockly retornaram 0 em vez de 7 para domingo ao determinar o dia da semana. Verifique todos os scripts Blockly que usam o dia atual da semana como um valor numérico. A semana varia de 1 (segunda-feira) a 7 (domingo), conforme descrito na documentação.",
"nl": "Sommige Blockly blokken hebben 0 teruggebracht in plaats van 7 voor zondag wanneer ze de dag van de week bepalen. Controleer alle Blockly scripts die de huidige dag van de week gebruiken als een numerische waarde. De wekelijkse bereik van 1 tot 7, zoals beschreven in de documentatie.",
"fr": "Certains blocs Blockly ont retourné 0 au lieu de 7 pour le dimanche lors de la détermination du jour de la semaine. Veuillez vérifier tous les scripts Blockly qui utilisent le jour actuel de la semaine comme valeur numérique. La semaine varie de 1 (le lundi) à 7 (le dimanche) comme décrit dans la documentation.",
"it": "Alcuni blocchi Blockly hanno restituito 0 invece di 7 per Domenica quando determina il giorno della settimana. Si prega di controllare tutti gli script Blockly che utilizzano il giorno corrente della settimana come valore numerico. La settimana varia da 1 (lunedì) a 7 (domenica) come descritto nella documentazione.",
"es": "Algunos bloques Blockly han devuelto 0 en lugar de 7 para el domingo al determinar el día de la semana. Por favor, compruebe todos los scripts Blockly que utilizan el día actual de la semana como un valor numérico. La semana va de 1 (lunes) a 7 (domingo), como se describe en la documentación.",
"pl": "Niektóre bloki Blockly wróciły zamiast 7 na niedzielę, gdy ustalono dzień tygodnia. Proszę sprawdzać wszystkie scenariusze Blockly, które wykorzystują bieżący dzień tygodnia jako wartość numeryczną. Tydzień to od 1 (poniedziałek) do 7 (dzisiejszy), co opisuje w dokumencie.",
"uk": "Деякі блоки блокнотів повернулися 0 замість 7 на неділю при визначенні дня тижня. Будь ласка, перевірте всі сценарії Blockly, які використовують поточний день тижня як чисельне значення. Щотижневий діапазон від 1 (понеділок) до 7 (неділя,) як описано в документації.",
"zh-cn": "在确定一周日时,一些锁定区已恢复了0而不是7天星期。 请检查使用本星期日作为微妙价值的所有固定文字。 如文件所述,该星期有1个(星期一)至7个(日)。."
},
"level": "warn",
"buttons": [
"agree",
"cancel"
]
},
{
"condition": {
"operand": "and",
"rules": [
"oldVersion<8.0.0",
"newVersion>=8.0.0"
]
},
"title": {
"en": "Replace \"request\" functions after update",
"de": "\"Request\"-Funktionen nach dem Update ersetzen",
"ru": "Заменить \"запрос\" функции после обновления",
"pt": "Substitua funções \"request\" após atualização",
"nl": "Vervang \"verzoek\" functies na update",
"fr": "Remplacer les fonctions « request » après mise à jour",
"it": "Sostituisci le funzioni \"richiesta\" dopo l'aggiornamento",
"es": "Reemplazar funciones de \"Solicitud\" después de la actualización",
"pl": "Zastąp funkcje \"request\" po aktualizacji",
"uk": "Замініть функції \"request\" після оновлення",
"zh-cn": "更新后替换“ request” 函数"
},
"text": {
"en": "It is required to update all scripts which use the \"request\" package! This package will be removed in future versions. Please use the new \"Bockly\" blocks for \"httpGet\" or use another library (like axios) in your JavaScript code.",
"de": "Es ist erforderlich, alle Skripte zu aktualisieren, die das \"Request\"-Paket verwenden! Dieses Paket wird in zukünftigen Versionen entfernt. Bitte nutze die neuen \"Bockly\"-Blöcke für \"httpGet\" oder nutze eine andere Bibliothek (wie axios) im JavaScript-Code.",
"ru": "Требуется обновить все скрипты, которые используют пакет «запроса»! Этот пакет будет удален в будущих версиях. Пожалуйста, используйте новые блоки «Bockly» для «httpGet» или используйте другую библиотеку (например, axios) в вашем коде JavaScript.",
"pt": "É necessário atualizar todos os scripts que usam o pacote \"pedido\"! Este pacote será removido em versões futuras. Por favor, use os novos blocos \"Bockly\" para \"httpGet\" ou use outra biblioteca (como axios) em seu código JavaScript.",
"nl": "Het is vereist om alle scripts die het \"verzoek\" pakket gebruiken te updaten! Dit pakket zal in toekomstige versies worden verwijderd. Gebruik de nieuwe blokken \"Bockly\" voor \"httpGet\" of gebruik een andere bibliotheek (zoals axios) in uw JavaScript-code.",
"fr": "Il est nécessaire de mettre à jour tous les scripts qui utilisent le paquet \"request\"! Ce paquet sera supprimé dans les versions futures. Veuillez utiliser les nouveaux blocs \"Bockly\" pour \"httpGet\" ou utiliser une autre bibliothèque (comme axios) dans votre code JavaScript.",
"it": "È necessario aggiornare tutti gli script che utilizzano il pacchetto \"richiesta\"! Questo pacchetto verrà rimosso nelle versioni future. Si prega di utilizzare i nuovi blocchi \"Bockly\" per \"httpGet\" o utilizzare un'altra libreria (come gli assi) nel codice JavaScript.",
"es": "¡Se requiere actualizar todos los scripts que utilizan el paquete \"request\"! Este paquete será eliminado en futuras versiones. Utilice los nuevos bloques \"Bockly\" para \"httpGet\" o utilice otra biblioteca (como axios) en su código JavaScript.",
"pl": "Wymagane jest uaktualnienie wszystkich skryptów, które korzystają z pakietu \"request\"! Ten pakiet zostanie usunięty w przyszłych wersjach. Proszę użyć nowych bloków \"Bockly\" dla \"httpGet\" lub użyć innej biblioteki (jak axios) w swoim kodzie JavaScript.",
"uk": "Щоб оновити всі скрипти, які використовують пакет \"запит\"! Цей пакет буде видалений в наступних версіях. Будь ласка, використовуйте нові блоки для \"httpGet\" або використовуйте іншу бібліотеку (наприклад, axios) у вашому JavaScript-коді.",
"zh-cn": "需要更新所有使用\"请求\"包的脚本! 这个软件包在未来的版本中将被删除. 请为“ httpGet” 使用新的“ Bockly” 块, 或者在您的 JavaScript 代码中使用另一个库( 如 axios) ."
},
"link": "https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/upgrade-guide.md",
"level": "warn",
"buttons": [
"agree",
"cancel"
]
},
{
"condition": {
"operand": "and",
"rules": [
"oldVersion<=9.2.0",
"newVersion>9.2.0"
]
},
"title": {
"en": "AI API keys must be re-entered",
"de": "AI-API-Schlüssel müssen erneut eingegeben werden",
"ru": "Ключи AI API необходимо ввести заново",
"pt": "As chaves da API de IA devem ser reinseridas",
"nl": "AI API-sleutels moeten opnieuw worden ingevoerd",
"fr": "Les clés API IA doivent être saisies à nouveau",
"it": "Le chiavi API AI devono essere reinserite",
"es": "Las claves de API de IA deben volver a introducirse",
"pl": "Klucze API AI muszą zostać ponownie wprowadzone",
"uk": "Ключі AI API необхідно ввести повторно",
"zh-cn": "AI API 密钥必须重新输入"
},
"text": {
"en": "The AI API keys (OpenAI, Anthropic, Gemini, DeepSeek) are now stored encrypted. If you had previously configured any AI API keys, you must re-enter them in the adapter settings under the \"AI settings\" tab.",
"de": "Die AI-API-Schlüssel (OpenAI, Anthropic, Gemini, DeepSeek) werden jetzt verschlüsselt gespeichert. Wenn Sie zuvor AI-API-Schlüssel konfiguriert haben, müssen Sie diese in den Adaptereinstellungen unter dem Tab \"AI-Einstellungen\" erneut eingeben.",
"ru": "Ключи AI API (OpenAI, Anthropic, Gemini, DeepSeek) теперь хранятся в зашифрованном виде. Если вы ранее настроили ключи AI API, вам необходимо повторно ввести их в настройках адаптера на вкладке \"Настройки AI\".",
"pt": "As chaves da API de IA (OpenAI, Anthropic, Gemini, DeepSeek) agora são armazenadas criptografadas. Se você configurou anteriormente chaves de API de IA, deve reinseri-las nas configurações do adaptador na aba \"Configurações de IA\".",
"nl": "De AI API-sleutels (OpenAI, Anthropic, Gemini, DeepSeek) worden nu versleuteld opgeslagen. Als u eerder AI API-sleutels heeft geconfigureerd, moet u deze opnieuw invoeren in de adapterinstellingen onder het tabblad \"AI-instellingen\".",
"fr": "Les clés API IA (OpenAI, Anthropic, Gemini, DeepSeek) sont désormais stockées de manière chiffrée. Si vous aviez précédemment configuré des clés API IA, vous devez les saisir à nouveau dans les paramètres de l'adaptateur sous l'onglet \"Paramètres IA\".",
"it": "Le chiavi API AI (OpenAI, Anthropic, Gemini, DeepSeek) sono ora memorizzate in modo crittografato. Se in precedenza erano state configurate chiavi API AI, è necessario reinserirle nelle impostazioni dell'adattatore nella scheda \"Impostazioni AI\".",
"es": "Las claves de API de IA (OpenAI, Anthropic, Gemini, DeepSeek) ahora se almacenan cifradas. Si previamente había configurado claves de API de IA, debe volver a introducirlas en la configuración del adaptador en la pestaña \"Configuración de IA\".",
"pl": "Klucze API AI (OpenAI, Anthropic, Gemini, DeepSeek) są teraz przechowywane w formie zaszyfrowanej. Jeśli wcześniej skonfigurowano klucze API AI, należy je ponownie wprowadzić w ustawieniach adaptera w zakładce \"Ustawienia AI\".",
"uk": "Ключі AI API (OpenAI, Anthropic, Gemini, DeepSeek) тепер зберігаються у зашифрованому вигляді. Якщо ви раніше налаштували ключі AI API, вам необхідно повторно ввести їх у налаштуваннях адаптера на вкладці \"Налаштування AI\".",
"zh-cn": "AI API 密钥(OpenAI、Anthropic、Gemini、DeepSeek)现在以加密方式存储。如果您之前配置了 AI API 密钥,则必须在适配器设置的\"AI 设置\"选项卡中重新输入。"
},
"level": "warn",
"buttons": [
"ok"
]
}
]
},
"notifications": [
{
"scope": "javascript",
"name": {
"en": "Script Engine",
"de": "Skriptausführung",
"ru": "Скрипты",
"pt": "Script Engine",
"nl": "Script-engine",
"fr": "Moteur de script",
"it": "Motore di script",
"es": "Motor de script",
"pl": "Silnik skryptowy",
"uk": "Механізм сценаріїв",
"zh-cn": "脚本引擎"
},
"description": {
"en": "Notifications generated by the script engine",
"de": "Benachrichtigungen, welche von der Skript-Engine generiert werden",
"ru": "Уведомления, генерируемые скриптовым двигателем",
"pt": "Notificações geradas pelo mecanismo de script",
"nl": "Door de script-engine gegenereerde meldingen",
"fr": "Notifications générées par le moteur de script",
"it": "Notifiche generate dal motore di script",
"es": "Notificaciones generadas por el motor script",
"pl": "Powiadomienia generowane przez silnik skryptu",
"uk": "Повідомлення, що генеруються двигуном скрипта",
"zh-cn": "脚本引擎生成的通知"
},
"categories": [
{
"category": "scriptMessage",
"name": {
"en": "Message from script",
"de": "Nachricht von Skript",
"ru": "Сообщение от скрипта",
"pt": "Mensagem do script",
"nl": "Bericht van script",
"fr": "Message du script",
"it": "Messaggio dallo script",
"es": "Mensaje del script",
"pl": "Wiadomość ze skryptu",
"uk": "Повідомлення з сценарію",
"zh-cn": "来自脚本的信件"
},
"severity": "notify",
"description": {
"en": "Custom message from scripts",
"de": "Benutzerdefinierte Nachricht von Skript",
"ru": "Пользовательское сообщение из скриптов",
"pt": "Mensagem personalizada de scripts",
"nl": "Aangepast bericht van scripts",
"fr": "Message personnalisé à partir de scripts",
"it": "Messaggi personalizzati da script",
"es": "Mensaje personalizado de scripts",
"pl": "Niestandardowa wiadomość ze skryptów",
"uk": "Спеціальне повідомлення від сценаріїв",
"zh-cn": "自定义脚本中的消息"
},
"regex": [],
"limit": 100
},
{
"category": "scriptAlert",
"name": {
"en": "Alert from script",
"de": "Alarm von Skript",
"ru": "Объявление по сценарию",
"pt": "Alerta do script",
"nl": "Waarschuwing van script",
"fr": "Alerte du script",
"it": "Avviso da script",
"es": "Alerta del script",
"pl": "Alarm ze skryptu",
"uk": "Вставте з скрипта",
"zh-cn": "从脚本发出警告"
},
"severity": "alert",
"description": {
"en": "Custom alert from scripts",
"de": "Benutzerdefinierte Warnung von Skript",
"ru": "Настраиваемое оповещение от скриптов",
"pt": "Alerta personalizado de scripts",
"nl": "Aangepaste waarschuwing van scripts",
"fr": "Alerte personnalisée des scripts",
"it": "Avviso personalizzato da script",
"es": "Alerta personalizada de scripts",
"pl": "Własny alarm ze skryptów",
"uk": "Користувальницькі сповіщення від сценаріїв",
"zh-cn": "自定义脚本提醒"
},
"regex": [],
"limit": 100
}
]
}
],
"native": {
"latitude": "",
"longitude": "",
"enableSetObject": false,
"enableSendToHost": false,
"enableExec": false,
"libraries": "",
"libraryTypings": "",
"subscribe": false,
"useSystemGPS": true,
"mirrorPath": "",
"mirrorInstance": 0,
"allowSelfSignedCerts": false,
"sunriseEvent": "nightEnd",
"sunriseOffset": 0,
"sunriseLimitStart": "06:00",
"sunriseLimitEnd": "12:00",
"sunsetEvent": "dusk",
"sunsetOffset": 0,
"sunsetLimitStart": "18:00",
"sunsetLimitEnd": "23:00",
"createAstroStates": true,
"maxSetStatePerMinute": 1000,
"maxTriggersPerScript": 100,
"gptKey": "",
"gptBaseUrl": "",
"gptBaseUrlKey": "",
"claudeKey": "",
"geminiKey": "",
"deepseekKey": "",
"credentialType": "manual",
"credentialIdGptKey": "",
"credentialIdClaudeKey": "",
"credentialIdGeminiKey": "",
"credentialIdDeepseekKey": "",
"credentialIdGptBaseUrlKey": ""
},
"encryptedNative": [
"gptKey",
"claudeKey",
"geminiKey",
"deepseekKey",
"gptBaseUrlKey"
],
"protectedNative": [
"gptKey",
"claudeKey",
"geminiKey",
"deepseekKey",
"gptBaseUrlKey"
],
"objects": [
{
"_id": "_design/script",
"type": "design",
"language": "javascript",
"views": {
"javascript": {
"map": "function(doc) { if (doc.type === 'script' && doc.common.engineType.match(/^[jJ]ava[sS]cript|^[cC]offee[sS]cript|^[tT]ype[sS]cript|^Blockly|^Rules/)) emit(doc.common.name, doc); }"
}
}
},
{
"_id": "script.js",
"type": "device",
"common": {
"name": {
"en": "JavaScript",
"de": "JavaScript",
"ru": "JavaScript",
"pt": "JavaScript",
"nl": "JavaScrift",
"fr": "JavaScript",
"it": "JavaScript",
"es": "JavaScript",
"pl": "JavaScript",
"uk": "Про нас",
"zh-cn": "瓦 兰"
}
},
"native": {}
},
{
"_id": "script.js.common",
"type": "channel",
"common": {
"name": {
"en": "Common scripts (common)",
"de": "Allgemeine Skripte (common)",
"ru": "Общие скрипты (common)",
"pt": "Scripts comuns (common)",
"nl": "Common scripts (common)",
"fr": "Scénarios communs (common)",
"it": "Scrittori comuni (common)",
"es": "Scripts comunes (common)",
"pl": "Common script (common)",
"uk": "Загальні сценарії (common)",
"zh-cn": "共同说明 (common)"
}
},
"native": {}
},
{
"_id": "script.js.global",
"type": "channel",
"common": {
"name": {
"en": "Global scripts (global)",
"de": "Globale Skripte (global)",
"ru": "Глобальные скрипты (global)",
"pt": "Scripts globais (global)",
"nl": "Global scripts (global)",
"fr": "Scénarios mondiaux (global)",
"it": "Scrittori globali (global)",
"es": "Guiones globales (global)",
"pl": "Globalny scenariusz (global)",
"uk": "Глобальні сценарії (global)",
"zh-cn": "全球说明 (global)"
}
},
"native": {}
}
],
"instanceObjects": [
{
"_id": "variables",
"type": "channel",
"common": {
"name": {
"en": "Useful variables",
"de": "Nützliche Variablen",
"ru": "Полезные переменные",
"pt": "Variáveis úteis",
"nl": "Gebruikelijke variabelen",
"fr": "Variables utiles",
"it": "Variazioni utili",
"es": "Variables útiles",
"pl": "Zmienny",
"uk": "Корисні зміни",
"zh-cn": "使用变量"
}
},
"native": {}
},
{
"_id": "variables.astro",
"type": "folder",
"common": {
"name": {
"en": "Sun movement",
"de": "Sonnenbewegung",
"ru": "Солнце движение",
"pt": "Movimento do sol",
"nl": "Sun beweging",
"fr": "Mouvement solaire",
"it": "Movimento solare",
"es": "Movimiento solar",
"pl": "Słońce",
"uk": "Сонячний рух",
"zh-cn": "A. 太阳运动"
}
},
"native": {}
},
{
"_id": "variables.isDayTime",
"type": "state",
"common": {
"name": {
"en": "Is day time",
"de": "Ist Tag",
"ru": "Дневное время",
"pt": "É hora do dia",
"nl": "Is de dag",
"fr": "Le jour",
"it": "È l'ora del giorno",
"es": "Es hora del día",
"pl": "Czasem",
"uk": "В день",
"zh-cn": "日 日"
},
"type": "boolean",
"role": "indicator",
"read": true,
"write": false
},
"native": {}
},
{
"_id": "variables.isDaylightSaving",
"type": "state",
"common": {
"name": {
"en": "Is daylight saving time active",
"de": "Ist Sommerzeit aktiv",
"ru": "Является дневным светом экономия время активным",
"pt": "É hora de salvar a luz do dia ativo",
"nl": "Is daglichtbesparing",
"fr": "Temps d'été actif",
"it": "È tempo di risparmio di luce del giorno attivo",
"es": "Es tiempo de ahorro de la luz del día activo",
"pl": "Czas wolny",
"uk": "Чи активна економія денного світла",
"zh-cn": "导 言"
},
"type": "boolean",
"role": "indicator",
"read": true,
"write": false
},
"native": {}
},
{
"_id": "variables.dayTime",
"type": "state",
"common": {
"name": {
"en": "Current time",
"de": "Aktuelle Zeit",
"ru": "Текущее время",
"pt": "Tempo atual",
"nl": "Tijd om",
"fr": "Heure actuelle",
"it": "Ora attuale",
"es": "Hora actual",
"pl": "Czas bieżący",
"uk": "Поточний час",
"zh-cn": "目前时间"
},
"type": "string",
"role": "state",
"read": true,
"write": false
},
"native": {
"format12": false,
"leadingZeros": true
}
},
{
"_id": "variables.rulesTour",
"type": "state",
"common": {
"name": {
"en": "Tour completed",
"de": "Tour abgeschlossen",
"ru": "Тур завершен",
"pt": "Excursão concluída",
"nl": "Tour voltooid",
"fr": "Tour terminé",
"it": "Tour completato",
"es": "Tour completado",
"pl": "Tour",
"uk": "Тур завершено",
"zh-cn": "完成的工作"
},
"type": "boolean",
"role": "state",
"read": true,
"write": false
},
"native": {}
},
{
"_id": "debug",
"type": "channel",
"common": {
"name": {
"en": "Debug variables",
"de": "Debug-Variablen",
"ru": "Переменные Debug",
"pt": "Variáveis de depuração",
"nl": "Debug variabelen",
"fr": "Débug variables",
"it": "Variabili del debito",
"es": "Variables de depuración",
"pl": "Zmienna debugowa",
"uk": "Debug змінні",
"zh-cn": "变量"
}
},
"native": {}
},
{
"_id": "debug.to",
"type": "state",
"com