-
Notifications
You must be signed in to change notification settings - Fork 121
Expand file tree
/
Copy pathio-package.json
More file actions
878 lines (878 loc) · 67.9 KB
/
Copy pathio-package.json
File metadata and controls
878 lines (878 loc) · 67.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
{
"common": {
"name": "javascript",
"version": "9.3.1",
"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": {
"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": "参见上一个更改日志条目"
},
"9.2.0": {
"en": "AI Chat panel with multi-provider support, tool calling, inline completions, and smart-apply\nFix: prevent duplicate 'Stopping script' log when script is not running\nFix: only restart scripts on the instance that owns them\nAdded OID display mode toggle for Blockly editor: 4 display modes (Name, Name path, State ID, Full ID) with toolbar dropdown, context menu, optional object icons, and translations in 11 languages\nNode 25 compatibility: replaced deprecated rmdirSync with rmSync in build tasks\nAdded support for plain import/export\nCorrecting error in configuration\ndisallow writing into node_modules folder by scripts\nCorrecting start of the script more than one time if restart is triggered\nAll delayed writings are stopped by the script stop\nAdded check if a script has been modified by another user/window\nMake the instance number more prominent",
"de": "AI Chat-Panel mit Multi-Provider-Unterstützung, Werkzeuganruf, Inline-Vervollständigungen und intelligent-apply\nFix: verhindern Sie doppeltes 'Stopping script'-Log, wenn Skript nicht läuft\nFix: nur Skripte auf der Instanz neu starten, die sie besitzt\nOID-Anzeigemodus für Blockly Editor hinzugefügt: 4 Anzeigemodi (Name, Name Pfad, State ID, Full ID) mit Symbolleiste Dropdown, Kontextmenü, optionale Objektsymbole und Übersetzungen in 11 Sprachen\nNode 25 Kompatibilität: ersetzt deprecated rmdirSync mit rmSync in Build Aufgaben\nUnterstützung für den einfachen Import/Export\nFehler in der Konfiguration korrigieren\ndeaktivieren sie das schreiben in node modules ordner durch skripte\nKorrektur des Starts des Skripts mehr als ein Mal, wenn der Neustart ausgelöst wird\nAlle verzögerten Schriften werden durch den Skriptstop gestoppt\nCheck hinzugefügt, wenn ein Skript von einem anderen Benutzer/Fenster geändert wurde\nMachen Sie die Instanz Nummer prominenter",
"ru": "Панель AI Chat с поддержкой нескольких провайдеров, вызовом инструментов, встроенными завершениями и интеллектуальным приложением\nИсправление: предотвращение дублирования журнала «Stopping script», когда сценарий не работает\nИсправление: перезагружайте сценарии только на том экземпляре, которым они принадлежат\nДобавлено переключение режима отображения OID для редактора Blockly: 4 режима отображения (имя, путь имени, идентификатор состояния, полный идентификатор) с выпадением панели инструментов, контекстным меню, дополнительными значками объектов и переводами на 11 языков\nСовместимость Node 25: замена устаревшего rmdirSync на rmSync в задачах сборки\nДобавлена поддержка простого импорта/экспорта\nИсправление ошибок в конфигурации\nзапретить запись в папку node modules по скриптам\nКорректировка начала сценария более одного раза при запуске перезапуска\nВсе задержки в написании остановлены остановкой сценария\nДобавлена проверка, был ли скрипт изменен другим пользователем/окном\nСделайте число экземпляров более заметным",
"pt": "Painel de bate-papo IA com suporte multifornecedor, chamada de ferramentas, completações em linha e aplicação inteligente\nCorrigir: evitar o registo duplicado do 'Script de paragem' quando o programa não estiver em execução\nCorrigir: apenas reiniciar scripts na instância que os possui\nAdicionado modo de exibição OID para o editor Blockly: 4 modos de exibição (nome, localização do nome, ID de estado, ID completo) com dropdown da barra de ferramentas, menu de contexto, ícones de objetos opcionais e traduções em 11 idiomas\nCompatibilidade node 25: substituiu rmdirSync desactualizado com rmSync em tarefas de compilação\nAdicionado apoio à importação/exportação simples\nCorrigindo erro na configuração\nnão permitir a escrita na pasta nó módulo por scripts\nCorrigindo o início do script mais de uma vez se o reinício for acionado\nTodos os escritos atrasados são parados pelo script stop\nAdicionado verificar se um script foi modificado por outro usuário/janela\nTornar o número da instância mais proeminente",
"nl": "AI Chat paneel met multi-provider ondersteuning, tool calling, inline voltooiingen, en slimme toepassing\nFix: voorkomt dupliceren 'Stopping script' log wanneer script niet draait\nFix: herstart alleen scripts op de instantie die ze bezit\nOID-displaymodus toegevoegd aan de Blockly-editor: 4 weergavemodi (Naam, Naam pad, Staat ID, Volledige ID) met werkbalk dropdown, contextmenu, optionele objectpictogrammen, en vertalingen in 11 talen\nNode 25 compatibiliteit: vervangen van verouderde rmdirSync met rmSync in bouwtaken\nToegevoegde steun voor gewone import/export\nFout in configuratie corrigeren\nschrijven in node modules map door scripts niet toestaan\nCorrigeren van de start van het script meer dan één keer als herstart wordt gestart\nAlle vertraagde geschriften worden gestopt door het script stop\nToegevoegd controleren of een script is gewijzigd door een andere gebruiker/venster\nMaak het instantienummer prominenter",
"fr": "Panneau de discussion AI avec support multi-fournisseurs, appels d'outils, finitions en ligne, et application intelligente\nCorrection: empêcher le log 'Stopping script' lorsque le script ne fonctionne pas\nCorrection : redémarrer uniquement les scripts sur l'instance qui les possède\nAjout du mode d'affichage OID pour l'éditeur Blockly : 4 modes d'affichage (nom, chemin de nom, identifiant d'État, identifiant complet) avec la barre d'outils déroulante, le menu contextuel, les icônes d'objets optionnels et les traductions en 11 langues\nCompatibilité Node 25: remplacé rmdirSync déprécié par rmSync dans les tâches de construction\nAjout d'un soutien pour les importations/exportations simples\nCorrection d'une erreur de configuration\ninterdire l'écriture dans le dossier node modules par scripts\nCorrection du début du script plus d'une fois si le redémarrage est déclenché\nToutes les écritures retardées sont arrêtées par le script stop\nVérifiez si un script a été modifié par un autre utilisateur/fenêtre\nRendre le numéro d'instance plus visible",
"it": "Pannello di chat AI con supporto multiprovider, chiamata degli strumenti, completamento in linea e applicazione intelligente\nFix: impedire il registro duplicato 'Stopping script' quando lo script non è in esecuzione\nFix: riavviare solo gli script sull'istanza che li possiede\nAggiunta la modalità di visualizzazione OID per l'editor Blockly: 4 modalità di visualizzazione (nome, percorso del nome, ID di stato, ID completo) con menu della barra degli strumenti, menu di contesto, icone degli oggetti opzionali e traduzioni in 11 lingue\nCompatibilità nodo 25: sostituito rmdirSync deprecato con rmSync in attività di costruzione\nAggiunto supporto per l'importazione/esportazione normale\nCorreggere l'errore nella configurazione\ndisallow la scrittura nella cartella node modules da script\nCorreggere l'inizio dello script più di una volta se il riavvio viene attivato\nTutti gli scritti ritardati sono fermati dalla fermata dello script\nAggiunto verificare se uno script è stato modificato da un altro utente/finestra\nRendere il numero di istanza più prominente",
"es": "Panel de chat AI con soporte multiprovidente, llamada de herramientas, finalizaciones en línea y aplicación inteligente\nFijación: previene el registro duplicado de 'Stopping script' cuando el script no se ejecuta\nFijar: sólo reiniciar scripts en el caso que los posee\nModo de visualización OID añadido para editor Bloquely: 4 modos de visualización (Nombre, Camino de Nombre, ID de Estado, ID completo) con barra de herramientas desplegable, menú contextual, iconos de objetos opcionales, y traducciones en 11 idiomas\nNodo 25 compatibilidad: reemplazado rmdirSync deprecated con rmSync en tareas de construcción\nApoyo añadido a la importación/exportación simples\nError de corrección en la configuración\nnode modules carpeta por scripts\nComienzo correcto del script más de una vez si se activa el reinicio\nTodos los escritos retrasados se detienen por la parada del script\nVerificación agregada si un script ha sido modificado por otro usuario/ventana\nHacer el número de instancia más prominente",
"pl": "Panel AI Chat z obsługą wielu dostawców, wywołaniem narzędzi, zakończeniami inline i smart- aplikacji\nFix: zapobiec duplikatowi 'Stopling script' log, gdy skrypt nie jest uruchomiony\nFix: restart skryptów tylko na instancji, która jest ich właścicielem\nDodano tryb wyświetlania OID dla edytora Blockly: 4 tryby wyświetlania (nazwa, ścieżka nazw, identyfikator państwa, pełny ID) z rozwijanym paskiem narzędzi, menu kontekstowe, opcjonalne ikony obiektów i tłumaczenia w 11 językach\nKompatybilność węzła 25: zastąpiono przestarzały rmdirSync rmSync w zadaniach budowlanych\nDodano wsparcie dla zwykłego importu / eksportu\nKorekta błędu w konfiguracji\nwyłączenie zapisu do folderu node _ modules przez skrypty\nKorekta początku skryptu więcej niż jeden raz, jeśli zostanie uruchomiony restart\nWszystkie opóźnione pisma są zatrzymane przez skrypt stop\nDodano sprawdzenie, czy skrypt został zmodyfikowany przez innego użytkownika / okno\nUwydatnić numer instancji",
"uk": "AI чат панелі з багатопрофільною підтримкою, викликом інструментів, вбудованими завершеннями та смарт-додатком\nВиправлення: запобігання дублікатів журналу \"Стопування\", коли скрипт не працює\nВиправлення: тільки перезавантажити скрипти на екземплярі, які володіють ними\nДодано OID відображення режиму для Blockly Editor: 4 режими відображення (Ім'я, шлях імен, державний ідентифікатор, повний ідентифікатор) з випаданням панелі інструментів, контекстне меню, додаткові іконки об'єкта та переклади на 11 мовах\nNode 25 сумісність: заміщена депресована rmdirSync з rmSync в задачах збирання\nДодано підтримку простого імпорту/експорту\nВиправлення помилки в конфігурації\ndisallow написання в папку node modules за скриптами\nВиправлення запуску скрипта більше одного разу, якщо запускається перезапуск\nВсі затримані письмові записи зупиняються на скрипті зупинки\nДодано перевірку, якщо скрипт був модифікований іншим користувачем/window\nЗробіть номер екземпляра більш видатним",
"zh-cn": "AI Chat 面板,包含多提供者支持,工具调用,内置完成,以及智能应用\n修正: 当脚本未运行时, 防止复制“ 停止脚本” 日志\n修补: 只重新启动拥有脚本的实例\n为 Blockly 编辑器添加了 OID 显示模式切换: 4 个显示模式( Name, Name, Name path, State ID, Full ID) 工具栏下拉, 上下文菜单, 可选对象图标, 以及 11 种语言的翻译\n节点 25 兼容性: 在构建任务中用 rmSync 替换已贬值的 rmdirSync\n添加对纯导入/导出的支持\n正在更正配置错误\n不允许按脚本写入节点模块文件夹\n如果重新启动, 更正脚本的起始时间不止一次\n脚本停止了所有延迟的写作\n添加检查一个脚本是否已被另一个用户/窗口修改\n让实例数字更加突出"
}
},
"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": ">=7.6.1"
}
],
"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",
"common": {
"name": {
"en": "Send data to debugger",
"de": "Daten an debugger senden",
"ru": "Отправить данные для отладки",
"pt": "Enviar dados para depurador",
"nl": "Stuur gegevens naar debugger",
"fr": "Envoyer des données à debugger",
"it": "Invia i dati a debugger",
"es": "Enviar datos a depurador",
"pl": "Dane dotyczące debuggera",
"uk": "Надсилання даних на дебугер",
"zh-cn": "黑暗数据"
},
"type": "string",
"role": "json",
"read": false,
"write": true
},
"native": {}
},
{
"_id": "debug.from",
"type": "state",
"common": {
"name": {
"en": "Data from debugger",
"de": "Daten von debugger",
"ru": "Данные от debugger",
"pt": "Dados do depurador",
"nl": "Data van debugger",
"fr": "Data from debugger",
"it": "Dati dal debugger",
"es": "Datos del depurador",
"pl": "Dane z debuggera",
"uk": "Дані з debugger",
"zh-cn": "A. 黑暗取的数据"
},
"type": "string",
"role": "json",
"read": true,
"write": false
},
"native": {}
},
{
"_id": "debug.rules",
"type": "state",
"common": {
"name": {
"en": "Data from rules logic",
"de": "Daten aus der Regellogik",
"ru": "Данные из логики правил",
"pt": "Dados da lógica de regras",
"nl": "Data van regels logica",
"fr": "Données de la logique des règles",
"it": "Dati dalla logica delle regole",
"es": "Datos de la lógica de las reglas",
"pl": "Dane z zakresu logiki",
"uk": "Дані з логіки правил",
"zh-cn": "从规则逻辑数据"
},
"type": "string",
"role": "json",
"read": true,
"write": false
},
"native": {}
}
]
}