-
Notifications
You must be signed in to change notification settings - Fork 122
Expand file tree
/
Copy pathio-package.json
More file actions
818 lines (818 loc) · 59.6 KB
/
io-package.json
File metadata and controls
818 lines (818 loc) · 59.6 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
{
"common": {
"name": "javascript",
"version": "9.1.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.1.1": {
"en": "Small GUI optimizations\nAdded support for custom OpenAI-compatible API endpoints (e.g. Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nAdded configurable base URL in adapter settings\nModels are now fetched dynamically from the configured API endpoint\nAdded the \"Test API connection\" button in adapter settings\nAdded error handling with user-friendly messages for unreachable providers\nAdded retry functionality for failed model loading\nAll API calls (models + chat) are proxied server-side to avoid CORS issues with local providers\nStrip LLM thinking artifacts from responses (for local models like Ollama)",
"de": "Kleine GUI Optimierungen\nUnterstützung für benutzerdefinierte OpenAI-kompatible API-Endpunkte (z.B. Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nKonfigurierbare Basis-URL in Adaptereinstellungen hinzugefügt\nModelle werden nun dynamisch vom konfigurierten API-Endpunkt abgeholt\nHinzufügen der Schaltfläche \"Test API-Verbindung\" in Adaptereinstellungen\nHinzugefügt Fehlerbehandlung mit benutzerfreundlichen Nachrichten für unerreichbare Anbieter\nZusätzliche Retry-Funktionalität für gescheiterte Modellbeladung\nAlle API-Anrufe (Modelle + Chat) sind serverseitig proxied, um CORS Probleme mit lokalen Anbietern zu vermeiden\nStrip LLM denkende Artefakte aus Antworten (für lokale Modelle wie Ollama)",
"ru": "Небольшая оптимизация GUI\nДобавлена поддержка пользовательских OpenAI-совместимых конечных точек API (например, Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nДобавлен настраиваемый базовый URL в настройках адаптера\nМодели теперь динамически извлекаются из конфигурированной конечной точки API\nДобавлена кнопка «Test API connection» в настройках адаптера\nДобавлена обработка ошибок с помощью удобных сообщений для недостижимых поставщиков\nДобавлена функция retry для неудавшейся загрузки модели\nВсе вызовы API (модели + чат) проходят на стороне сервера, чтобы избежать проблем с CORS с местными провайдерами\nСтриптиз LLM мыслящие артефакты из ответов (для местных моделей, таких как Ollama)",
"pt": "Otimizações de GUI pequenas\nAdicionado suporte para endpoints personalizados compatíveis com OpenAI API (por exemplo, Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nAdicionado URL base configurável nas configurações do adaptador\nOs modelos agora são obtidos dinamicamente do endpoint da API configurado\nAdicionado o botão \"Teste conexão API\" nas configurações do adaptador\nTratamento de erros adicionado com mensagens amigáveis para provedores inalcançáveis\nAdicionada funcionalidade de repetição para carregamento do modelo falhou\nTodas as chamadas de API (modelos + chat) são proxied servidor-lado para evitar problemas CORS com fornecedores locais\nRetire artefatos de pensamento LLM de respostas (para modelos locais como Ollama)",
"nl": "Kleine GUI optimalisaties\nExtra ondersteuning voor aangepaste OpenAI-compatibele API-eindpunten (bijv. Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nConfigureerbare basis-URL in adapterinstellingen toegevoegd\nModellen worden nu dynamisch opgehaald uit het geconfigureerde API-eindpunt\nToegevoegd de \"Test API connection\" knop in adapter instellingen\nToegevoegd foutafhandeling met gebruiksvriendelijke berichten voor onbereikbare providers\nName\nAlle API-gesprekken (modellen + chat) zijn aangeprezen server-kant om CORS problemen met lokale aanbieders te voorkomen\nStrip LLM denken artefacten uit reacties (voor lokale modellen zoals Ollama)",
"fr": "Petites optimisations GUI\nAjout de la prise en charge des paramètres d'API compatibles OpenAI personnalisés (par exemple Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nAjout de l'URL de base configurable dans les paramètres de l'adaptateur\nLes modèles sont maintenant récupérés dynamiquement à partir du paramètre API configuré\nAjout du bouton \"Tester la connexion API\" dans les paramètres de l'adaptateur\nAjout du traitement des erreurs avec des messages conviviaux pour les fournisseurs inaccessibles\nAjout de la fonctionnalité de réessayer pour le chargement du modèle échoué\nTous les appels API (modèles + chat) sont proxiés côté serveur pour éviter les problèmes CORS avec les fournisseurs locaux\nStrip LLM artefacts de réflexion des réponses (pour les modèles locaux comme Ollama)",
"it": "Piccole ottimizzazioni GUI\nAggiunto il supporto per i endpoint API personalizzati compatibili con OpenAI (ad esempio Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nAggiunto URL di base configurabile nelle impostazioni dell'adattatore\nI modelli sono ora recuperati dinamicamente dal endpoint API configurato\nAggiunto il pulsante \"Test API Connection\" nelle impostazioni dell'adattatore\nGestione degli errori aggiunti con messaggi intuitivi per fornitori irraggiungibili\nAggiunta funzionalità retry per il caricamento del modello fallito\nTutte le chiamate API (modelli + chat) sono proxied server-side per evitare problemi CORS con i fornitori locali\nStrip LLM pensa artefatti da risposte (per modelli locali come Ollama)",
"es": "Optimizaciones pequeñas de GUI\nAñadido soporte para terminales API compatibles con OpenAI (por ejemplo Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nURL de base configurable en la configuración del adaptador\nLos modelos ahora se recogen dinámicamente desde el punto final de API configurado\nSe agregó el botón \"Test API connection\" en la configuración del adaptador\nManejo de error añadido con mensajes fáciles de usar para proveedores no accesibles\nFunción de retry adicional para la carga del modelo fallido\nTodas las llamadas de API (models + chat) son proxied servidor-side para evitar problemas de CORS con proveedores locales\nStrip LLM piensa artefactos de respuestas (para modelos locales como Ollama)",
"pl": "Małe optymalizacje GUI\nDodano obsługę własnych punktów końcowych kompatybilnych z OpenAI (np. Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nDodano konfigurowalny podstawowy adres URL w ustawieniach adaptera\nModele są teraz odbierane dynamicznie z skonfigurowanego punktu końcowego API\nDodano przycisk \"Test API connection\" w ustawieniach adaptera\nDodano obsługę błędów z komunikatami przyjaznymi dla użytkownika dla nieosiągalnych dostawców\nDodano funkcję ponownego testowania dla nieudanego obciążenia modelu\nWszystkie połączenia API (modele + czat) są proxied server- side, aby uniknąć problemów CORS z lokalnymi dostawcami\nStrip LLM myśli artefakty z odpowiedzi (dla lokalnych modeli takich jak Ollama)",
"uk": "Малі оптимізації інтерфейсу\nДодано підтримку користувацького OpenAI-сумісного API endpoints (наприклад, Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nДодано налаштування URL-адреси бази в налаштуваннях адаптера\nМоделі тепер динамічно від налаштованої точки API\nДодано кнопку \"Test API підключення\" в налаштуваннях адаптера\nДодана обробка помилок з зручними повідомленнями для ненадійних постачальників\nДодано функцію трейдингу для завантаження моделі\nУсі виклики API (модельи + чат) проксіовані сервери, щоб уникнути проблем з локальними постачальниками\nСмуга LLM мислення артефакти відповідей (для місцевих моделей, таких як Ollama)",
"zh-cn": "小图形界面优化\n添加自定义的 OpenAI 兼容 API 端点支持( 如 Ollama, LM Studio, Google 双子座, DeepSeek, OpenRouter)\n在适配器设置中添加可配置的基础 URL\n现在从配置的 API 端点动态获取模型\n在适配器设置中添加“ 测试 API 连接” 按钮\n为无法访问的提供者处理方便用户的信件时添加错误处理\n为失败的模型加载添加了重试功能\n所有 API 呼叫( 模式 + 聊天) 均为代理服务器侧面, 以避免 CORS 与本地供应商发生问题\n从回应中脱去LLM思考文物(为奥拉马等本地模型)"
},
"9.1.0": {
"en": "Added support for custom OpenAI-compatible API endpoints (e.g. Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nAdded configurable base URL in adapter settings\nModels are now fetched dynamically from the configured API endpoint\nAdded the \"Test API connection\" button in adapter settings\nAdded error handling with user-friendly messages for unreachable providers\nAdded retry functionality for failed model loading\nAll API calls (models + chat) are proxied server-side to avoid CORS issues with local providers\nStrip LLM thinking artifacts from responses (for local models like Ollama)",
"de": "Unterstützung für benutzerdefinierte OpenAI-kompatible API-Endpunkte (z.B. Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nKonfigurierbare Basis-URL in Adaptereinstellungen hinzugefügt\nModelle werden nun dynamisch vom konfigurierten API-Endpunkt abgeholt\nHinzufügen der Schaltfläche \"Test API-Verbindung\" in Adaptereinstellungen\nHinzugefügt Fehlerbehandlung mit benutzerfreundlichen Nachrichten für unerreichbare Anbieter\nZusätzliche Retry-Funktionalität für gescheiterte Modellbeladung\nAlle API-Anrufe (Modelle + Chat) sind serverseitig proxied, um CORS Probleme mit lokalen Anbietern zu vermeiden\nStrip LLM denkende Artefakte aus Antworten (für lokale Modelle wie Ollama)",
"ru": "Добавлена поддержка пользовательских OpenAI-совместимых конечных точек API (например, Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nДобавлен настраиваемый базовый URL в настройках адаптера\nМодели теперь динамически извлекаются из конфигурированной конечной точки API\nДобавлена кнопка «Test API connection» в настройках адаптера\nДобавлена обработка ошибок с помощью удобных сообщений для недостижимых поставщиков\nДобавлена функция retry для неудавшейся загрузки модели\nВсе вызовы API (модели + чат) проходят на стороне сервера, чтобы избежать проблем с CORS с местными провайдерами\nСтриптиз LLM мыслящие артефакты из ответов (для местных моделей, таких как Ollama)",
"pt": "Adicionado suporte para endpoints personalizados compatíveis com OpenAI API (por exemplo, Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nAdicionado URL base configurável nas configurações do adaptador\nOs modelos agora são obtidos dinamicamente do endpoint da API configurado\nAdicionado o botão \"Teste conexão API\" nas configurações do adaptador\nTratamento de erros adicionado com mensagens amigáveis para provedores inalcançáveis\nAdicionada funcionalidade de repetição para carregamento do modelo falhou\nTodas as chamadas de API (modelos + chat) são proxied servidor-lado para evitar problemas CORS com fornecedores locais\nRetire artefatos de pensamento LLM de respostas (para modelos locais como Ollama)",
"nl": "Extra ondersteuning voor aangepaste OpenAI-compatibele API-eindpunten (bijv. Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nConfigureerbare basis-URL in adapterinstellingen toegevoegd\nModellen worden nu dynamisch opgehaald uit het geconfigureerde API-eindpunt\nToegevoegd de \"Test API connection\" knop in adapter instellingen\nToegevoegd foutafhandeling met gebruiksvriendelijke berichten voor onbereikbare providers\nName\nAlle API-gesprekken (modellen + chat) zijn aangeprezen server-kant om CORS problemen met lokale aanbieders te voorkomen\nStrip LLM denken artefacten uit reacties (voor lokale modellen zoals Ollama)",
"fr": "Ajout de la prise en charge des paramètres d'API compatibles OpenAI personnalisés (par exemple Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nAjout de l'URL de base configurable dans les paramètres de l'adaptateur\nLes modèles sont maintenant récupérés dynamiquement à partir du paramètre API configuré\nAjout du bouton \"Tester la connexion API\" dans les paramètres de l'adaptateur\nAjout du traitement des erreurs avec des messages conviviaux pour les fournisseurs inaccessibles\nAjout de la fonctionnalité de réessayer pour le chargement du modèle échoué\nTous les appels API (modèles + chat) sont proxiés côté serveur pour éviter les problèmes CORS avec les fournisseurs locaux\nStrip LLM artefacts de réflexion des réponses (pour les modèles locaux comme Ollama)",
"it": "Aggiunto il supporto per i endpoint API personalizzati compatibili con OpenAI (ad esempio Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nAggiunto URL di base configurabile nelle impostazioni dell'adattatore\nI modelli sono ora recuperati dinamicamente dal endpoint API configurato\nAggiunto il pulsante \"Test API Connection\" nelle impostazioni dell'adattatore\nGestione degli errori aggiunti con messaggi intuitivi per fornitori irraggiungibili\nAggiunta funzionalità retry per il caricamento del modello fallito\nTutte le chiamate API (modelli + chat) sono proxied server-side per evitare problemi CORS con i fornitori locali\nStrip LLM pensa artefatti da risposte (per modelli locali come Ollama)",
"es": "Añadido soporte para terminales API compatibles con OpenAI (por ejemplo Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nURL de base configurable en la configuración del adaptador\nLos modelos ahora se recogen dinámicamente desde el punto final de API configurado\nSe agregó el botón \"Test API connection\" en la configuración del adaptador\nManejo de error añadido con mensajes fáciles de usar para proveedores no accesibles\nFunción de retry adicional para la carga del modelo fallido\nTodas las llamadas de API (models + chat) son proxied servidor-side para evitar problemas de CORS con proveedores locales\nStrip LLM piensa artefactos de respuestas (para modelos locales como Ollama)",
"pl": "Dodano obsługę własnych punktów końcowych kompatybilnych z OpenAI (np. Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nDodano konfigurowalny podstawowy adres URL w ustawieniach adaptera\nModele są teraz odbierane dynamicznie z skonfigurowanego punktu końcowego API\nDodano przycisk \"Test API connection\" w ustawieniach adaptera\nDodano obsługę błędów z komunikatami przyjaznymi dla użytkownika dla nieosiągalnych dostawców\nDodano funkcję ponownego testowania dla nieudanego obciążenia modelu\nWszystkie połączenia API (modele + czat) są proxied server- side, aby uniknąć problemów CORS z lokalnymi dostawcami\nStrip LLM myśli artefakty z odpowiedzi (dla lokalnych modeli takich jak Ollama)",
"uk": "Додано підтримку користувацького OpenAI-сумісного API endpoints (наприклад, Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter)\nДодано налаштування URL-адреси бази в налаштуваннях адаптера\nМоделі тепер динамічно від налаштованої точки API\nДодано кнопку \"Test API підключення\" в налаштуваннях адаптера\nДодана обробка помилок з зручними повідомленнями для ненадійних постачальників\nДодано функцію трейдингу для завантаження моделі\nУсі виклики API (модельи + чат) проксіовані сервери, щоб уникнути проблем з локальними постачальниками\nСмуга LLM мислення артефакти відповідей (для місцевих моделей, таких як Ollama)",
"zh-cn": "添加自定义的 OpenAI 兼容 API 端点支持( 如 Ollama, LM Studio, Google 双子座, DeepSeek, OpenRouter)\n在适配器设置中添加可配置的基础 URL\n现在从配置的 API 端点动态获取模型\n在适配器设置中添加“ 测试 API 连接” 按钮\n为无法访问的提供者处理方便用户的信件时添加错误处理\n为失败的模型加载添加了重试功能\n所有 API 呼叫( 模式 + 聊天) 均为代理服务器侧面, 以避免 CORS 与本地供应商发生问题\n从回应中脱去LLM思考文物(为奥拉马等本地模型)"
},
"9.0.18": {
"en": "Corrected error message with `lastSync`\nCorrected JavaScript filter",
"de": "Korrigierte Fehlermeldung mit `last Synthetisch `\nJavaScript-Filter korrigiert",
"ru": "Исправленное сообщение об ошибке с \"последним\" синхронизация пункт\nИсправленный фильтр JavaScript",
"pt": "Mensagem de erro corrigida com ` last Sincronizar `\nFiltro JavaScript corrigido",
"nl": "Gecorrigeerde foutmelding met de laatste Synchroniseren Wat\nGecorrigeerd JavaScript filter",
"fr": "Message d'erreur corrigé avec `dernier Synchronisation \"\nFiltre JavaScript corrigé",
"it": "Messaggio di errore corretto con `ultimo Traduzione: #\nFiltro JavaScript corretto",
"es": "Mensaje de error corregido con `último Sync `\nFiltro de JavaScript corregido",
"pl": "Poprawiony komunikat błędu z 'last Sync'\nPoprawiony filtr JavaScript",
"uk": "Виправлено повідомлення про помилку з `last Синхронізація й\nВиправлений JavaScript-фільтр",
"zh-cn": "更正错误消息为“ last 同步 `\n已更正的 JavaScript 过滤器"
},
"9.0.17": {
"en": "Added possibility to encrypt scripts with password (only for vendors)",
"de": "Zusätzliche Möglichkeit, Skripte mit Passwort zu verschlüsseln (nur für Hersteller)",
"ru": "Добавлена возможность шифрования скриптов с помощью пароля (только для продавцов)",
"pt": "Adicionada possibilidade de criptografar scripts com senha (somente para fornecedores)",
"nl": "Toegevoegd mogelijkheid om scripts te versleutelen met wachtwoord (alleen voor leveranciers)",
"fr": "Ajout de la possibilité de chiffrer les scripts avec le mot de passe (seulement pour les fournisseurs)",
"it": "Aggiunta possibilità di crittografare gli script con password (solo per i fornitori)",
"es": "Añadido posibilidad de cifrar scripts con contraseña (sólo para proveedores)",
"pl": "Dodano możliwość szyfrowania skryptów hasłem (tylko dla sprzedawców)",
"uk": "Додана можливість шифрування сценаріїв з паролем (тільки для постачальників)",
"zh-cn": "添加使用密码加密脚本的可能性( 只针对供应商)"
},
"9.0.16": {
"en": "Added possibility to encrypt scripts with password (only for vendors)",
"de": "Zusätzliche Möglichkeit, Skripte mit Passwort zu verschlüsseln (nur für Hersteller)",
"ru": "Добавлена возможность шифрования скриптов с помощью пароля (только для продавцов)",
"pt": "Adicionada possibilidade de criptografar scripts com senha (somente para fornecedores)",
"nl": "Toegevoegd mogelijkheid om scripts te versleutelen met wachtwoord (alleen voor leveranciers)",
"fr": "Ajout de la possibilité de chiffrer les scripts avec le mot de passe (seulement pour les fournisseurs)",
"it": "Aggiunta possibilità di crittografare gli script con password (solo per i fornitori)",
"es": "Añadido posibilidad de cifrar scripts con contraseña (sólo para proveedores)",
"pl": "Dodano możliwość szyfrowania skryptów hasłem (tylko dla sprzedawców)",
"uk": "Додана можливість шифрування сценаріїв з паролем (тільки для постачальників)",
"zh-cn": "添加使用密码加密脚本的可能性( 只针对供应商)"
},
"9.0.15": {
"en": "Added possibility to encrypt scripts with password (only for vendors)",
"de": "Zusätzliche Möglichkeit, Skripte mit Passwort zu verschlüsseln (nur für Hersteller)",
"ru": "Добавлена возможность шифрования скриптов с помощью пароля (только для продавцов)",
"pt": "Adicionada possibilidade de criptografar scripts com senha (somente para fornecedores)",
"nl": "Toegevoegd mogelijkheid om scripts te versleutelen met wachtwoord (alleen voor leveranciers)",
"fr": "Ajout de la possibilité de chiffrer les scripts avec le mot de passe (seulement pour les fournisseurs)",
"it": "Aggiunta possibilità di crittografare gli script con password (solo per i fornitori)",
"es": "Añadido posibilidad de cifrar scripts con contraseña (sólo para proveedores)",
"pl": "Dodano możliwość szyfrowania skryptów hasłem (tylko dla sprzedawców)",
"uk": "Додана можливість шифрування сценаріїв з паролем (тільки для постачальників)",
"zh-cn": "添加使用密码加密脚本的可能性( 只针对供应商)"
},
"9.0.14": {
"en": "Added possibility to encrypt scripts with password (only for vendors)",
"de": "Zusätzliche Möglichkeit, Skripte mit Passwort zu verschlüsseln (nur für Hersteller)",
"ru": "Добавлена возможность шифрования скриптов с помощью пароля (только для продавцов)",
"pt": "Adicionada possibilidade de criptografar scripts com senha (somente para fornecedores)",
"nl": "Toegevoegd mogelijkheid om scripts te versleutelen met wachtwoord (alleen voor leveranciers)",
"fr": "Ajout de la possibilité de chiffrer les scripts avec le mot de passe (seulement pour les fournisseurs)",
"it": "Aggiunta possibilità di crittografare gli script con password (solo per i fornitori)",
"es": "Añadido posibilidad de cifrar scripts con contraseña (sólo para proveedores)",
"pl": "Dodano możliwość szyfrowania skryptów hasłem (tylko dla sprzedawców)",
"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": ">=5.0.19"
}
],
"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"
]
}
]
},
"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": "",
"claudeKey": "",
"geminiKey": "",
"deepseekKey": ""
},
"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": {}
}
]
}