├── src-editor
├── vite-env.d.ts
├── public
│ ├── back.jpg
│ ├── favicon.ico
│ ├── google-blockly
│ │ ├── media
│ │ │ ├── 1x1.gif
│ │ │ ├── click.mp3
│ │ │ ├── click.ogg
│ │ │ ├── click.wav
│ │ │ ├── delete.mp3
│ │ │ ├── delete.ogg
│ │ │ ├── delete.wav
│ │ │ ├── quote0.png
│ │ │ ├── quote1.png
│ │ │ ├── handopen.cur
│ │ │ ├── pilcrow.png
│ │ │ ├── sprites.png
│ │ │ ├── disconnect.mp3
│ │ │ ├── disconnect.ogg
│ │ │ ├── disconnect.wav
│ │ │ ├── handclosed.cur
│ │ │ ├── handdelete.cur
│ │ │ ├── foldout-icon.svg
│ │ │ ├── resize-handle.svg
│ │ │ ├── delete-icon.svg
│ │ │ └── dropdown-arrow.svg
│ │ └── own
│ │ │ ├── msg
│ │ │ ├── zh-cn.js
│ │ │ ├── en.js
│ │ │ ├── pt.js
│ │ │ ├── uk.js
│ │ │ ├── es.js
│ │ │ ├── pl.js
│ │ │ ├── ru.js
│ │ │ ├── fr.js
│ │ │ ├── it.js
│ │ │ ├── nl.js
│ │ │ └── de.js
│ │ │ └── blocks_number.js
│ ├── vs
│ │ └── base
│ │ │ └── browser
│ │ │ └── ui
│ │ │ └── codicons
│ │ │ └── codicon
│ │ │ └── codicon.ttf
│ └── manifest.json
├── src
│ ├── assets
│ │ ├── js.png
│ │ ├── rules.png
│ │ ├── tileJS.png
│ │ ├── tileTS.png
│ │ ├── blockly.png
│ │ ├── tileBlockly.png
│ │ ├── tileRules.png
│ │ ├── typescript.png
│ │ ├── blockly.svg
│ │ ├── js.svg
│ │ └── typescript.svg
│ ├── Components
│ │ ├── RulesEditor
│ │ │ ├── TODO.md
│ │ │ ├── components
│ │ │ │ ├── CustomCheckbox
│ │ │ │ │ └── style.module.scss
│ │ │ │ ├── DragWrapper
│ │ │ │ │ └── style.module.scss
│ │ │ │ ├── CustomSwitch
│ │ │ │ │ └── style.module.scss
│ │ │ │ ├── HamburgerMenu
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── CustomButton
│ │ │ │ │ └── style.module.scss
│ │ │ │ ├── CustomDate
│ │ │ │ │ └── style.module.scss
│ │ │ │ ├── CustomTime
│ │ │ │ │ ├── style.module.scss
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── CustomSelect
│ │ │ │ │ └── style.module.scss
│ │ │ │ ├── CustomSlider
│ │ │ │ │ └── style.module.scss
│ │ │ │ ├── CustomInput
│ │ │ │ │ └── style.module.scss
│ │ │ │ └── CardMenu
│ │ │ │ │ └── style.module.scss
│ │ │ ├── hooks
│ │ │ │ └── useStateLocal.tsx
│ │ │ ├── style.module.scss
│ │ │ └── helpers
│ │ │ │ ├── utils.tsx
│ │ │ │ └── filterElement.tsx
│ │ ├── assets
│ │ │ ├── back.jpg
│ │ │ ├── empty.png
│ │ │ ├── state.png
│ │ │ ├── channel.png
│ │ │ ├── device.png
│ │ │ └── hysteresis.png
│ │ └── blockly-plugins
│ │ │ ├── field-colour
│ │ │ └── src
│ │ │ │ ├── blocks
│ │ │ │ └── generatorsType.ts
│ │ │ │ └── index.ts
│ │ │ └── field-multilineinput
│ │ │ └── src
│ │ │ ├── blocks
│ │ │ └── generatorsType.ts
│ │ │ └── index.ts
│ ├── GenericBlock.tsx
│ ├── react-app-env.d.ts
│ └── globals.d.ts
├── .gitignore
├── tsconfig.json
└── eslint.config.mjs
├── .releaseconfig.json
├── admin
├── assets
│ ├── virtualExposes-BIHI7g3E.js
│ ├── back-CXiqI7Po.jpg
│ ├── tileJS-C48gYbHw.png
│ ├── tileTS-CsXmgy4B.png
│ ├── hysteresis-CLhhemcG.png
│ ├── tileBlockly-BMpdinN3.png
│ ├── tileRules-BkbaFIhs.png
│ ├── useTheme-DakN8Abq.js
│ ├── Save-DXaUpIPM.js
│ ├── _commonjsHelpers-Cpj98o6Y.js
│ ├── hostInit-OBG53iVO.js
│ ├── iobroker_javascript__loadShare__react__loadShare__-i8pXne9X.js
│ ├── index-DQiceR5U.js
│ └── preload-helper-BDBacUwf.js
├── back.jpg
├── favicon.ico
├── javascript.png
├── vsFont
│ ├── codicon.zip
│ ├── createJson.js
│ └── README.md
├── custom
│ ├── assets
│ │ ├── defaultTheme-BlO0eCf6.js
│ │ ├── useTheme-DFGylj2o.js
│ │ ├── useTheme-Cgjfsi-1.js
│ │ ├── ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__-BqzgglHd.js
│ │ ├── ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__-N2_tx_mJ.js
│ │ ├── hostInit-BJ6gSofk.js
│ │ ├── index-Df6OaCxx.js
│ │ ├── jsx-runtime-C1csJtRx.js
│ │ ├── _commonjsHelpers-CE1G-McA.js
│ │ ├── ConfigCustomJavascriptSet__loadShare__react__loadShare__-BNbscXK6.js
│ │ ├── index-DcK0RDrH.js
│ │ ├── ConfigCustomJavascriptSet__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__-DaN0pfsw.js
│ │ ├── virtualExposes-C_DtjFte.js
│ │ ├── index-BkjEWGjf.js
│ │ └── preload-helper-BDBacUwf.js
│ └── i18n
│ │ ├── zh-cn.json
│ │ └── en.json
├── google-blockly
│ ├── media
│ │ ├── 1x1.gif
│ │ ├── click.mp3
│ │ ├── click.ogg
│ │ ├── click.wav
│ │ ├── delete.mp3
│ │ ├── delete.ogg
│ │ ├── delete.wav
│ │ ├── quote0.png
│ │ ├── quote1.png
│ │ ├── handopen.cur
│ │ ├── pilcrow.png
│ │ ├── sprites.png
│ │ ├── disconnect.mp3
│ │ ├── disconnect.ogg
│ │ ├── disconnect.wav
│ │ ├── handclosed.cur
│ │ ├── handdelete.cur
│ │ ├── foldout-icon.svg
│ │ ├── resize-handle.svg
│ │ ├── delete-icon.svg
│ │ └── dropdown-arrow.svg
│ └── own
│ │ ├── msg
│ │ ├── zh-cn.js
│ │ ├── en.js
│ │ ├── pt.js
│ │ ├── uk.js
│ │ ├── es.js
│ │ ├── pl.js
│ │ ├── ru.js
│ │ ├── fr.js
│ │ ├── it.js
│ │ ├── nl.js
│ │ └── de.js
│ │ └── blocks_number.js
├── vs
│ └── base
│ │ └── browser
│ │ └── ui
│ │ └── codicons
│ │ └── codicon
│ │ └── codicon.ttf
└── manifest.json
├── test
├── mocha.setup.js
├── testPackageFiles.js
└── lib
│ ├── JS
│ ├── tsconfig.json
│ └── testDeclarations.js
│ └── TS
│ └── tsconfig.json
├── .mocharc.json
├── detection
├── image.png
├── numbers.png
├── CodeImage.jpg
└── detect.js
├── docs
├── de
│ ├── img
│ │ ├── screen.jpg
│ │ ├── action_exec_1_en.png
│ │ ├── action_exec_2_en.png
│ │ ├── action_exec_en.png
│ │ ├── sendto_custom_en.png
│ │ ├── sendto_email_en.png
│ │ ├── sendto_sayit_en.png
│ │ ├── system_bind_1_en.png
│ │ ├── system_bind_en.png
│ │ ├── system_create_en.png
│ │ ├── system_debug_en.png
│ │ ├── system_get_id_en.png
│ │ ├── system_update_en.png
│ │ ├── system_write_en.png
│ │ ├── trigger_astro_en.png
│ │ ├── variables_get_en.png
│ │ ├── variables_set_en.png
│ │ ├── Timer_variable_en.PNG
│ │ ├── action_request_en.png
│ │ ├── convert_todate_en.png
│ │ ├── convert_typeof_en.png
│ │ ├── datetime_astro_en.png
│ │ ├── sendto_custom_1_en.png
│ │ ├── sendto_custom_2_en.png
│ │ ├── sendto_custom_3_en.png
│ │ ├── sendto_email_1_en.png
│ │ ├── sendto_pushover_en.png
│ │ ├── sendto_telegram_en.png
│ │ ├── system_comment_en.png
│ │ ├── system_control_en.png
│ │ ├── system_debug_1_en.png
│ │ ├── trigger_astro_1_en.png
│ │ ├── trigger_offFile_de.png
│ │ ├── trigger_onFile_de.png
│ │ ├── trigger_trigger_en.png
│ │ ├── variables_get_1_en.png
│ │ ├── variables_get_2_en.png
│ │ ├── variables_set_1_en.png
│ │ ├── variables_set_2_en.png
│ │ ├── action_request_1_en.png
│ │ ├── convert_by_jsonata_en.png
│ │ ├── convert_fromtime_en.png
│ │ ├── convert_toboolean_en.png
│ │ ├── convert_tonumber_en.png
│ │ ├── convert_tostring_en.png
│ │ ├── datetime_compare_en.png
│ │ ├── functions_call_ex_en.png
│ │ ├── functions_function_en.png
│ │ ├── functions_return_en.png
│ │ ├── getting_started_1_de.png
│ │ ├── getting_started_1_en.png
│ │ ├── getting_started_2_de.png
│ │ ├── getting_started_2_en.png
│ │ ├── getting_started_3_de.png
│ │ ├── getting_started_3_en.png
│ │ ├── system_control_1_en.png
│ │ ├── system_control_2_en.png
│ │ ├── system_get_value_en.png
│ │ ├── timeouts_interval_en.png
│ │ ├── timeouts_timeout_1_en.png
│ │ ├── timeouts_timeout_en.png
│ │ ├── trigger_cron_clear_en.png
│ │ ├── trigger_cron_input_en.png
│ │ ├── trigger_cron_rule_en.png
│ │ ├── trigger_object_id_en.png
│ │ ├── trigger_schedule_1_en.png
│ │ ├── trigger_schedule_en.png
│ │ ├── trigger_trigger_ex_en.png
│ │ ├── convert_json2object_en.png
│ │ ├── convert_object2json_en.png
│ │ ├── datetime_actualtime_en.png
│ │ ├── datetime_compare_ex_en.png
│ │ ├── functions_function_1_en.png
│ │ ├── functions_function_2_en.png
│ │ ├── functions_function_3_en.png
│ │ ├── functions_function_4_en.png
│ │ ├── functions_function_5_en.png
│ │ ├── functions_function_6_en.png
│ │ ├── functions_function_7_en.png
│ │ ├── getting_started_1_2_de.png
│ │ ├── getting_started_1_2_en.png
│ │ ├── getting_started_3_1_de.png
│ │ ├── getting_started_3_1_en.png
│ │ ├── getting_started_3_2_de.png
│ │ ├── getting_started_3_2_en.png
│ │ ├── getting_started_3_3_de.png
│ │ ├── getting_started_3_3_en.png
│ │ ├── system_get_id_sample_en.png
│ │ ├── system_update_sample_en.png
│ │ ├── trigger_cron_input_1_en.png
│ │ ├── trigger_cron_rule_1_en.png
│ │ ├── trigger_cron_rule_2_en.png
│ │ ├── trigger_object_id_1_en.png
│ │ ├── trigger_schedule_ex_en.png
│ │ ├── trigger_trigger_ex_1_en.png
│ │ ├── trigger_trigger_ex_2_en.png
│ │ ├── trigger_trigger_ex_3_en.png
│ │ ├── datetime_compare_ex_1_en.png
│ │ ├── datetime_compare_ex_2_en.png
│ │ ├── functions_call_ex_ret_en.png
│ │ ├── functions_function_ex_1_en.png
│ │ ├── functions_function_ex_en.png
│ │ ├── functions_function_ret_en.png
│ │ ├── system_comment_sample_en.png
│ │ ├── system_control_sample1_en.png
│ │ ├── system_create_sample1_en.png
│ │ ├── system_create_sample2_en.png
│ │ ├── system_get_value_sample_en.png
│ │ ├── timeouts_interval_clear_en.png
│ │ ├── timeouts_timeout_clear_en.png
│ │ ├── trigger_schedule_ex_1_en.png
│ │ ├── functions_function_ex_ret_en.png
│ │ ├── functions_function_ret_1_en.png
│ │ ├── functions_function_ret_2_en.png
│ │ ├── functions_function_ret_3_en.png
│ │ ├── functions_function_ret_4_en.png
│ │ ├── functions_function_ret_5_en.png
│ │ ├── timeouts_timeout_clear_1_en.png
│ │ ├── functions_function_ex_ret_1_en.png
│ │ ├── javascript_Javascript-Adapter.png
│ │ └── javascript_Einstellungen-Javascript.png
│ └── README.md
├── en
│ ├── img
│ │ ├── wait1.png
│ │ ├── wait2.png
│ │ ├── action_exec_1_en.png
│ │ ├── action_exec_2_en.png
│ │ ├── action_exec_en.png
│ │ ├── sendto_custom_en.png
│ │ ├── sendto_email_en.png
│ │ ├── sendto_sayit_en.png
│ │ ├── system_bind_1_en.png
│ │ ├── system_bind_en.png
│ │ ├── system_create_en.png
│ │ ├── system_debug_en.png
│ │ ├── system_get_id_en.png
│ │ ├── system_update_en.png
│ │ ├── system_write_en.png
│ │ ├── trigger_astro_en.png
│ │ ├── variables_get_en.png
│ │ ├── variables_set_en.png
│ │ ├── Timer_variable_en.PNG
│ │ ├── action_request_en.png
│ │ ├── convert_todate_en.png
│ │ ├── convert_typeof_en.png
│ │ ├── datetime_astro_en.png
│ │ ├── sendto_custom_1_en.png
│ │ ├── sendto_custom_2_en.png
│ │ ├── sendto_custom_3_en.png
│ │ ├── sendto_email_1_en.png
│ │ ├── sendto_pushover_en.png
│ │ ├── sendto_telegram_en.png
│ │ ├── system_comment_en.png
│ │ ├── system_control_en.png
│ │ ├── system_debug_1_en.png
│ │ ├── trigger_astro_1_en.png
│ │ ├── trigger_offFile_en.png
│ │ ├── trigger_onFile_en.png
│ │ ├── trigger_trigger_en.png
│ │ ├── variables_get_1_en.png
│ │ ├── variables_get_2_en.png
│ │ ├── variables_set_1_en.png
│ │ ├── variables_set_2_en.png
│ │ ├── action_request_1_en.png
│ │ ├── convert_by_jsonata_en.png
│ │ ├── convert_fromtime_en.png
│ │ ├── convert_toboolean_en.png
│ │ ├── convert_tonumber_en.png
│ │ ├── convert_tostring_en.png
│ │ ├── datetime_compare_en.png
│ │ ├── functions_call_ex_en.png
│ │ ├── functions_function_en.png
│ │ ├── functions_return_en.png
│ │ ├── getting_started_1_en.png
│ │ ├── getting_started_2_en.png
│ │ ├── getting_started_3_en.png
│ │ ├── system_control_1_en.png
│ │ ├── system_control_2_en.png
│ │ ├── system_get_value_en.png
│ │ ├── timeouts_interval_en.png
│ │ ├── timeouts_timeout_1_en.png
│ │ ├── timeouts_timeout_en.png
│ │ ├── trigger_cron_clear_en.png
│ │ ├── trigger_cron_input_en.png
│ │ ├── trigger_cron_rule_en.png
│ │ ├── trigger_object_id_en.png
│ │ ├── trigger_onScript_en.png
│ │ ├── trigger_schedule_1_en.png
│ │ ├── trigger_schedule_en.png
│ │ ├── trigger_trigger_ex_en.png
│ │ ├── convert_json2object_en.png
│ │ ├── convert_object2json_en.png
│ │ ├── datetime_actualtime_en.png
│ │ ├── datetime_compare_ex_en.png
│ │ ├── functions_function_1_en.png
│ │ ├── functions_function_2_en.png
│ │ ├── functions_function_3_en.png
│ │ ├── functions_function_4_en.png
│ │ ├── functions_function_5_en.png
│ │ ├── functions_function_6_en.png
│ │ ├── functions_function_7_en.png
│ │ ├── getting_started_1_2_en.png
│ │ ├── getting_started_3_1_en.png
│ │ ├── getting_started_3_2_en.png
│ │ ├── getting_started_3_3_en.png
│ │ ├── sendto_otherscript_1_en.png
│ │ ├── system_get_id_sample_en.png
│ │ ├── system_update_sample_en.png
│ │ ├── trigger_cron_input_1_en.png
│ │ ├── trigger_cron_rule_1_en.png
│ │ ├── trigger_cron_rule_2_en.png
│ │ ├── trigger_object_id_1_en.png
│ │ ├── trigger_schedule_ex_en.png
│ │ ├── trigger_trigger_ex_1_en.png
│ │ ├── trigger_trigger_ex_2_en.png
│ │ ├── trigger_trigger_ex_3_en.png
│ │ ├── datetime_compare_ex_1_en.png
│ │ ├── datetime_compare_ex_2_en.png
│ │ ├── functions_call_ex_ret_en.png
│ │ ├── functions_function_ex_1_en.png
│ │ ├── functions_function_ex_en.png
│ │ ├── functions_function_ret_en.png
│ │ ├── system_comment_sample_en.png
│ │ ├── system_control_sample1_en.png
│ │ ├── system_create_sample1_en.png
│ │ ├── system_create_sample2_en.png
│ │ ├── system_get_value_sample_en.png
│ │ ├── timeouts_interval_clear_en.png
│ │ ├── timeouts_timeout_clear_en.png
│ │ ├── trigger_schedule_ex_1_en.png
│ │ ├── functions_function_ex_ret_en.png
│ │ ├── functions_function_ret_1_en.png
│ │ ├── functions_function_ret_2_en.png
│ │ ├── functions_function_ret_3_en.png
│ │ ├── functions_function_ret_4_en.png
│ │ ├── functions_function_ret_5_en.png
│ │ ├── timeouts_timeout_clear_1_en.png
│ │ ├── functions_function_ex_ret_1_en.png
│ │ └── upgrade-guide
│ │ │ └── request-httpGet.png
│ └── README.md
└── ru
│ ├── img
│ ├── action_exec_1_en.png
│ ├── action_exec_2_en.png
│ ├── action_exec_en.png
│ ├── sendto_custom_en.png
│ ├── sendto_email_en.png
│ ├── sendto_sayit_en.png
│ ├── system_bind_1_en.png
│ ├── system_bind_en.png
│ ├── system_create_en.png
│ ├── system_debug_en.png
│ ├── system_get_id_en.png
│ ├── system_update_en.png
│ ├── system_write_en.png
│ ├── trigger_astro_en.png
│ ├── variables_get_en.png
│ ├── variables_set_en.png
│ ├── Timer_variable_en.PNG
│ ├── action_request_en.png
│ ├── convert_todate_en.png
│ ├── convert_typeof_en.png
│ ├── datetime_astro_en.png
│ ├── sendto_custom_1_en.png
│ ├── sendto_custom_2_en.png
│ ├── sendto_custom_3_en.png
│ ├── sendto_email_1_en.png
│ ├── sendto_pushover_en.png
│ ├── sendto_telegram_en.png
│ ├── system_comment_en.png
│ ├── system_control_en.png
│ ├── system_debug_1_en.png
│ ├── trigger_astro_1_en.png
│ ├── trigger_offFile_ru.png
│ ├── trigger_onFile_ru.png
│ ├── trigger_trigger_en.png
│ ├── variables_get_1_en.png
│ ├── variables_get_2_en.png
│ ├── variables_set_1_en.png
│ ├── variables_set_2_en.png
│ ├── action_request_1_en.png
│ ├── convert_by_jsonata_en.png
│ ├── convert_fromtime_en.png
│ ├── convert_toboolean_en.png
│ ├── convert_tonumber_en.png
│ ├── convert_tostring_en.png
│ ├── datetime_compare_en.png
│ ├── functions_call_ex_en.png
│ ├── functions_function_en.png
│ ├── functions_return_en.png
│ ├── getting_started_1_en.png
│ ├── getting_started_2_en.png
│ ├── getting_started_3_ru.png
│ ├── system_control_1_en.png
│ ├── system_control_2_en.png
│ ├── system_get_value_en.png
│ ├── timeouts_interval_en.png
│ ├── timeouts_timeout_1_en.png
│ ├── timeouts_timeout_en.png
│ ├── trigger_cron_clear_en.png
│ ├── trigger_cron_input_en.png
│ ├── trigger_cron_rule_en.png
│ ├── trigger_object_id_en.png
│ ├── trigger_schedule_1_en.png
│ ├── trigger_schedule_en.png
│ ├── trigger_trigger_ex_en.png
│ ├── convert_json2object_en.png
│ ├── convert_object2json_en.png
│ ├── datetime_actualtime_en.png
│ ├── datetime_compare_ex_en.png
│ ├── functions_function_1_en.png
│ ├── functions_function_2_en.png
│ ├── functions_function_3_en.png
│ ├── functions_function_4_en.png
│ ├── functions_function_5_en.png
│ ├── functions_function_6_en.png
│ ├── functions_function_7_en.png
│ ├── getting_started_1_2_en.png
│ ├── getting_started_3_1_en.png
│ ├── getting_started_3_2_en.png
│ ├── getting_started_3_3_en.png
│ ├── system_get_id_sample_en.png
│ ├── system_update_sample_en.png
│ ├── trigger_cron_input_1_en.png
│ ├── trigger_cron_rule_1_en.png
│ ├── trigger_cron_rule_2_en.png
│ ├── trigger_object_id_1_en.png
│ ├── trigger_schedule_ex_en.png
│ ├── trigger_trigger_ex_1_en.png
│ ├── trigger_trigger_ex_2_en.png
│ ├── trigger_trigger_ex_3_en.png
│ ├── datetime_compare_ex_1_en.png
│ ├── datetime_compare_ex_2_en.png
│ ├── functions_call_ex_ret_en.png
│ ├── functions_function_ex_1_en.png
│ ├── functions_function_ex_en.png
│ ├── functions_function_ret_en.png
│ ├── system_comment_sample_en.png
│ ├── system_control_sample1_en.png
│ ├── system_create_sample1_en.png
│ ├── system_create_sample2_en.png
│ ├── system_get_value_sample_en.png
│ ├── timeouts_interval_clear_en.png
│ ├── timeouts_timeout_clear_en.png
│ ├── trigger_schedule_ex_1_en.png
│ ├── functions_function_ex_ret_en.png
│ ├── functions_function_ret_1_en.png
│ ├── functions_function_ret_2_en.png
│ ├── functions_function_ret_3_en.png
│ ├── functions_function_ret_4_en.png
│ ├── functions_function_ret_5_en.png
│ ├── timeouts_timeout_clear_1_en.png
│ └── functions_function_ex_ret_1_en.png
│ └── README.md
├── src-admin
├── src
│ ├── Components.tsx
│ ├── index.tsx
│ ├── astro.css
│ └── i18n
│ │ ├── zh-cn.json
│ │ └── en.json
├── tsconfig.node.json
├── .gitignore
├── eslint.config.mjs
├── tsconfig.json
└── index.html
├── prettier.config.mjs
├── .vscode
├── settings.json
└── launch.json
├── .gitattributes
├── .github
├── ISSUE_TEMPLATE
│ ├── config.yml
│ └── feature_request.md
├── codeql
│ └── codeql-config.yml
├── workflows
│ ├── auto-approve.yml
│ ├── dependabot-automerge.yml
│ └── codeql.yml
└── auto-merge.yml
├── tsconfig.build.json
├── .gitignore
├── tsconfig.json
├── src
└── lib
│ ├── crypto.ts
│ └── nodeModulesManagement.ts
├── eslint.config.mjs
└── LICENSE
/src-editor/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/.releaseconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": ["iobroker", "license"]
3 | }
4 |
--------------------------------------------------------------------------------
/admin/assets/virtualExposes-BIHI7g3E.js:
--------------------------------------------------------------------------------
1 | const e={};export{e as default};
2 |
--------------------------------------------------------------------------------
/test/mocha.setup.js:
--------------------------------------------------------------------------------
1 | process.on('unhandledRejection', r => {
2 | throw r;
3 | });
4 |
--------------------------------------------------------------------------------
/.mocharc.json:
--------------------------------------------------------------------------------
1 | {
2 | "require": [
3 | "./test/mocha.setup.js"
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/admin/back.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/back.jpg
--------------------------------------------------------------------------------
/admin/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/favicon.ico
--------------------------------------------------------------------------------
/detection/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/detection/image.png
--------------------------------------------------------------------------------
/admin/javascript.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/javascript.png
--------------------------------------------------------------------------------
/detection/numbers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/detection/numbers.png
--------------------------------------------------------------------------------
/docs/de/img/screen.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/screen.jpg
--------------------------------------------------------------------------------
/docs/en/img/wait1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/wait1.png
--------------------------------------------------------------------------------
/docs/en/img/wait2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/wait2.png
--------------------------------------------------------------------------------
/admin/vsFont/codicon.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/vsFont/codicon.zip
--------------------------------------------------------------------------------
/detection/CodeImage.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/detection/CodeImage.jpg
--------------------------------------------------------------------------------
/src-admin/src/Components.tsx:
--------------------------------------------------------------------------------
1 | import Astro from './Astro';
2 |
3 | export default {
4 | Astro,
5 | };
6 |
--------------------------------------------------------------------------------
/src-editor/public/back.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/back.jpg
--------------------------------------------------------------------------------
/admin/custom/assets/defaultTheme-BlO0eCf6.js:
--------------------------------------------------------------------------------
1 | import{c as e}from"./createTheme-Bm92JF8u.js";const a=e();export{a as d};
2 |
--------------------------------------------------------------------------------
/src-editor/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/favicon.ico
--------------------------------------------------------------------------------
/src-editor/src/assets/js.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/src/assets/js.png
--------------------------------------------------------------------------------
/admin/assets/back-CXiqI7Po.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/assets/back-CXiqI7Po.jpg
--------------------------------------------------------------------------------
/admin/assets/tileJS-C48gYbHw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/assets/tileJS-C48gYbHw.png
--------------------------------------------------------------------------------
/admin/assets/tileTS-CsXmgy4B.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/assets/tileTS-CsXmgy4B.png
--------------------------------------------------------------------------------
/docs/de/img/action_exec_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/action_exec_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/action_exec_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/action_exec_2_en.png
--------------------------------------------------------------------------------
/docs/de/img/action_exec_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/action_exec_en.png
--------------------------------------------------------------------------------
/docs/de/img/sendto_custom_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/sendto_custom_en.png
--------------------------------------------------------------------------------
/docs/de/img/sendto_email_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/sendto_email_en.png
--------------------------------------------------------------------------------
/docs/de/img/sendto_sayit_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/sendto_sayit_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_bind_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_bind_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_bind_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_bind_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_create_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_create_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_debug_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_debug_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_get_id_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_get_id_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_update_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_update_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_write_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_write_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_astro_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_astro_en.png
--------------------------------------------------------------------------------
/docs/de/img/variables_get_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/variables_get_en.png
--------------------------------------------------------------------------------
/docs/de/img/variables_set_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/variables_set_en.png
--------------------------------------------------------------------------------
/docs/en/img/action_exec_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/action_exec_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/action_exec_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/action_exec_2_en.png
--------------------------------------------------------------------------------
/docs/en/img/action_exec_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/action_exec_en.png
--------------------------------------------------------------------------------
/docs/en/img/sendto_custom_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/sendto_custom_en.png
--------------------------------------------------------------------------------
/docs/en/img/sendto_email_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/sendto_email_en.png
--------------------------------------------------------------------------------
/docs/en/img/sendto_sayit_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/sendto_sayit_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_bind_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_bind_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_bind_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_bind_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_create_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_create_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_debug_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_debug_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_get_id_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_get_id_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_update_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_update_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_write_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_write_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_astro_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_astro_en.png
--------------------------------------------------------------------------------
/docs/en/img/variables_get_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/variables_get_en.png
--------------------------------------------------------------------------------
/docs/en/img/variables_set_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/variables_set_en.png
--------------------------------------------------------------------------------
/docs/ru/img/action_exec_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/action_exec_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/action_exec_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/action_exec_2_en.png
--------------------------------------------------------------------------------
/docs/ru/img/action_exec_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/action_exec_en.png
--------------------------------------------------------------------------------
/docs/ru/img/sendto_custom_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/sendto_custom_en.png
--------------------------------------------------------------------------------
/docs/ru/img/sendto_email_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/sendto_email_en.png
--------------------------------------------------------------------------------
/docs/ru/img/sendto_sayit_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/sendto_sayit_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_bind_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_bind_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_bind_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_bind_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_create_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_create_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_debug_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_debug_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_get_id_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_get_id_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_update_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_update_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_write_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_write_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_astro_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_astro_en.png
--------------------------------------------------------------------------------
/docs/ru/img/variables_get_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/variables_get_en.png
--------------------------------------------------------------------------------
/docs/ru/img/variables_set_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/variables_set_en.png
--------------------------------------------------------------------------------
/src-editor/src/assets/rules.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/src/assets/rules.png
--------------------------------------------------------------------------------
/src-editor/src/assets/tileJS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/src/assets/tileJS.png
--------------------------------------------------------------------------------
/src-editor/src/assets/tileTS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/src/assets/tileTS.png
--------------------------------------------------------------------------------
/admin/google-blockly/media/1x1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/google-blockly/media/1x1.gif
--------------------------------------------------------------------------------
/docs/de/img/Timer_variable_en.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/Timer_variable_en.PNG
--------------------------------------------------------------------------------
/docs/de/img/action_request_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/action_request_en.png
--------------------------------------------------------------------------------
/docs/de/img/convert_todate_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/convert_todate_en.png
--------------------------------------------------------------------------------
/docs/de/img/convert_typeof_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/convert_typeof_en.png
--------------------------------------------------------------------------------
/docs/de/img/datetime_astro_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/datetime_astro_en.png
--------------------------------------------------------------------------------
/docs/de/img/sendto_custom_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/sendto_custom_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/sendto_custom_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/sendto_custom_2_en.png
--------------------------------------------------------------------------------
/docs/de/img/sendto_custom_3_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/sendto_custom_3_en.png
--------------------------------------------------------------------------------
/docs/de/img/sendto_email_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/sendto_email_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/sendto_pushover_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/sendto_pushover_en.png
--------------------------------------------------------------------------------
/docs/de/img/sendto_telegram_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/sendto_telegram_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_comment_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_comment_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_control_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_control_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_debug_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_debug_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_astro_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_astro_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_offFile_de.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_offFile_de.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_onFile_de.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_onFile_de.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_trigger_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_trigger_en.png
--------------------------------------------------------------------------------
/docs/de/img/variables_get_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/variables_get_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/variables_get_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/variables_get_2_en.png
--------------------------------------------------------------------------------
/docs/de/img/variables_set_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/variables_set_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/variables_set_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/variables_set_2_en.png
--------------------------------------------------------------------------------
/docs/en/img/Timer_variable_en.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/Timer_variable_en.PNG
--------------------------------------------------------------------------------
/docs/en/img/action_request_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/action_request_en.png
--------------------------------------------------------------------------------
/docs/en/img/convert_todate_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/convert_todate_en.png
--------------------------------------------------------------------------------
/docs/en/img/convert_typeof_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/convert_typeof_en.png
--------------------------------------------------------------------------------
/docs/en/img/datetime_astro_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/datetime_astro_en.png
--------------------------------------------------------------------------------
/docs/en/img/sendto_custom_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/sendto_custom_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/sendto_custom_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/sendto_custom_2_en.png
--------------------------------------------------------------------------------
/docs/en/img/sendto_custom_3_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/sendto_custom_3_en.png
--------------------------------------------------------------------------------
/docs/en/img/sendto_email_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/sendto_email_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/sendto_pushover_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/sendto_pushover_en.png
--------------------------------------------------------------------------------
/docs/en/img/sendto_telegram_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/sendto_telegram_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_comment_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_comment_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_control_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_control_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_debug_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_debug_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_astro_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_astro_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_offFile_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_offFile_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_onFile_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_onFile_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_trigger_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_trigger_en.png
--------------------------------------------------------------------------------
/docs/en/img/variables_get_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/variables_get_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/variables_get_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/variables_get_2_en.png
--------------------------------------------------------------------------------
/docs/en/img/variables_set_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/variables_set_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/variables_set_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/variables_set_2_en.png
--------------------------------------------------------------------------------
/docs/ru/img/Timer_variable_en.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/Timer_variable_en.PNG
--------------------------------------------------------------------------------
/docs/ru/img/action_request_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/action_request_en.png
--------------------------------------------------------------------------------
/docs/ru/img/convert_todate_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/convert_todate_en.png
--------------------------------------------------------------------------------
/docs/ru/img/convert_typeof_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/convert_typeof_en.png
--------------------------------------------------------------------------------
/docs/ru/img/datetime_astro_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/datetime_astro_en.png
--------------------------------------------------------------------------------
/docs/ru/img/sendto_custom_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/sendto_custom_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/sendto_custom_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/sendto_custom_2_en.png
--------------------------------------------------------------------------------
/docs/ru/img/sendto_custom_3_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/sendto_custom_3_en.png
--------------------------------------------------------------------------------
/docs/ru/img/sendto_email_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/sendto_email_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/sendto_pushover_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/sendto_pushover_en.png
--------------------------------------------------------------------------------
/docs/ru/img/sendto_telegram_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/sendto_telegram_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_comment_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_comment_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_control_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_control_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_debug_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_debug_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_astro_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_astro_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_offFile_ru.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_offFile_ru.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_onFile_ru.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_onFile_ru.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_trigger_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_trigger_en.png
--------------------------------------------------------------------------------
/docs/ru/img/variables_get_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/variables_get_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/variables_get_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/variables_get_2_en.png
--------------------------------------------------------------------------------
/docs/ru/img/variables_set_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/variables_set_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/variables_set_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/variables_set_2_en.png
--------------------------------------------------------------------------------
/src-editor/src/assets/blockly.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/src/assets/blockly.png
--------------------------------------------------------------------------------
/admin/assets/hysteresis-CLhhemcG.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/assets/hysteresis-CLhhemcG.png
--------------------------------------------------------------------------------
/admin/assets/tileBlockly-BMpdinN3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/assets/tileBlockly-BMpdinN3.png
--------------------------------------------------------------------------------
/admin/assets/tileRules-BkbaFIhs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/assets/tileRules-BkbaFIhs.png
--------------------------------------------------------------------------------
/admin/google-blockly/media/click.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/google-blockly/media/click.mp3
--------------------------------------------------------------------------------
/admin/google-blockly/media/click.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/google-blockly/media/click.ogg
--------------------------------------------------------------------------------
/admin/google-blockly/media/click.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/google-blockly/media/click.wav
--------------------------------------------------------------------------------
/admin/google-blockly/media/delete.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/google-blockly/media/delete.mp3
--------------------------------------------------------------------------------
/admin/google-blockly/media/delete.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/google-blockly/media/delete.ogg
--------------------------------------------------------------------------------
/admin/google-blockly/media/delete.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/google-blockly/media/delete.wav
--------------------------------------------------------------------------------
/admin/google-blockly/media/quote0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/google-blockly/media/quote0.png
--------------------------------------------------------------------------------
/admin/google-blockly/media/quote1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/google-blockly/media/quote1.png
--------------------------------------------------------------------------------
/docs/de/img/action_request_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/action_request_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/convert_by_jsonata_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/convert_by_jsonata_en.png
--------------------------------------------------------------------------------
/docs/de/img/convert_fromtime_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/convert_fromtime_en.png
--------------------------------------------------------------------------------
/docs/de/img/convert_toboolean_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/convert_toboolean_en.png
--------------------------------------------------------------------------------
/docs/de/img/convert_tonumber_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/convert_tonumber_en.png
--------------------------------------------------------------------------------
/docs/de/img/convert_tostring_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/convert_tostring_en.png
--------------------------------------------------------------------------------
/docs/de/img/datetime_compare_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/datetime_compare_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_call_ex_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_call_ex_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_function_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_function_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_return_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_return_en.png
--------------------------------------------------------------------------------
/docs/de/img/getting_started_1_de.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/getting_started_1_de.png
--------------------------------------------------------------------------------
/docs/de/img/getting_started_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/getting_started_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/getting_started_2_de.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/getting_started_2_de.png
--------------------------------------------------------------------------------
/docs/de/img/getting_started_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/getting_started_2_en.png
--------------------------------------------------------------------------------
/docs/de/img/getting_started_3_de.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/getting_started_3_de.png
--------------------------------------------------------------------------------
/docs/de/img/getting_started_3_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/getting_started_3_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_control_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_control_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_control_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_control_2_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_get_value_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_get_value_en.png
--------------------------------------------------------------------------------
/docs/de/img/timeouts_interval_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/timeouts_interval_en.png
--------------------------------------------------------------------------------
/docs/de/img/timeouts_timeout_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/timeouts_timeout_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/timeouts_timeout_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/timeouts_timeout_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_cron_clear_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_cron_clear_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_cron_input_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_cron_input_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_cron_rule_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_cron_rule_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_object_id_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_object_id_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_schedule_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_schedule_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_schedule_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_schedule_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_trigger_ex_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_trigger_ex_en.png
--------------------------------------------------------------------------------
/docs/en/img/action_request_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/action_request_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/convert_by_jsonata_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/convert_by_jsonata_en.png
--------------------------------------------------------------------------------
/docs/en/img/convert_fromtime_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/convert_fromtime_en.png
--------------------------------------------------------------------------------
/docs/en/img/convert_toboolean_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/convert_toboolean_en.png
--------------------------------------------------------------------------------
/docs/en/img/convert_tonumber_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/convert_tonumber_en.png
--------------------------------------------------------------------------------
/docs/en/img/convert_tostring_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/convert_tostring_en.png
--------------------------------------------------------------------------------
/docs/en/img/datetime_compare_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/datetime_compare_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_call_ex_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_call_ex_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_function_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_function_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_return_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_return_en.png
--------------------------------------------------------------------------------
/docs/en/img/getting_started_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/getting_started_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/getting_started_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/getting_started_2_en.png
--------------------------------------------------------------------------------
/docs/en/img/getting_started_3_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/getting_started_3_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_control_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_control_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_control_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_control_2_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_get_value_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_get_value_en.png
--------------------------------------------------------------------------------
/docs/en/img/timeouts_interval_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/timeouts_interval_en.png
--------------------------------------------------------------------------------
/docs/en/img/timeouts_timeout_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/timeouts_timeout_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/timeouts_timeout_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/timeouts_timeout_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_cron_clear_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_cron_clear_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_cron_input_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_cron_input_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_cron_rule_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_cron_rule_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_object_id_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_object_id_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_onScript_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_onScript_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_schedule_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_schedule_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_schedule_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_schedule_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_trigger_ex_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_trigger_ex_en.png
--------------------------------------------------------------------------------
/docs/ru/img/action_request_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/action_request_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/convert_by_jsonata_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/convert_by_jsonata_en.png
--------------------------------------------------------------------------------
/docs/ru/img/convert_fromtime_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/convert_fromtime_en.png
--------------------------------------------------------------------------------
/docs/ru/img/convert_toboolean_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/convert_toboolean_en.png
--------------------------------------------------------------------------------
/docs/ru/img/convert_tonumber_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/convert_tonumber_en.png
--------------------------------------------------------------------------------
/docs/ru/img/convert_tostring_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/convert_tostring_en.png
--------------------------------------------------------------------------------
/docs/ru/img/datetime_compare_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/datetime_compare_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_call_ex_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_call_ex_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_function_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_function_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_return_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_return_en.png
--------------------------------------------------------------------------------
/docs/ru/img/getting_started_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/getting_started_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/getting_started_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/getting_started_2_en.png
--------------------------------------------------------------------------------
/docs/ru/img/getting_started_3_ru.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/getting_started_3_ru.png
--------------------------------------------------------------------------------
/docs/ru/img/system_control_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_control_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_control_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_control_2_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_get_value_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_get_value_en.png
--------------------------------------------------------------------------------
/docs/ru/img/timeouts_interval_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/timeouts_interval_en.png
--------------------------------------------------------------------------------
/docs/ru/img/timeouts_timeout_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/timeouts_timeout_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/timeouts_timeout_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/timeouts_timeout_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_cron_clear_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_cron_clear_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_cron_input_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_cron_input_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_cron_rule_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_cron_rule_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_object_id_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_object_id_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_schedule_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_schedule_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_schedule_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_schedule_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_trigger_ex_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_trigger_ex_en.png
--------------------------------------------------------------------------------
/prettier.config.mjs:
--------------------------------------------------------------------------------
1 | import prettierConfig from '@iobroker/eslint-config/prettier.config.mjs';
2 |
3 | export default prettierConfig;
4 |
--------------------------------------------------------------------------------
/src-editor/src/Components/RulesEditor/TODO.md:
--------------------------------------------------------------------------------
1 | - Color Themes (delayed)
2 |
3 | - Add following actions: iot(iffft), pushbullet
4 |
5 |
--------------------------------------------------------------------------------
/src-editor/src/assets/tileBlockly.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/src/assets/tileBlockly.png
--------------------------------------------------------------------------------
/src-editor/src/assets/tileRules.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/src/assets/tileRules.png
--------------------------------------------------------------------------------
/src-editor/src/assets/typescript.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/src/assets/typescript.png
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "javascript.implicitProjectConfig.checkJs": true,
3 | "typescript.tsdk": "node_modules\\typescript\\lib"
4 | }
--------------------------------------------------------------------------------
/admin/google-blockly/media/handopen.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/google-blockly/media/handopen.cur
--------------------------------------------------------------------------------
/admin/google-blockly/media/pilcrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/google-blockly/media/pilcrow.png
--------------------------------------------------------------------------------
/admin/google-blockly/media/sprites.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/google-blockly/media/sprites.png
--------------------------------------------------------------------------------
/docs/de/img/convert_json2object_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/convert_json2object_en.png
--------------------------------------------------------------------------------
/docs/de/img/convert_object2json_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/convert_object2json_en.png
--------------------------------------------------------------------------------
/docs/de/img/datetime_actualtime_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/datetime_actualtime_en.png
--------------------------------------------------------------------------------
/docs/de/img/datetime_compare_ex_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/datetime_compare_ex_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_function_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_function_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_function_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_function_2_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_function_3_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_function_3_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_function_4_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_function_4_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_function_5_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_function_5_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_function_6_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_function_6_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_function_7_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_function_7_en.png
--------------------------------------------------------------------------------
/docs/de/img/getting_started_1_2_de.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/getting_started_1_2_de.png
--------------------------------------------------------------------------------
/docs/de/img/getting_started_1_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/getting_started_1_2_en.png
--------------------------------------------------------------------------------
/docs/de/img/getting_started_3_1_de.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/getting_started_3_1_de.png
--------------------------------------------------------------------------------
/docs/de/img/getting_started_3_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/getting_started_3_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/getting_started_3_2_de.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/getting_started_3_2_de.png
--------------------------------------------------------------------------------
/docs/de/img/getting_started_3_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/getting_started_3_2_en.png
--------------------------------------------------------------------------------
/docs/de/img/getting_started_3_3_de.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/getting_started_3_3_de.png
--------------------------------------------------------------------------------
/docs/de/img/getting_started_3_3_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/getting_started_3_3_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_get_id_sample_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_get_id_sample_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_update_sample_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_update_sample_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_cron_input_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_cron_input_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_cron_rule_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_cron_rule_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_cron_rule_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_cron_rule_2_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_object_id_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_object_id_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_schedule_ex_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_schedule_ex_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_trigger_ex_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_trigger_ex_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_trigger_ex_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_trigger_ex_2_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_trigger_ex_3_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_trigger_ex_3_en.png
--------------------------------------------------------------------------------
/docs/en/img/convert_json2object_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/convert_json2object_en.png
--------------------------------------------------------------------------------
/docs/en/img/convert_object2json_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/convert_object2json_en.png
--------------------------------------------------------------------------------
/docs/en/img/datetime_actualtime_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/datetime_actualtime_en.png
--------------------------------------------------------------------------------
/docs/en/img/datetime_compare_ex_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/datetime_compare_ex_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_function_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_function_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_function_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_function_2_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_function_3_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_function_3_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_function_4_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_function_4_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_function_5_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_function_5_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_function_6_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_function_6_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_function_7_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_function_7_en.png
--------------------------------------------------------------------------------
/docs/en/img/getting_started_1_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/getting_started_1_2_en.png
--------------------------------------------------------------------------------
/docs/en/img/getting_started_3_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/getting_started_3_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/getting_started_3_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/getting_started_3_2_en.png
--------------------------------------------------------------------------------
/docs/en/img/getting_started_3_3_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/getting_started_3_3_en.png
--------------------------------------------------------------------------------
/docs/en/img/sendto_otherscript_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/sendto_otherscript_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_get_id_sample_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_get_id_sample_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_update_sample_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_update_sample_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_cron_input_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_cron_input_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_cron_rule_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_cron_rule_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_cron_rule_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_cron_rule_2_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_object_id_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_object_id_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_schedule_ex_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_schedule_ex_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_trigger_ex_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_trigger_ex_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_trigger_ex_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_trigger_ex_2_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_trigger_ex_3_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_trigger_ex_3_en.png
--------------------------------------------------------------------------------
/docs/ru/img/convert_json2object_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/convert_json2object_en.png
--------------------------------------------------------------------------------
/docs/ru/img/convert_object2json_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/convert_object2json_en.png
--------------------------------------------------------------------------------
/docs/ru/img/datetime_actualtime_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/datetime_actualtime_en.png
--------------------------------------------------------------------------------
/docs/ru/img/datetime_compare_ex_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/datetime_compare_ex_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_function_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_function_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_function_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_function_2_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_function_3_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_function_3_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_function_4_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_function_4_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_function_5_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_function_5_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_function_6_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_function_6_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_function_7_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_function_7_en.png
--------------------------------------------------------------------------------
/docs/ru/img/getting_started_1_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/getting_started_1_2_en.png
--------------------------------------------------------------------------------
/docs/ru/img/getting_started_3_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/getting_started_3_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/getting_started_3_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/getting_started_3_2_en.png
--------------------------------------------------------------------------------
/docs/ru/img/getting_started_3_3_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/getting_started_3_3_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_get_id_sample_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_get_id_sample_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_update_sample_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_update_sample_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_cron_input_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_cron_input_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_cron_rule_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_cron_rule_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_cron_rule_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_cron_rule_2_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_object_id_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_object_id_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_schedule_ex_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_schedule_ex_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_trigger_ex_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_trigger_ex_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_trigger_ex_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_trigger_ex_2_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_trigger_ex_3_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_trigger_ex_3_en.png
--------------------------------------------------------------------------------
/admin/google-blockly/media/disconnect.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/google-blockly/media/disconnect.mp3
--------------------------------------------------------------------------------
/admin/google-blockly/media/disconnect.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/google-blockly/media/disconnect.ogg
--------------------------------------------------------------------------------
/admin/google-blockly/media/disconnect.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/google-blockly/media/disconnect.wav
--------------------------------------------------------------------------------
/admin/google-blockly/media/handclosed.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/google-blockly/media/handclosed.cur
--------------------------------------------------------------------------------
/admin/google-blockly/media/handdelete.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/google-blockly/media/handdelete.cur
--------------------------------------------------------------------------------
/docs/de/img/datetime_compare_ex_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/datetime_compare_ex_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/datetime_compare_ex_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/datetime_compare_ex_2_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_call_ex_ret_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_call_ex_ret_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_function_ex_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_function_ex_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_function_ex_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_function_ex_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_function_ret_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_function_ret_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_comment_sample_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_comment_sample_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_control_sample1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_control_sample1_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_create_sample1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_create_sample1_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_create_sample2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_create_sample2_en.png
--------------------------------------------------------------------------------
/docs/de/img/system_get_value_sample_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/system_get_value_sample_en.png
--------------------------------------------------------------------------------
/docs/de/img/timeouts_interval_clear_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/timeouts_interval_clear_en.png
--------------------------------------------------------------------------------
/docs/de/img/timeouts_timeout_clear_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/timeouts_timeout_clear_en.png
--------------------------------------------------------------------------------
/docs/de/img/trigger_schedule_ex_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/trigger_schedule_ex_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/datetime_compare_ex_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/datetime_compare_ex_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/datetime_compare_ex_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/datetime_compare_ex_2_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_call_ex_ret_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_call_ex_ret_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_function_ex_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_function_ex_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_function_ex_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_function_ex_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_function_ret_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_function_ret_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_comment_sample_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_comment_sample_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_control_sample1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_control_sample1_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_create_sample1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_create_sample1_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_create_sample2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_create_sample2_en.png
--------------------------------------------------------------------------------
/docs/en/img/system_get_value_sample_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/system_get_value_sample_en.png
--------------------------------------------------------------------------------
/docs/en/img/timeouts_interval_clear_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/timeouts_interval_clear_en.png
--------------------------------------------------------------------------------
/docs/en/img/timeouts_timeout_clear_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/timeouts_timeout_clear_en.png
--------------------------------------------------------------------------------
/docs/en/img/trigger_schedule_ex_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/trigger_schedule_ex_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/datetime_compare_ex_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/datetime_compare_ex_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/datetime_compare_ex_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/datetime_compare_ex_2_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_call_ex_ret_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_call_ex_ret_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_function_ex_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_function_ex_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_function_ex_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_function_ex_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_function_ret_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_function_ret_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_comment_sample_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_comment_sample_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_control_sample1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_control_sample1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_create_sample1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_create_sample1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_create_sample2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_create_sample2_en.png
--------------------------------------------------------------------------------
/docs/ru/img/system_get_value_sample_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/system_get_value_sample_en.png
--------------------------------------------------------------------------------
/docs/ru/img/timeouts_interval_clear_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/timeouts_interval_clear_en.png
--------------------------------------------------------------------------------
/docs/ru/img/timeouts_timeout_clear_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/timeouts_timeout_clear_en.png
--------------------------------------------------------------------------------
/docs/ru/img/trigger_schedule_ex_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/trigger_schedule_ex_1_en.png
--------------------------------------------------------------------------------
/src-editor/src/Components/assets/back.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/src/Components/assets/back.jpg
--------------------------------------------------------------------------------
/src-editor/src/Components/assets/empty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/src/Components/assets/empty.png
--------------------------------------------------------------------------------
/src-editor/src/Components/assets/state.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/src/Components/assets/state.png
--------------------------------------------------------------------------------
/docs/de/img/functions_function_ex_ret_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_function_ex_ret_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_function_ret_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_function_ret_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_function_ret_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_function_ret_2_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_function_ret_3_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_function_ret_3_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_function_ret_4_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_function_ret_4_en.png
--------------------------------------------------------------------------------
/docs/de/img/functions_function_ret_5_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_function_ret_5_en.png
--------------------------------------------------------------------------------
/docs/de/img/timeouts_timeout_clear_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/timeouts_timeout_clear_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_function_ex_ret_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_function_ex_ret_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_function_ret_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_function_ret_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_function_ret_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_function_ret_2_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_function_ret_3_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_function_ret_3_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_function_ret_4_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_function_ret_4_en.png
--------------------------------------------------------------------------------
/docs/en/img/functions_function_ret_5_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_function_ret_5_en.png
--------------------------------------------------------------------------------
/docs/en/img/timeouts_timeout_clear_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/timeouts_timeout_clear_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_function_ex_ret_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_function_ex_ret_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_function_ret_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_function_ret_1_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_function_ret_2_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_function_ret_2_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_function_ret_3_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_function_ret_3_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_function_ret_4_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_function_ret_4_en.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_function_ret_5_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_function_ret_5_en.png
--------------------------------------------------------------------------------
/docs/ru/img/timeouts_timeout_clear_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/timeouts_timeout_clear_1_en.png
--------------------------------------------------------------------------------
/src-editor/src/Components/assets/channel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/src/Components/assets/channel.png
--------------------------------------------------------------------------------
/src-editor/src/Components/assets/device.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/src/Components/assets/device.png
--------------------------------------------------------------------------------
/src-editor/src/GenericBlock.tsx:
--------------------------------------------------------------------------------
1 | import { GenericBlock } from './Components/RulesEditor/components/GenericBlock';
2 | export default GenericBlock;
3 |
--------------------------------------------------------------------------------
/docs/de/img/functions_function_ex_ret_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/functions_function_ex_ret_1_en.png
--------------------------------------------------------------------------------
/docs/de/img/javascript_Javascript-Adapter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/javascript_Javascript-Adapter.png
--------------------------------------------------------------------------------
/docs/en/img/functions_function_ex_ret_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/functions_function_ex_ret_1_en.png
--------------------------------------------------------------------------------
/docs/en/img/upgrade-guide/request-httpGet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/en/img/upgrade-guide/request-httpGet.png
--------------------------------------------------------------------------------
/docs/ru/img/functions_function_ex_ret_1_en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/ru/img/functions_function_ex_ret_1_en.png
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/1x1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/google-blockly/media/1x1.gif
--------------------------------------------------------------------------------
/src-editor/src/Components/assets/hysteresis.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/src/Components/assets/hysteresis.png
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/click.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/google-blockly/media/click.mp3
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/click.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/google-blockly/media/click.ogg
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/click.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/google-blockly/media/click.wav
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/delete.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/google-blockly/media/delete.mp3
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/delete.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/google-blockly/media/delete.ogg
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/delete.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/google-blockly/media/delete.wav
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/quote0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/google-blockly/media/quote0.png
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/quote1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/google-blockly/media/quote1.png
--------------------------------------------------------------------------------
/docs/de/img/javascript_Einstellungen-Javascript.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/docs/de/img/javascript_Einstellungen-Javascript.png
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/handopen.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/google-blockly/media/handopen.cur
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/pilcrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/google-blockly/media/pilcrow.png
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/sprites.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/google-blockly/media/sprites.png
--------------------------------------------------------------------------------
/admin/vs/base/browser/ui/codicons/codicon/codicon.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/admin/vs/base/browser/ui/codicons/codicon/codicon.ttf
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/disconnect.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/google-blockly/media/disconnect.mp3
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/disconnect.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/google-blockly/media/disconnect.ogg
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/disconnect.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/google-blockly/media/disconnect.wav
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/handclosed.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/google-blockly/media/handclosed.cur
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/handdelete.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/google-blockly/media/handdelete.cur
--------------------------------------------------------------------------------
/src-editor/src/Components/RulesEditor/components/CustomCheckbox/style.module.scss:
--------------------------------------------------------------------------------
1 | .root {
2 | * {
3 | color: var(--colorBlock) !important;
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/docs/ru/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # ioBroker.javascript
4 |
5 | ## Содержание
6 |
7 | - [Blockly](blockly.md)
8 |
--------------------------------------------------------------------------------
/admin/google-blockly/media/foldout-icon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src-editor/public/vs/base/browser/ui/codicons/codicon/codicon.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/HEAD/src-editor/public/vs/base/browser/ui/codicons/codicon/codicon.ttf
--------------------------------------------------------------------------------
/src-editor/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | declare module '*.png';
2 | declare module '*.svg';
3 | declare module '*.jpeg';
4 | declare module '*.jpg';
5 | declare module '*.md';
6 | declare module '*.scss';
7 |
--------------------------------------------------------------------------------
/admin/vsFont/createJson.js:
--------------------------------------------------------------------------------
1 | const fs = require('node:fs');
2 | const data = fs.readFileSync(`${__dirname}/codicon.zip`, 'base64');
3 | fs.writeFileSync(`${__dirname}/codicon.json`, JSON.stringify(data));
4 |
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/foldout-icon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/testPackageFiles.js:
--------------------------------------------------------------------------------
1 | const path = require('node:path');
2 | const { tests } = require('@iobroker/testing');
3 |
4 | // Validate the package files
5 | tests.packageFiles(path.join(__dirname, '..'));
6 |
--------------------------------------------------------------------------------
/admin/vsFont/README.md:
--------------------------------------------------------------------------------
1 | # codicon.json
2 | This file is Buffer of `codicon.zip` with `codicon.ttf` inside.
3 |
4 | # codicon.ttf
5 | The Size of `codicon.ttf` must be 70.750.
6 | If the size is other, it is wrong.
7 |
--------------------------------------------------------------------------------
/docs/de/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # ioBroker.javascript
4 |
5 | ## Inhaltsverzeichnis
6 |
7 | - [Blockly](blockly.md)
8 | - [Benutzung](usage.md)
9 |
--------------------------------------------------------------------------------
/admin/assets/useTheme-DakN8Abq.js:
--------------------------------------------------------------------------------
1 | import"./iobroker_javascript__loadShare__react__loadShare__-i8pXne9X.js";import{u as t,T as m,F as s}from"./createSvgIcon-DlIk-fDn.js";function r(){const e=t(s);return e[m]||e}export{r as u};
2 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Keep LF as line endings for text files, so ESLint does not complain
2 | * text eol=lf
3 |
4 | # Denote all files that are truly binary and should not be modified.
5 | *.png binary
6 | *.jpg binary
7 | *.ttf binary
8 | *.zip binary
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Have questions or need support?
4 | url: https://forum.iobroker.net/category/6/skripten-logik
5 | about: Please get in touch on the ioBroker Community Forum!
6 |
--------------------------------------------------------------------------------
/admin/assets/Save-DXaUpIPM.js:
--------------------------------------------------------------------------------
1 | import{c,j as s}from"./createSvgIcon-DlIk-fDn.js";const o=c(s.jsx("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z"}),"Save");export{o as I};
2 |
--------------------------------------------------------------------------------
/admin/google-blockly/media/resize-handle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/admin/assets/_commonjsHelpers-Cpj98o6Y.js:
--------------------------------------------------------------------------------
1 | var o=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function l(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}export{o as c,l as g};
2 |
--------------------------------------------------------------------------------
/docs/en/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # ioBroker.javascript
4 |
5 | ## Table of contents
6 |
7 | - [Blockly](blockly.md)
8 | - [JavaScript reference](javascript.md)
9 | - [Upgrade guide](upgrade-guide.md)
10 |
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/resize-handle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src-editor/src/Components/RulesEditor/components/DragWrapper/style.module.scss:
--------------------------------------------------------------------------------
1 | .drag {
2 | width: 32px;
3 | height: 22px;
4 | position: absolute;
5 | top: 23px;
6 | left: 12px;
7 | z-index: 1;
8 | cursor: pointer;
9 | }
10 | .root {
11 | position: relative;
12 | }
13 |
--------------------------------------------------------------------------------
/admin/custom/assets/useTheme-DFGylj2o.js:
--------------------------------------------------------------------------------
1 | import"./ConfigCustomJavascriptSet__loadShare__react__loadShare__-BNbscXK6.js";import{d as m}from"./defaultTheme-BlO0eCf6.js";import{T as o}from"./createTheme-Bm92JF8u.js";import{u as r}from"./useTheme-Cgjfsi-1.js";function f(){const e=r(m);return e[o]||e}export{f as u};
2 |
--------------------------------------------------------------------------------
/src-editor/src/globals.d.ts:
--------------------------------------------------------------------------------
1 | declare global {
2 | declare module '*.svg';
3 | declare module '*.png';
4 | declare module '*.jpg';
5 |
6 | declare module '@mui/material/Button' {
7 | interface ButtonPropsColorOverrides {
8 | grey: true;
9 | }
10 | }
11 | }
12 |
13 | export {};
14 |
--------------------------------------------------------------------------------
/admin/custom/assets/useTheme-Cgjfsi-1.js:
--------------------------------------------------------------------------------
1 | import{X as n,f as o}from"./createTheme-Bm92JF8u.js";import{C as r}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__-BNbscXK6.js";function s(e){return Object.keys(e).length===0}function a(e=null){const t=r.useContext(n);return!t||s(t)?e:t}const m=o();function h(e=m){return a(e)}export{a,h as u};
2 |
--------------------------------------------------------------------------------
/admin/google-blockly/media/delete-icon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src-admin/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "module": "ESNext",
5 | "moduleResolution": "Node",
6 | "allowSyntheticDefaultImports": true
7 | },
8 | "include": ["modulefederation.admin.config.ts", "vite.config.ts", "module-federation/vite-importmap-shim.ts"]
9 | }
10 |
--------------------------------------------------------------------------------
/tsconfig.build.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "compilerOptions": {
4 | "allowJs": true,
5 | "checkJs": false,
6 | "noEmit": false,
7 | "declaration": false,
8 | "skipLibCheck": true,
9 | "module": "commonjs"
10 | },
11 | "include": ["src/**/*.ts", "src/**/*.js"]
12 | }
13 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .idea
3 | tmp
4 | _admin
5 | iob_npm.dode
6 | /nbproject
7 | /src/blockly
8 | /src/.eslintcache
9 |
10 |
11 | # ioBroker dev-server
12 | .dev-server/
13 | /src/dist
14 | /src-editor/dist
15 | /src-editor/.__mf__temp
16 | /src-admin/.__mf__temp
17 |
18 | #ignore .commitinfo created by ioBroker release script
19 | .commitinfo
20 |
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/delete-icon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/admin/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | }
10 | ],
11 | "start_url": ".",
12 | "display": "standalone",
13 | "theme_color": "#000000",
14 | "background_color": "#ffffff"
15 | }
16 |
--------------------------------------------------------------------------------
/src-editor/src/Components/RulesEditor/components/CustomSwitch/style.module.scss:
--------------------------------------------------------------------------------
1 | .root {
2 | * {
3 | color: var(--colorBlock) !important;
4 | }
5 | [class*='Mui-checked'] {
6 | color: var(--lineColor) !important;
7 | }
8 | [class*='Mui-checked'] + [class*='MuiSwitch-track'] {
9 | background-color: var(--lineColor) !important;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/admin/custom/assets/ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__-BqzgglHd.js:
--------------------------------------------------------------------------------
1 | import{C as _,a as e}from"./ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-jdUmHa_i.js";const{loadShare:a}=e,{initPromise:o}=_,r=o.then(t=>a("@mui/material",{customShareInfo:{shareConfig:{singleton:!0,strictVersion:!1,requiredVersion:"*"}}})),i=await r.then(t=>t());var n=i;export{n as C};
2 |
--------------------------------------------------------------------------------
/src-editor/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | }
10 | ],
11 | "start_url": ".",
12 | "display": "standalone",
13 | "theme_color": "#000000",
14 | "background_color": "#ffffff"
15 | }
16 |
--------------------------------------------------------------------------------
/src-editor/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 |
6 | # testing
7 | /coverage
8 |
9 | # production
10 | /build
11 |
12 | # misc
13 | .DS_Store
14 | .env.local
15 | .env.development.local
16 | .env.test.local
17 | .env.production.local
18 |
19 | npm-debug.log*
20 | yarn-debug.log*
21 | yarn-error.log*
22 | yarn.lock
--------------------------------------------------------------------------------
/src-admin/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/src-editor/src/Components/RulesEditor/components/HamburgerMenu/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | import cls from './hamburgerMenu.module.scss';
4 |
5 | interface HamburgerMenuProps {
6 | bool: boolean;
7 | }
8 |
9 | function HamburgerMenu({ bool }: HamburgerMenuProps): React.JSX.Element {
10 | return
;
11 | }
12 |
13 | export default HamburgerMenu;
14 |
--------------------------------------------------------------------------------
/.github/codeql/codeql-config.yml:
--------------------------------------------------------------------------------
1 | name: 'Code scanning CodeQL config'
2 |
3 | paths:
4 | - src
5 | - lib
6 | - main.js
7 |
8 | paths-ignore:
9 | - src/node_modules
10 | - src/public/vs
11 | - src/public/google-blockly
12 | - src/public/plugins
13 | - src/build
14 | - admin
15 | - test
16 | - detection
17 | - docs
18 | #query-filters:
19 | # - exclude:
20 | # id: js/html-constructed-from-input
21 |
--------------------------------------------------------------------------------
/admin/custom/assets/ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__-N2_tx_mJ.js:
--------------------------------------------------------------------------------
1 | import{g as o}from"./_commonjsHelpers-CE1G-McA.js";import{C as e,a as r}from"./ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-jdUmHa_i.js";const{loadShare:a}=r,{initPromise:s}=e,_=s.then(t=>a("react-dom",{customShareInfo:{shareConfig:{singleton:!0,strictVersion:!1,requiredVersion:"*"}}})),i=await _.then(t=>t());var n=i;const f=o(n);export{n as C,f as R};
2 |
--------------------------------------------------------------------------------
/admin/assets/hostInit-OBG53iVO.js:
--------------------------------------------------------------------------------
1 | const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../remoteEntry.js","./iobroker_javascript__mf_v__runtimeInit__mf_v__-DZdFIfoQ.js","./virtualExposes-BIHI7g3E.js","./preload-helper-BDBacUwf.js"])))=>i.map(i=>d[i]);
2 | import{_ as i}from"./preload-helper-BDBacUwf.js";const r=i(()=>import("../remoteEntry.js"),__vite__mapDeps([0,1,2,3]),import.meta.url);Promise.resolve(r).then(e=>Promise.resolve(e.__tla).then(e.init).catch(e.init));
3 |
--------------------------------------------------------------------------------
/src-admin/src/index.tsx:
--------------------------------------------------------------------------------
1 | // this file used only for simulation and not used in end build
2 | import React from 'react';
3 | import { createRoot } from 'react-dom/client';
4 | // import App from './App';
5 |
6 | window.adapterName = 'adapter-component-template';
7 |
8 | const container = document.getElementById('root');
9 | const root = createRoot(container!);
10 | root.render(
11 |
12 |
13 | ,
14 | );
15 |
--------------------------------------------------------------------------------
/.github/workflows/auto-approve.yml:
--------------------------------------------------------------------------------
1 | name: Auto approve
2 |
3 | on:
4 | pull_request:
5 | types: [labeled]
6 |
7 | jobs:
8 | auto-approve:
9 | if: |
10 | github.actor == 'foxbot76' &&
11 | github.event.label.name == 'automated pr 🔧'
12 |
13 | runs-on: ubuntu-latest
14 | steps:
15 | - uses: hmarr/auto-approve-action@v4
16 | with:
17 | github-token: ${{ secrets.GITHUB_TOKEN }}
18 |
--------------------------------------------------------------------------------
/admin/custom/assets/hostInit-BJ6gSofk.js:
--------------------------------------------------------------------------------
1 | const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../customComponents.js","./ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-jdUmHa_i.js","./virtualExposes-C_DtjFte.js","./preload-helper-BDBacUwf.js"])))=>i.map(i=>d[i]);
2 | import{_ as i}from"./preload-helper-BDBacUwf.js";const r=i(()=>import("../customComponents.js"),__vite__mapDeps([0,1,2,3]),import.meta.url);Promise.resolve(r).then(e=>Promise.resolve(e.__tla).then(e.init).catch(e.init));
3 |
--------------------------------------------------------------------------------
/test/lib/JS/tsconfig.json:
--------------------------------------------------------------------------------
1 | /*
2 | This file is used to test the embedded declarations in TS / strict mode.
3 | */
4 |
5 | {
6 | "files": ["../../../src/lib/javascript.d.ts", "./testDeclarations.js"],
7 | "compilerOptions": {
8 | "allowJs": true,
9 | "checkJs": true,
10 | "noEmit": true,
11 | "target": "es6",
12 | "moduleResolution": "node",
13 | "skipLibCheck": true,
14 | "types": ["@types/node", "@iobroker/types"]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | // Verwendet IntelliSense zum Ermitteln möglicher Attribute.
3 | // Zeigen Sie auf vorhandene Attribute, um die zugehörigen Beschreibungen anzuzeigen.
4 | // Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?linkid=830387
5 | "version": "0.2.0",
6 | "configurations": [
7 | {
8 | "type": "node",
9 | "request": "attach",
10 | "name": "Attach",
11 | "port": 9229,
12 | "skipFiles": [
13 | "/**"
14 | ]
15 | },
16 | ]
17 | }
--------------------------------------------------------------------------------
/admin/custom/assets/index-Df6OaCxx.js:
--------------------------------------------------------------------------------
1 | import{a as c,C as a}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__-BNbscXK6.js";import{j as l}from"./jsx-runtime-C1csJtRx.js";let s=0;function f(t){const[e,u]=a.useState(t),r=t||e;return a.useEffect(()=>{e==null&&(s+=1,u(`mui-${s}`))},[e]),r}const d={...c},o=d.useId;function I(t){if(o!==void 0){const e=o();return t??e}return f(t)}const n=a.createContext();function R({value:t,...e}){return l.jsx(n.Provider,{value:t??!0,...e})}const _=()=>a.useContext(n)??!1;export{R,_ as a,I as u};
2 |
--------------------------------------------------------------------------------
/test/lib/TS/tsconfig.json:
--------------------------------------------------------------------------------
1 | /*
2 | This file is used to test the embedded declarations in TS / strict mode.
3 | */
4 |
5 | {
6 | "files": ["../../../src/lib/javascript.d.ts", "./testDeclarations.ts"],
7 | "compilerOptions": {
8 | "allowJs": true,
9 | "checkJs": true,
10 | "noEmit": true,
11 | "target": "es6",
12 | "moduleResolution": "node",
13 | "skipLibCheck": true,
14 | "strict": true,
15 | "types": ["@types/node", "@iobroker/types"]
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src-editor/src/Components/RulesEditor/components/CustomButton/style.module.scss:
--------------------------------------------------------------------------------
1 | .root {
2 | color: var(--colorBlock) !important;
3 | border-color: var(--colorBlock) !important;
4 | &:hover {
5 | border-color: var(--colorBlockHover) !important;
6 | color: var(--colorBlockHover) !important;
7 | background-color: inherit !important;
8 | }
9 | }
10 | .square {
11 | min-width: auto !important;
12 | padding: 6px 16px !important;
13 | }
14 | .icon {
15 | width: 24px;
16 | height: 24px;
17 | }
18 |
--------------------------------------------------------------------------------
/src-editor/src/Components/blockly-plugins/field-colour/src/blocks/generatorsType.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Copyright 2024 Google LLC
4 | * SPDX-License-Identifier: Apache-2.0
5 | */
6 |
7 | import type { JavascriptGenerator } from 'blockly/javascript';
8 |
9 | /**
10 | * An object containing zero or more generators. This is passed
11 | * to block installation functions so that they may install
12 | * per-block generators on any languages they support.
13 | */
14 | export interface Generators {
15 | javascript?: JavascriptGenerator;
16 | }
17 |
--------------------------------------------------------------------------------
/src-editor/src/Components/blockly-plugins/field-multilineinput/src/blocks/generatorsType.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Copyright 2024 Google LLC
4 | * SPDX-License-Identifier: Apache-2.0
5 | */
6 |
7 | import type { JavascriptGenerator } from 'blockly/javascript';
8 |
9 | /**
10 | * An object containing zero or more generators. This is passed
11 | * to block installation functions so that they may install
12 | * per-block generators on any languages they support.
13 | */
14 | export interface Generators {
15 | javascript?: JavascriptGenerator;
16 | }
17 |
--------------------------------------------------------------------------------
/src-editor/src/Components/blockly-plugins/field-multilineinput/src/index.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Copyright 2023 Google LLC
4 | * SPDX-License-Identifier: Apache-2.0
5 | */
6 |
7 | import * as textMultiline from './blocks/textMultiline';
8 |
9 | export * from './field_multilineinput';
10 |
11 | // Re-export all parts of the block definition.
12 | export * as textMultiline from './blocks/textMultiline';
13 |
14 | // This package currently exports a single block. More may
15 | // be added later.
16 | export const installAllBlocks = textMultiline.installBlock;
17 |
--------------------------------------------------------------------------------
/admin/google-blockly/media/dropdown-arrow.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/media/dropdown-arrow.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src-editor/src/Components/RulesEditor/hooks/useStateLocal.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react';
2 |
3 | export function useStateLocal(value: T, valueName: string): [T, (newHeadCells: T) => void, boolean] {
4 | const [state, setState] = React.useState(
5 | window.localStorage.getItem(valueName) ? JSON.parse(window.localStorage.getItem(valueName) || '') : value,
6 | );
7 |
8 | const eventsToInstall = (newValue: T): void => {
9 | window.localStorage.setItem(valueName, JSON.stringify(newValue));
10 | setState(newValue);
11 | };
12 | return [state, eventsToInstall, !!window.localStorage.getItem(valueName)];
13 | }
14 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compileOnSave": true,
3 | "compilerOptions": {
4 | "noEmit": true,
5 | "allowJs": true,
6 | "checkJs": true,
7 | "outDir": "./build/",
8 | "sourceMap": true,
9 | "inlineSources": true,
10 |
11 | "module": "esnext",
12 | "moduleResolution": "node",
13 | "resolveJsonModule": true,
14 | "strict": true,
15 | "noImplicitAny": true,
16 | "target": "es2022",
17 | "esModuleInterop": true,
18 | "types": ["@types/node", "@iobroker/types"],
19 | },
20 | "include": ["src/**/*.ts"],
21 | "exclude": ["node_modules/**", "admin/**"]
22 | }
23 |
--------------------------------------------------------------------------------
/src-editor/src/Components/RulesEditor/style.module.scss:
--------------------------------------------------------------------------------
1 | .wrapperRules {
2 | background: linear-gradient(0deg, var(--backgroundGlobalColor), var(--backgroundGlobalColor)),
3 | url('../assets/back.jpg');
4 | background-repeat: no-repeat;
5 | background-size: cover;
6 | height: 100%;
7 | display: flex;
8 | }
9 | .rootWrapper {
10 | display: flex;
11 | width: 100%;
12 | }
13 | .addClass {
14 | flex-direction: column;
15 | height: auto;
16 | overflow: auto;
17 | }
18 | @media screen and (max-width: 835px) {
19 | .rootWrapper {
20 | flex-direction: column;
21 | height: auto;
22 | overflow: auto;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src-admin/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | // ioBroker eslint template configuration file for js and ts files
2 | // Please note that esm or react based modules need additional modules loaded.
3 | import config from '@iobroker/eslint-config';
4 |
5 | export default [
6 | ...config,
7 |
8 | {
9 | // specify files to exclude from linting here
10 | ignores: ['build/', 'node_modules/', '.__mf__temp/'],
11 | },
12 | {
13 | rules: {
14 | 'jsdoc/require-jsdoc': 'off',
15 | 'jsdoc/require-param-description': 'off',
16 | 'jsdoc/require-returns-description': 'off',
17 | 'jsdoc/require-returns-check': 'off',
18 | },
19 | },
20 | ];
21 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/admin/custom/assets/jsx-runtime-C1csJtRx.js:
--------------------------------------------------------------------------------
1 | import{C as a}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__-BNbscXK6.js";var f={exports:{}},_={};var i=a,l=Symbol.for("react.element"),m=Symbol.for("react.fragment"),y=Object.prototype.hasOwnProperty,d=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,v={key:!0,ref:!0,__self:!0,__source:!0};function u(t,r,s){var e,o={},n=null,p=null;s!==void 0&&(n=""+s),r.key!==void 0&&(n=""+r.key),r.ref!==void 0&&(p=r.ref);for(e in r)y.call(r,e)&&!v.hasOwnProperty(e)&&(o[e]=r[e]);if(t&&t.defaultProps)for(e in r=t.defaultProps,r)o[e]===void 0&&(o[e]=r[e]);return{$$typeof:l,type:t,key:n,ref:p,props:o,_owner:d.current}}_.Fragment=m;_.jsx=u;_.jsxs=u;f.exports=_;var c=f.exports;export{c as j};
2 |
--------------------------------------------------------------------------------
/src-editor/src/Components/RulesEditor/components/CustomDate/style.module.scss:
--------------------------------------------------------------------------------
1 | .root {
2 | margin-top: 0 !important;
3 | margin-bottom: 0 !important;
4 | * {
5 | color: var(--colorBlock) !important;
6 | }
7 | [class*='MuiInputLabel-shrink'] {
8 | color: var(--colorBlock) !important;
9 | }
10 | [class*='MuiInput-underline'] {
11 | &:after {
12 | border-bottom-color: var(--lineColor) !important;
13 | }
14 | &:before {
15 | border-bottom-color: var(--lineColor) !important;
16 | }
17 | &:hover {
18 | &:before {
19 | border-bottom-color: var(--lineColor) !important;
20 | }
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src-editor/src/Components/RulesEditor/components/CustomTime/style.module.scss:
--------------------------------------------------------------------------------
1 | .root {
2 | margin-top: 0 !important;
3 | margin-bottom: 0 !important;
4 | * {
5 | color: var(--colorBlock) !important;
6 | }
7 | [class*='MuiInputLabel-shrink'] {
8 | color: var(--colorBlock) !important;
9 | }
10 | [class*='MuiInput-underline'] {
11 | &:after {
12 | border-bottom-color: var(--lineColor) !important;
13 | }
14 | &:before {
15 | border-bottom-color: var(--lineColor) !important;
16 | }
17 | &:hover {
18 | &:before {
19 | border-bottom-color: var(--lineColor) !important;
20 | }
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/.github/auto-merge.yml:
--------------------------------------------------------------------------------
1 | # Configure here which dependency updates should be merged automatically.
2 | # The recommended configuration is the following:
3 | - match:
4 | # Only merge patches for production dependencies
5 | dependency_type: production
6 | update_type: 'semver:patch'
7 | - match:
8 | # Except for security fixes, here we allow minor patches
9 | dependency_type: production
10 | update_type: 'security:minor'
11 | - match:
12 | # and development dependencies can have a minor update, too
13 | dependency_type: development
14 | update_type: 'semver:minor'
15 | # The syntax is based on the legacy dependabot v1 automerged_updates syntax, see:
16 | # https://dependabot.com/docs/config-file/#automerged_updates
17 |
--------------------------------------------------------------------------------
/src-editor/src/Components/RulesEditor/components/CustomSelect/style.module.scss:
--------------------------------------------------------------------------------
1 | .root {
2 | margin-top: 0 !important;
3 | margin-bottom: 0 !important;
4 | max-width: 440px;
5 | * {
6 | color: var(--colorBlock) !important;
7 | }
8 | [class*='MuiInputLabel-shrink'] {
9 | color: var(--colorBlock) !important;
10 | }
11 | [class*='MuiInput-underline'] {
12 | &:after {
13 | border-bottom-color: var(--lineColor) !important;
14 | }
15 | &:before {
16 | border-bottom-color: var(--lineColor) !important;
17 | }
18 | &:hover {
19 | &:before {
20 | border-bottom-color: var(--lineColor) !important;
21 | }
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/admin/custom/assets/_commonjsHelpers-CE1G-McA.js:
--------------------------------------------------------------------------------
1 | var u=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function a(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function f(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var n=e.default;if(typeof n=="function"){var t=function r(){var o=!1;try{o=this instanceof r}catch{}return o?Reflect.construct(n,arguments,this.constructor):n.apply(this,arguments)};t.prototype=n.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}),t}export{f as a,u as c,a as g};
2 |
--------------------------------------------------------------------------------
/admin/google-blockly/own/msg/zh-cn.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "代码",
3 | blocks: "块",
4 | linkTooltip: "保存并连接到块上.",
5 | runTooltip: "运行工作区中块构成的程序.",
6 | badCode: "程序异常:\n%1",
7 | timeout: "最大执行次数溢出.",
8 | trashTooltip: "删除所有的块Discard all blocks.",
9 | catLogic: "逻辑",
10 | catLoops: "循环",
11 | catMath: "数学",
12 | catText: "文本",
13 | catLists: "列表",
14 | catColour: "颜色",
15 | catVariables: "变量",
16 | catFunctions: "函数",
17 | listVariable: "列表",
18 | textVariable: "文本",
19 | httpRequestError: "HTTP请求异常",
20 | linkAlert: "将你的块程序通过此链接分享:\n\n%1",
21 | hashError: "对不起, '%1' 没有匹配到任何已保存的程序.",
22 | xmlError: "无法加载你保存的文件. 可能文件由不同的Blockly版本保存的?",
23 | badXml: "解析XML错误:\n%1\n\n选择'确认'放弃你的修改, 或'关闭'重新修改XML文件."
24 | };
25 |
--------------------------------------------------------------------------------
/admin/assets/iobroker_javascript__loadShare__react__loadShare__-i8pXne9X.js:
--------------------------------------------------------------------------------
1 | import{g as i}from"./_commonjsHelpers-Cpj98o6Y.js";import{a as _,b as c}from"./iobroker_javascript__mf_v__runtimeInit__mf_v__-DZdFIfoQ.js";function f(e,s){for(var o=0;or[t]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}const{loadShare:l}=c,{initPromise:u}=_,p=u.then(e=>l("react",{customShareInfo:{shareConfig:{singleton:!0,strictVersion:!1,requiredVersion:"*"}}})),m=await p.then(e=>e());var n=m;const d=i(n),h=f({__proto__:null,default:d},[n]);export{d as R,h as a,n as i};
2 |
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/own/msg/zh-cn.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "代码",
3 | blocks: "块",
4 | linkTooltip: "保存并连接到块上.",
5 | runTooltip: "运行工作区中块构成的程序.",
6 | badCode: "程序异常:\n%1",
7 | timeout: "最大执行次数溢出.",
8 | trashTooltip: "删除所有的块Discard all blocks.",
9 | catLogic: "逻辑",
10 | catLoops: "循环",
11 | catMath: "数学",
12 | catText: "文本",
13 | catLists: "列表",
14 | catColour: "颜色",
15 | catVariables: "变量",
16 | catFunctions: "函数",
17 | listVariable: "列表",
18 | textVariable: "文本",
19 | httpRequestError: "HTTP请求异常",
20 | linkAlert: "将你的块程序通过此链接分享:\n\n%1",
21 | hashError: "对不起, '%1' 没有匹配到任何已保存的程序.",
22 | xmlError: "无法加载你保存的文件. 可能文件由不同的Blockly版本保存的?",
23 | badXml: "解析XML错误:\n%1\n\n选择'确认'放弃你的修改, 或'关闭'重新修改XML文件."
24 | };
25 |
--------------------------------------------------------------------------------
/admin/custom/assets/ConfigCustomJavascriptSet__loadShare__react__loadShare__-BNbscXK6.js:
--------------------------------------------------------------------------------
1 | import{g as i}from"./_commonjsHelpers-CE1G-McA.js";import{C as c,a as _}from"./ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-jdUmHa_i.js";function f(e,s){for(var o=0;ot[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}const{loadShare:u}=_,{initPromise:l}=c,m=l.then(e=>u("react",{customShareInfo:{shareConfig:{singleton:!0,strictVersion:!1,requiredVersion:"*"}}})),g=await m.then(e=>e());var n=g;const p=i(n),C=f({__proto__:null,default:p},[n]);export{n as C,p as R,C as a};
2 |
--------------------------------------------------------------------------------
/admin/custom/assets/index-DcK0RDrH.js:
--------------------------------------------------------------------------------
1 | import{g as c}from"./_commonjsHelpers-CE1G-McA.js";var p={exports:{}},i="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",y=i,m=y;function a(){}function n(){}n.resetWarningCache=a;var T=function(){function e(f,h,l,P,g,s){if(s!==m){var o=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw o.name="Invariant Violation",o}}e.isRequired=e;function r(){return e}var t={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:r,element:e,elementType:e,instanceOf:r,node:e,objectOf:r,oneOf:r,oneOfType:r,shape:r,exact:r,checkPropTypes:n,resetWarningCache:a};return t.PropTypes=t,t};p.exports=T();var u=p.exports;const R=c(u);export{R as P,u as p};
2 |
--------------------------------------------------------------------------------
/src-editor/tsconfig.json:
--------------------------------------------------------------------------------
1 | // Specialized tsconfig for the admin directory,
2 | // includes DOM typings and configures the admin build
3 | {
4 | "extends": "../tsconfig.json",
5 | "compilerOptions": {
6 | "baseUrl": "./",
7 | "allowSyntheticDefaultImports": true,
8 | "checkJs": false,
9 | "noEmit": false,
10 | "outDir": "./build",
11 | "sourceMap": true,
12 | "sourceRoot": "./src",
13 | "noImplicitAny": true,
14 | "skipLibCheck": true,
15 | "lib": ["es2018", "DOM"],
16 | "jsx": "react",
17 | "types": ["@iobroker/types"],
18 | "paths": {
19 | "@/*": ["./src/*"]
20 | }
21 | },
22 | "include": ["./src/**/*", "./src/types.d.ts"],
23 | "exclude": ["./src/Components/BlocklyEditorTS.tsx"]
24 | }
25 |
--------------------------------------------------------------------------------
/src-editor/src/Components/RulesEditor/helpers/utils.tsx:
--------------------------------------------------------------------------------
1 | import { I18n } from '@iobroker/adapter-react-v5';
2 |
3 | let lang: ioBroker.Languages | undefined;
4 | export function getName(obj: undefined | ioBroker.StringOrTranslated | null): string {
5 | lang = lang || I18n.getLanguage();
6 | if (obj && typeof obj === 'object') {
7 | return obj[lang] || obj.en;
8 | }
9 | return obj || '';
10 | }
11 |
12 | export function renderValue(val: any): string {
13 | if (val === null) {
14 | return 'null';
15 | }
16 | if (val === undefined) {
17 | return 'undefined';
18 | }
19 | if (Array.isArray(val)) {
20 | return val.join(', ');
21 | }
22 | if (typeof val === 'object') {
23 | return JSON.stringify(val);
24 | }
25 |
26 | return val.toString();
27 | }
28 |
--------------------------------------------------------------------------------
/src-admin/src/astro.css:
--------------------------------------------------------------------------------
1 | /* hide link on maps */
2 | .leaflet-control-attribution.leaflet-control {
3 | display: none;
4 | }
5 | .astroToolbarTime {
6 | width: 120px;
7 | margin-top: 9px !important;
8 | }
9 | .astroToolbarTime.dark {
10 | color: #fff;
11 | }
12 | .astroToolbarTime.light {
13 | color: #000;
14 | }
15 | .astroToolbarTime fieldset {
16 | display: none;
17 | }
18 | .astroToolbarTime input {
19 | padding: 8px 0 0 0;
20 | }
21 | .astroToolbarTime.dark input {
22 | color: #fff;
23 | }
24 | .astroToolbarTime.light input {
25 | color: #000;
26 | }
27 | .astroToolbarTime.dark .MuiButtonBase-root {
28 | color: #fff;
29 | }
30 | .astroToolbarTime.light .MuiButtonBase-root {
31 | color: #000;
32 | }
33 | .astroToolbarTime .MuiInputAdornment-root {
34 | margin-left: 0;
35 | margin-top: 7px;
36 | }
37 |
--------------------------------------------------------------------------------
/.github/workflows/dependabot-automerge.yml:
--------------------------------------------------------------------------------
1 | # Automatically merge Dependabot PRs when version comparison is within the range
2 | # that is configured in .github/auto-merge.yml
3 |
4 | name: Auto-Merge Dependabot PRs
5 |
6 | on:
7 | pull_request_target:
8 |
9 | jobs:
10 | auto-merge:
11 | runs-on: ubuntu-latest
12 | steps:
13 | - name: Checkout code
14 | uses: actions/checkout@v6
15 |
16 | - name: Check if PR should be auto-merged
17 | uses: ahmadnassri/action-dependabot-auto-merge@v2
18 | with:
19 | # This must be a personal access token with push access
20 | github-token: ${{ secrets.AUTO_MERGE_TOKEN }}
21 | # By default, squash and merge, so Github chooses nice commit messages
22 | command: squash and merge
23 |
--------------------------------------------------------------------------------
/src-admin/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "useDefineForClassFields": true,
5 | "lib": ["DOM", "DOM.Iterable", "ESNext"],
6 | "allowJs": false,
7 | "skipLibCheck": true,
8 | "esModuleInterop": false,
9 | "allowSyntheticDefaultImports": true,
10 | "strict": true,
11 | "forceConsistentCasingInFileNames": true,
12 | "module": "ESNext",
13 | "moduleResolution": "Node",
14 | "resolveJsonModule": true,
15 | "isolatedModules": true,
16 | "noEmit": true,
17 | "jsx": "react-jsx",
18 | "baseUrl": ".",
19 | "types": ["vite/client", "@iobroker/types"],
20 | "paths": {
21 | "shared": ["../shared/shared.ts"]
22 | }
23 | },
24 | "include": ["src"],
25 | "references": [
26 | {
27 | "path": "./tsconfig.node.json"
28 | }
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/src-editor/src/Components/RulesEditor/components/CustomSlider/style.module.scss:
--------------------------------------------------------------------------------
1 | .root {
2 | color: var(--lineColorActive) !important;
3 | height: 8px !important;
4 | [class*='MuiSlider-rail'] {
5 | height: 8px !important;
6 | border-radius: 4px;
7 | }
8 | [class*='MuiSlider-track'] {
9 | height: 8px !important;
10 | border-radius: 4px;
11 | }
12 | [class*='MuiSlider-valueLabel'] {
13 | left: calc(-50% + 4px);
14 | }
15 | [class*='MuiSlider-thumb'] {
16 | height: 24px;
17 | width: 24px;
18 | background-color: var(--colorBlock);
19 | border: 2px solid currentColor;
20 | margin-top: -8px;
21 | margin-left: -12px;
22 | &:focus,
23 | &:hover,
24 | &[class*='MuiSlider-active'] {
25 | box-shadow: inherit !important;
26 | }
27 | }
28 | .mark {
29 | background-color: #00000000 !important;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/lib/crypto.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Encrypt the password/value with given key
3 | *
4 | * @param password - Secret key
5 | * @param plainText - value to encrypt
6 | */
7 | export function encryptText(password: string, plainText: string): string {
8 | let result = '';
9 | for (let i = 0; i < plainText.length; i++) {
10 | result += String.fromCharCode(password[i % password.length].charCodeAt(0) ^ plainText.charCodeAt(i));
11 | }
12 | return Buffer.from(result).toString('base64');
13 | }
14 |
15 | /**
16 | * Decrypt the password/value with given key
17 | *
18 | * @param password - Secret key
19 | * @param base64Text - value to decrypt
20 | */
21 | export function decryptText(password: string, base64Text: string): string {
22 | let result = '';
23 | const plainText = Buffer.from(base64Text, 'base64').toString();
24 | for (let i = 0; i < plainText.length; i++) {
25 | result += String.fromCharCode(password[i % password.length].charCodeAt(0) ^ plainText.charCodeAt(i));
26 | }
27 | return result;
28 | }
29 |
--------------------------------------------------------------------------------
/admin/custom/assets/ConfigCustomJavascriptSet__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__-DaN0pfsw.js:
--------------------------------------------------------------------------------
1 | import{C as s,a as i}from"./ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-jdUmHa_i.js";import{g as f}from"./_commonjsHelpers-CE1G-McA.js";function c(e,a){for(var _=0;_t[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}const{loadShare:m}=i,{initPromise:d}=s,l=d.then(e=>m("@mui/x-date-pickers",{customShareInfo:{shareConfig:{singleton:!0,strictVersion:!1,requiredVersion:"*"}}})),u=await l.then(e=>e());var x=u;const{loadShare:p}=i,{initPromise:g}=s,h=g.then(e=>p("@iobroker/adapter-react-v5",{customShareInfo:{shareConfig:{singleton:!0,strictVersion:!1,requiredVersion:"*"}}})),S=await h.then(e=>e());var n=S;const v=f(n),y=c({__proto__:null,default:v},[n]);export{y as A,n as C,x as a};
2 |
--------------------------------------------------------------------------------
/src-admin/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Admin App
8 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/admin/custom/i18n/zh-cn.json:
--------------------------------------------------------------------------------
1 | {
2 | "And not later": "并且不会晚",
3 | "But not earlier": "但不会更早",
4 | "Day time settings": "日间时间设置",
5 | "Help": "使用 49.1245 的形式,而不是 49°34'0\"。否则它将自动转换。",
6 | "Latitude °": "纬度 °",
7 | "Longitude °": "经度 °",
8 | "Offset": "抵消",
9 | "Time event": "时间事件",
10 | "Use system settings": "使用系统设置",
11 | "Used as end of the daytime": "用作白天的结束",
12 | "Used as start of the daytime": "用作白天的开始",
13 | "in minutes": "几分钟内",
14 | "none": "没有任何",
15 | "sch_astro_dawn": "黎明",
16 | "sch_astro_dusk": "黄昏",
17 | "sch_astro_goldenHour": "黄金时段",
18 | "sch_astro_goldenHourEnd": "黄金时段结束",
19 | "sch_astro_nauticalDawn": "航海黎明",
20 | "sch_astro_nauticalDusk": "航海黄昏",
21 | "sch_astro_night": "夜晚",
22 | "sch_astro_nightEnd": "夜幕降临",
23 | "sch_astro_sunrise": "日出",
24 | "sch_astro_sunriseEnd": "日出结束",
25 | "sch_astro_sunset": "日落",
26 | "sch_astro_sunsetStart": "日落开始",
27 | "Next sunrise": "下一个日出",
28 | "Next sunset": "下一个日落",
29 | "Local time": "当地时间"
30 | }
31 |
--------------------------------------------------------------------------------
/src-admin/src/i18n/zh-cn.json:
--------------------------------------------------------------------------------
1 | {
2 | "And not later": "并且不会晚",
3 | "But not earlier": "但不会更早",
4 | "Day time settings": "日间时间设置",
5 | "Help": "使用 49.1245 的形式,而不是 49°34'0\"。否则它将自动转换。",
6 | "Latitude °": "纬度 °",
7 | "Longitude °": "经度 °",
8 | "Offset": "抵消",
9 | "Time event": "时间事件",
10 | "Use system settings": "使用系统设置",
11 | "Used as end of the daytime": "用作白天的结束",
12 | "Used as start of the daytime": "用作白天的开始",
13 | "in minutes": "几分钟内",
14 | "none": "没有任何",
15 | "sch_astro_dawn": "黎明",
16 | "sch_astro_dusk": "黄昏",
17 | "sch_astro_goldenHour": "黄金时段",
18 | "sch_astro_goldenHourEnd": "黄金时段结束",
19 | "sch_astro_nauticalDawn": "航海黎明",
20 | "sch_astro_nauticalDusk": "航海黄昏",
21 | "sch_astro_night": "夜晚",
22 | "sch_astro_nightEnd": "夜幕降临",
23 | "sch_astro_sunrise": "日出",
24 | "sch_astro_sunriseEnd": "日出结束",
25 | "sch_astro_sunset": "日落",
26 | "sch_astro_sunsetStart": "日落开始",
27 | "Next sunrise": "下一个日出",
28 | "Next sunset": "下一个日落",
29 | "Local time": "当地时间"
30 | }
31 |
--------------------------------------------------------------------------------
/src-editor/src/Components/RulesEditor/helpers/filterElement.tsx:
--------------------------------------------------------------------------------
1 | import type { BlockValue, RuleUserRules } from '@iobroker/javascript-rules-dev';
2 |
3 | export function filterElement(
4 | name: string,
5 | userRules: RuleUserRules,
6 | additionalParameter: BlockValue,
7 | _id: number,
8 | ): RuleUserRules {
9 | switch (name) {
10 | case 'actions':
11 | userRules.actions[additionalParameter as 'then' | 'else'] = userRules.actions[
12 | additionalParameter as 'then' | 'else'
13 | ].filter(el => el._id !== _id);
14 | return userRules;
15 |
16 | case 'conditions':
17 | userRules.conditions[additionalParameter as number] = userRules.conditions[
18 | additionalParameter as number
19 | ]?.filter(el => el._id !== _id);
20 | return userRules;
21 |
22 | case 'triggers':
23 | default:
24 | userRules.triggers = userRules.triggers.filter(el => el._id !== _id);
25 | return userRules;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/detection/detect.js:
--------------------------------------------------------------------------------
1 | const AWS = require('aws-sdk');
2 | const fs = require('fs');
3 | const sharp = require('sharp');
4 |
5 | sharp(__dirname + '/Codeimage.jpg')
6 | .resize(400,100)
7 | .toFile('image.png');
8 |
9 | /*
10 | // initiate rekognition object with aws access_key, secret_key and region from environment variables
11 | const rekognition = new AWS.Rekognition({
12 | accessKeyId: process.env.AWS_ACCESS_KEY,
13 | secretAccessKey: process.env.AWS_SECRET_KEY,
14 | region: process.env.AWS_REGION
15 | });
16 |
17 | fs.readFile(__dirname + '/Codeimage.jpg', 'base64', (err, data) => {
18 | // create a new base64 buffer out of the string passed to us by fs.readFile()
19 | const buffer = new Buffer(data, 'base64');
20 |
21 | rekognition.detectModerationLabels({
22 | Image: {
23 | Bytes: buffer
24 | }
25 | }, function (err, data) {
26 | if (err) {
27 | console.log(err, err.stack);
28 | } else {
29 | console.log(JSON.stringify(data));
30 | }
31 | });
32 | });*/
33 |
--------------------------------------------------------------------------------
/admin/google-blockly/own/msg/en.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Code",
3 | blocks: "Blocks",
4 | linkTooltip: "Save and link to blocks.",
5 | runTooltip: "Run the program defined by the blocks in the workspace.",
6 | badCode: "Program error:\n%1",
7 | timeout: "Maximum execution iterations exceeded.",
8 | trashTooltip: "Discard all blocks.",
9 | catLogic: "Logic",
10 | catLoops: "Loops",
11 | catMath: "Math",
12 | catText: "Text",
13 | catLists: "Lists",
14 | catColour: "Colour",
15 | catVariables: "Variables",
16 | catFunctions: "Functions",
17 | listVariable: "list",
18 | textVariable: "text",
19 | httpRequestError: "There was a problem with the request.",
20 | linkAlert: "Share your blocks with this link:\n\n%1",
21 | hashError: "Sorry, '%1' doesn't correspond with any saved program.",
22 | xmlError: "Could not load your saved file. Perhaps it was created with a different version of Blockly?",
23 | badXml: "Error parsing XML:\n%1\n\nSelect 'OK' to abandon your changes or 'Cancel' to further edit the XML."
24 | };
25 |
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/own/msg/en.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Code",
3 | blocks: "Blocks",
4 | linkTooltip: "Save and link to blocks.",
5 | runTooltip: "Run the program defined by the blocks in the workspace.",
6 | badCode: "Program error:\n%1",
7 | timeout: "Maximum execution iterations exceeded.",
8 | trashTooltip: "Discard all blocks.",
9 | catLogic: "Logic",
10 | catLoops: "Loops",
11 | catMath: "Math",
12 | catText: "Text",
13 | catLists: "Lists",
14 | catColour: "Colour",
15 | catVariables: "Variables",
16 | catFunctions: "Functions",
17 | listVariable: "list",
18 | textVariable: "text",
19 | httpRequestError: "There was a problem with the request.",
20 | linkAlert: "Share your blocks with this link:\n\n%1",
21 | hashError: "Sorry, '%1' doesn't correspond with any saved program.",
22 | xmlError: "Could not load your saved file. Perhaps it was created with a different version of Blockly?",
23 | badXml: "Error parsing XML:\n%1\n\nSelect 'OK' to abandon your changes or 'Cancel' to further edit the XML."
24 | };
25 |
--------------------------------------------------------------------------------
/src/lib/nodeModulesManagement.ts:
--------------------------------------------------------------------------------
1 | import { exec, type ExecException } from 'child_process';
2 |
3 | /**
4 | * Request a module name by given url using `npm view`
5 | *
6 | * @param url the url to the package which should be installed via npm
7 | */
8 | export async function requestModuleNameByUrl(url: string): Promise {
9 | return new Promise((resolve, reject) => {
10 | exec(
11 | `npm view ${url} name`,
12 | { windowsHide: true, encoding: 'utf8' },
13 | (error: ExecException | null, stdout: string /* , stderr */) => {
14 | if (error) {
15 | reject(error);
16 | } else {
17 | if (typeof stdout !== 'string') {
18 | throw new Error(
19 | `Could not determine module name for url "${url}". Unexpected stdout: "${stdout ? JSON.stringify(stdout) : ''}"`,
20 | );
21 | }
22 |
23 | resolve(stdout.trim());
24 | }
25 | },
26 | );
27 | });
28 | }
29 |
--------------------------------------------------------------------------------
/src-editor/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import config, { reactConfig } from '@iobroker/eslint-config';
2 |
3 | export default [
4 | ...config,
5 | ...reactConfig,
6 | {
7 | languageOptions: {
8 | parserOptions: {
9 | projectService: {
10 | allowDefaultProject: ['*.js', '*.mjs'],
11 | },
12 | tsconfigRootDir: import.meta.dirname,
13 | },
14 | },
15 | },
16 | {
17 | // specify files to exclude from linting here
18 | ignores: [
19 | 'build/',
20 | 'node_modules/',
21 | '.__mf__temp/',
22 | 'vite.config.*',
23 | 'vite-env.d.ts',
24 | 'public/',
25 | 'src/Components/blockly-plugins/**/*',
26 | 'src/Components/BlocklyEditorTS.tsx',
27 | ],
28 | },
29 | {
30 | // disable temporary the rule 'jsdoc/require-param' and enable 'jsdoc/require-jsdoc'
31 | rules: {
32 | 'jsdoc/require-jsdoc': 'off',
33 | 'jsdoc/require-param': 'off',
34 | },
35 | },
36 | ];
37 |
--------------------------------------------------------------------------------
/admin/custom/assets/virtualExposes-C_DtjFte.js:
--------------------------------------------------------------------------------
1 | const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Components-DjQ_LxKw.js","./jsx-runtime-C1csJtRx.js","./ConfigCustomJavascriptSet__loadShare__react__loadShare__-BNbscXK6.js","./_commonjsHelpers-CE1G-McA.js","./ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-jdUmHa_i.js","./ConfigCustomJavascriptSet__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__-DaN0pfsw.js","./ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__-BqzgglHd.js","./ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__-N2_tx_mJ.js","./ThemeProvider-C50pIiW4.js","./createTheme-Bm92JF8u.js","./index-Df6OaCxx.js","./useTheme-Cgjfsi-1.js","./useEnhancedEffect-aUb-5tTL.js","./DefaultPropsProvider-DfdXSIBu.js","./Components-BOms95_F.css"])))=>i.map(i=>d[i]);
2 | import{_ as o}from"./preload-helper-BDBacUwf.js";const a={"./Components":async()=>{const t=await o(()=>import("./Components-DjQ_LxKw.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]),import.meta.url),e={};return Object.assign(e,t),Object.defineProperty(e,"__esModule",{value:!0,enumerable:!1}),e}};export{a as default};
3 |
--------------------------------------------------------------------------------
/admin/google-blockly/own/msg/pt.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Código",
3 | blocks: "Blocos",
4 | linkTooltip: "Salvar e ligar aos blocos.",
5 | runTooltip: "Execute o programa definido pelos blocos na área de trabalho.",
6 | badCode: "Erro no programa:\n%1",
7 | timeout: "Máximo de iterações de execução excedido.",
8 | trashTooltip: "Descartar todos os blocos.",
9 | catLogic: "Lógica",
10 | catLoops: "Laços",
11 | catMath: "Matemática",
12 | catText: "Texto",
13 | catLists: "Listas",
14 | catColour: "Cor",
15 | catVariables: "Variáveis",
16 | catFunctions: "Funções",
17 | listVariable: "lista",
18 | textVariable: "texto",
19 | httpRequestError: "Houve um problema com a requisição.",
20 | linkAlert: "Compartilhe seus blocos com este link:\n\n%1",
21 | hashError: "Desculpe, '%1' não corresponde a um programa salvo.",
22 | xmlError: "Não foi possível carregar seu arquivo salvo. Talvez ele tenha sido criado com uma versão diferente do Blockly?",
23 | badXml: "Erro de análise XML:\n%1\n\nSelecione 'OK' para abandonar suas mudanças ou 'Cancelar' para editar o XML."
24 | };
25 |
--------------------------------------------------------------------------------
/test/lib/JS/testDeclarations.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable no-unused-vars */
2 | /* eslint-disable no-undef */
3 |
4 | /*
5 | This file is used to test the embedded declarations in JS.
6 | It is NOT run in strict mode in order to test most users'
7 | coding style
8 | */
9 |
10 | // All these method invocations should be valid
11 | getState('id');
12 | getState('id').ack;
13 | getState('id').val;
14 | getState('id').ts;
15 |
16 | setState('id', 1);
17 | setState('id', 1, true);
18 | setState('id', 1, (error, id) => {
19 | id?.toLowerCase();
20 | });
21 |
22 | const selected = $('selector');
23 | const test1 = selected.getState();
24 | test1 && test1.val.toFixed();
25 |
26 | schedule({ astro: 'night' }, () => {});
27 |
28 | // TODO: Add more tests
29 |
30 | // ===========================
31 | // Regression tests:
32 |
33 | // Repro from https://forum.iobroker.net/viewtopic.php?t=19990
34 |
35 | const state1 = getState('rollo_wz_sued');
36 | if (state1.ack) {
37 | let test2 = state1.val * 100;
38 | test2 += 100;
39 | }
40 |
41 | // Repro from #539
42 | $('*').setState(1);
43 |
44 | // Repro from #636
45 | $('*').each(async () => {});
46 |
--------------------------------------------------------------------------------
/admin/google-blockly/own/msg/uk.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Код",
3 | blocks: "Блоки",
4 | linkTooltip: "Зберегти та показати посилання на блоки.",
5 | runTooltip: "Запустити програму, задану блоками в робочій області.",
6 | badCode: "Помилка програми:\n%1",
7 | timeout: "Перевищено максимальну кількість ітерацій.",
8 | trashTooltip: "Видалити всі блоки.",
9 | catLogic: "Логічні",
10 | catLoops: "Цикли",
11 | catMath: "Математика",
12 | catText: "Текст",
13 | catLists: "Списки",
14 | catColour: "Колір",
15 | catVariables: "Змінні",
16 | catFunctions: "Функції",
17 | listVariable: "список",
18 | TextVariable: "текст",
19 | httpRequestError: "Постала проблема при запиті.",
20 | linkAlert: "Поділіться своїми блоками за цим посиланням:\n\n%1",
21 | hashError: "На жаль, %1 не відповідає жодному збереженому файлу Блоклі.",
22 | xmlError: "Не вдалося завантажити ваш збережений файл. Можливо, він був створений в іншій версії Блоклі?",
23 | badXml: "Помилка синтаксичного аналізу XML:\n%1\n\nВиберіть 'ОК', щоб відмовитися від змін або 'Cancel' для подальшого редагування XML."
24 | };
25 |
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/own/msg/pt.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Código",
3 | blocks: "Blocos",
4 | linkTooltip: "Salvar e ligar aos blocos.",
5 | runTooltip: "Execute o programa definido pelos blocos na área de trabalho.",
6 | badCode: "Erro no programa:\n%1",
7 | timeout: "Máximo de iterações de execução excedido.",
8 | trashTooltip: "Descartar todos os blocos.",
9 | catLogic: "Lógica",
10 | catLoops: "Laços",
11 | catMath: "Matemática",
12 | catText: "Texto",
13 | catLists: "Listas",
14 | catColour: "Cor",
15 | catVariables: "Variáveis",
16 | catFunctions: "Funções",
17 | listVariable: "lista",
18 | textVariable: "texto",
19 | httpRequestError: "Houve um problema com a requisição.",
20 | linkAlert: "Compartilhe seus blocos com este link:\n\n%1",
21 | hashError: "Desculpe, '%1' não corresponde a um programa salvo.",
22 | xmlError: "Não foi possível carregar seu arquivo salvo. Talvez ele tenha sido criado com uma versão diferente do Blockly?",
23 | badXml: "Erro de análise XML:\n%1\n\nSelecione 'OK' para abandonar suas mudanças ou 'Cancelar' para editar o XML."
24 | };
25 |
--------------------------------------------------------------------------------
/admin/google-blockly/own/msg/es.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Código",
3 | blocks: "Bloques",
4 | linkTooltip: "Guarda conexión a los bloques.",
5 | runTooltip: "Ejecute el programa definido por los bloques en el área de trabajo.",
6 | badCode: "Error del programa:\n%1",
7 | timeout: "Se excedio el máximo de iteraciones ejecutadas permitidas.",
8 | trashTooltip: "Descartar todos los bloques.",
9 | catLogic: "Lógica",
10 | catLoops: "Secuencias",
11 | catMath: "Matemáticas",
12 | catText: "Texto",
13 | catLists: "Listas",
14 | catColour: "Color",
15 | catVariables: "Variables",
16 | catFunctions: "Funciones",
17 | listVariable: "lista",
18 | textVariable: "texto",
19 | httpRequestError: "Hubo un problema con la petición.",
20 | linkAlert: "Comparte tus bloques con este enlace:\n\n%1",
21 | hashError: "«%1» no corresponde con ningún programa guardado.",
22 | xmlError: "No se pudo cargar el archivo guardado. ¿Quizá fue creado con otra versión de Blockly?",
23 | badXml: "Error de análisis XML:\n%1\n\nSelecciona OK para abandonar tus cambios o Cancelar para seguir editando el XML."
24 | };
25 |
--------------------------------------------------------------------------------
/admin/google-blockly/own/msg/pl.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Code",
3 | blocks: "Bloki",
4 | linkTooltip: "Zapisz i połącz z blokami.",
5 | runTooltip: "Uruchom program zdefiniowany przez bloki w obszarze roboczym.",
6 | badCode: "Błąd programu:\n%1",
7 | timeout: "Przekroczono maksymalną liczbę iteracji wykonania.",
8 | trashTooltip: "Odrzuć wszystkie bloki.",
9 | catLogic: "Logika",
10 | catLoops: "Pętle",
11 | catMath: "Matematyka",
12 | catText: "Tekst",
13 | catLists: "Listy",
14 | catColour: "Kolor",
15 | catVariables: "Zmienne",
16 | catFunctions: "Funkcje",
17 | listVariable: "lista",
18 | textVariable: "tekst",
19 | httpRequestError: "Wystąpił problem z żądaniem.",
20 | linkAlert: "Udostępnij swoje bloki za pomocą tego linku:\n\n%1",
21 | hashError: "Przepraszamy, '%1' nie odpowiada żadnemu zapisanemu programowi.",
22 | xmlError: "Nie można załadować zapisanego pliku. Być może został utworzony za pomocą innej wersji Blockly?",
23 | badXml: "Błąd podczas analizowania pliku XML:\n%1\n\nWybierz 'OK', aby zrezygnować ze zmian, lub 'Anuluj', aby dalej edytować plik XML."
24 | };
25 |
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/own/msg/uk.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Код",
3 | blocks: "Блоки",
4 | linkTooltip: "Зберегти та показати посилання на блоки.",
5 | runTooltip: "Запустити програму, задану блоками в робочій області.",
6 | badCode: "Помилка програми:\n%1",
7 | timeout: "Перевищено максимальну кількість ітерацій.",
8 | trashTooltip: "Видалити всі блоки.",
9 | catLogic: "Логічні",
10 | catLoops: "Цикли",
11 | catMath: "Математика",
12 | catText: "Текст",
13 | catLists: "Списки",
14 | catColour: "Колір",
15 | catVariables: "Змінні",
16 | catFunctions: "Функції",
17 | listVariable: "список",
18 | TextVariable: "текст",
19 | httpRequestError: "Постала проблема при запиті.",
20 | linkAlert: "Поділіться своїми блоками за цим посиланням:\n\n%1",
21 | hashError: "На жаль, %1 не відповідає жодному збереженому файлу Блоклі.",
22 | xmlError: "Не вдалося завантажити ваш збережений файл. Можливо, він був створений в іншій версії Блоклі?",
23 | badXml: "Помилка синтаксичного аналізу XML:\n%1\n\nВиберіть 'ОК', щоб відмовитися від змін або 'Cancel' для подальшого редагування XML."
24 | };
25 |
--------------------------------------------------------------------------------
/admin/assets/index-DQiceR5U.js:
--------------------------------------------------------------------------------
1 | import{g as u}from"./_commonjsHelpers-Cpj98o6Y.js";function l(e,r){for(var t=0;to[n]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}},m="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",g=m,T=g;function c(){}function i(){}i.resetWarningCache=c;var h=function(){function e(o,n,p,b,d,f){if(f!==T){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}e.isRequired=e;function r(){return e}var t={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:r,element:e,elementType:e,instanceOf:r,node:e,objectOf:r,oneOf:r,oneOfType:r,shape:r,exact:r,checkPropTypes:i,resetWarningCache:c};return t.PropTypes=t,t};s.exports=h();var y=s.exports;const _=u(y),P=l({__proto__:null,default:_},[y]);export{P as i};
2 |
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/own/msg/es.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Código",
3 | blocks: "Bloques",
4 | linkTooltip: "Guarda conexión a los bloques.",
5 | runTooltip: "Ejecute el programa definido por los bloques en el área de trabajo.",
6 | badCode: "Error del programa:\n%1",
7 | timeout: "Se excedio el máximo de iteraciones ejecutadas permitidas.",
8 | trashTooltip: "Descartar todos los bloques.",
9 | catLogic: "Lógica",
10 | catLoops: "Secuencias",
11 | catMath: "Matemáticas",
12 | catText: "Texto",
13 | catLists: "Listas",
14 | catColour: "Color",
15 | catVariables: "Variables",
16 | catFunctions: "Funciones",
17 | listVariable: "lista",
18 | textVariable: "texto",
19 | httpRequestError: "Hubo un problema con la petición.",
20 | linkAlert: "Comparte tus bloques con este enlace:\n\n%1",
21 | hashError: "«%1» no corresponde con ningún programa guardado.",
22 | xmlError: "No se pudo cargar el archivo guardado. ¿Quizá fue creado con otra versión de Blockly?",
23 | badXml: "Error de análisis XML:\n%1\n\nSelecciona OK para abandonar tus cambios o Cancelar para seguir editando el XML."
24 | };
25 |
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/own/msg/pl.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Code",
3 | blocks: "Bloki",
4 | linkTooltip: "Zapisz i połącz z blokami.",
5 | runTooltip: "Uruchom program zdefiniowany przez bloki w obszarze roboczym.",
6 | badCode: "Błąd programu:\n%1",
7 | timeout: "Przekroczono maksymalną liczbę iteracji wykonania.",
8 | trashTooltip: "Odrzuć wszystkie bloki.",
9 | catLogic: "Logika",
10 | catLoops: "Pętle",
11 | catMath: "Matematyka",
12 | catText: "Tekst",
13 | catLists: "Listy",
14 | catColour: "Kolor",
15 | catVariables: "Zmienne",
16 | catFunctions: "Funkcje",
17 | listVariable: "lista",
18 | textVariable: "tekst",
19 | httpRequestError: "Wystąpił problem z żądaniem.",
20 | linkAlert: "Udostępnij swoje bloki za pomocą tego linku:\n\n%1",
21 | hashError: "Przepraszamy, '%1' nie odpowiada żadnemu zapisanemu programowi.",
22 | xmlError: "Nie można załadować zapisanego pliku. Być może został utworzony za pomocą innej wersji Blockly?",
23 | badXml: "Błąd podczas analizowania pliku XML:\n%1\n\nWybierz 'OK', aby zrezygnować ze zmian, lub 'Anuluj', aby dalej edytować plik XML."
24 | };
25 |
--------------------------------------------------------------------------------
/admin/google-blockly/own/msg/ru.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Код",
3 | blocks: "Блоки",
4 | linkTooltip: "Сохранить и показать ссылку на блоки.",
5 | runTooltip: "Запустить программу, заданную блоками в рабочей области.",
6 | badCode: "Ошибка программы:\n%1",
7 | timeout: "Превышено максимальное количество итераций.",
8 | trashTooltip: "Удалить все блоки.",
9 | catLogic: "Логические",
10 | catLoops: "Циклы",
11 | catMath: "Математика",
12 | catText: "Текст",
13 | catLists: "Списки",
14 | catColour: "Цвет",
15 | catVariables: "Переменные",
16 | catFunctions: "Функции",
17 | listVariable: "список",
18 | textVariable: "текст",
19 | httpRequestError: "Произошла проблема при запросе.",
20 | linkAlert: "Поделитесь своими блоками по этой ссылке:\n\n%1",
21 | hashError: "К сожалению, «%1» не соответствует ни одному сохраненному файлу Блокли.",
22 | xmlError: "Не удалось загрузить ваш сохраненный файл. Возможно, он был создан в другой версии Блокли?",
23 | badXml: "Ошибка синтаксического анализа XML:\n%1\n\nВыберите 'ОК', чтобы отказаться от изменений или 'Cancel' для дальнейшего редактирования XML."
24 | };
25 |
--------------------------------------------------------------------------------
/admin/google-blockly/own/blocks_number.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // --- Round Number to n decimal places -------------------------------
4 |
5 | Blockly.Blocks['math_rndfixed'] = {
6 | init: function () {
7 | this.appendValueInput('x')
8 | .setCheck('Number')
9 | .appendField(Blockly.Translate('math_rndfixed_round'));
10 |
11 | this.appendDummyInput()
12 | .appendField(Blockly.Translate('math_rndfixed_to'))
13 | .appendField(new Blockly.FieldNumber(0, 1, 25), 'n')
14 | .appendField(Blockly.Translate('math_rndfixed_decplcs'));
15 |
16 | this.setInputsInline(true);
17 | this.setOutput(true, 'Number');
18 |
19 | this.setColour(Blockly.Msg['MATH_HUE']);
20 |
21 | this.setTooltip(Blockly.Translate('math_rndfixed_tooltip'));
22 | },
23 | };
24 |
25 | Blockly.JavaScript.forBlock['math_rndfixed'] = function (block) {
26 | const vX = Blockly.JavaScript.valueToCode(block, 'x', Blockly.JavaScript.ORDER_ATOMIC);
27 | const fExp = Math.pow(10, block.getFieldValue('n'));
28 |
29 | return [`Math.round(${vX} * ${fExp}) / ${fExp}`, Blockly.JavaScript.ORDER_ATOMIC];
30 | };
31 |
--------------------------------------------------------------------------------
/admin/google-blockly/own/msg/fr.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Code",
3 | blocks: "Blocs",
4 | linkTooltip: "Sauvegarder et lier aux blocs.",
5 | runTooltip: "Lancer le programme défini par les blocs dans l’espace de travail.",
6 | badCode: "Erreur du programme :\n%1",
7 | timeout: "Nombre maximum d’itérations d’exécution dépassé.",
8 | trashTooltip: "Jeter tous les blocs.",
9 | catLogic: "Logique",
10 | catLoops: "Boucles",
11 | catMath: "Math",
12 | catText: "Texte",
13 | catLists: "Listes",
14 | catColour: "Couleur",
15 | catVariables: "Variables",
16 | catFunctions: "Fonctions",
17 | listVariable: "liste",
18 | textVariable: "texte",
19 | httpRequestError: "Il y a eu un problème avec la demande.",
20 | linkAlert: "Partagez vos blocs grâce à ce lien:\n\n%1",
21 | hashError: "Désolé, '%1' ne correspond à aucun programme sauvegardé.",
22 | xmlError: "Impossible de charger le fichier de sauvegarde. Peut être a t-il été créé avec une autre version de Blockly?",
23 | badXml: "Erreur d’analyse du XML :\n%1\n\nSélectionner 'OK' pour abandonner vos modifications ou 'Annuler' pour continuer à modifier le XML."
24 | };
25 |
--------------------------------------------------------------------------------
/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import config from '@iobroker/eslint-config';
2 |
3 | export default [
4 | ...config,
5 | {
6 | languageOptions: {
7 | parserOptions: {
8 | projectService: {
9 | allowDefaultProject: ['*.mjs'],
10 | },
11 | tsconfigRootDir: import.meta.dirname,
12 | project: './tsconfig.json',
13 | },
14 | },
15 | },
16 | {
17 | ignores: [
18 | 'src-admin/**/*',
19 | 'src-editor/**/*',
20 | 'install/**/*',
21 | 'admin/**/*',
22 | 'admin-config/**/*',
23 | 'detection/*',
24 | 'lib/**/*',
25 | 'node_modules/**/*',
26 | 'test/**/*',
27 | 'build/**/*',
28 | 'tasks.js',
29 | ],
30 | },
31 | {
32 | // disable temporary the rule 'jsdoc/require-param' and enable 'jsdoc/require-jsdoc'
33 | rules: {
34 | 'jsdoc/require-jsdoc': 'off',
35 | 'jsdoc/require-param': 'off',
36 |
37 | '@typescript-eslint/no-require-imports': 'off',
38 | },
39 | },
40 | ];
41 |
--------------------------------------------------------------------------------
/src-editor/src/Components/RulesEditor/components/CustomInput/style.module.scss:
--------------------------------------------------------------------------------
1 | .root {
2 | background: var(--backgroundColorHumburger);
3 | border-radius: 5px;
4 | margin-top: 0 !important;
5 | margin-bottom: 0 !important;
6 | * {
7 | color: var(--colorInput) !important;
8 | }
9 | [class*='MuiInputLabel-shrink'] {
10 | color: var(--colorBlock) !important;
11 | }
12 | [class*='MuiInput-underline'] {
13 | :after {
14 | border-bottom-color: var(--lineColor) !important;
15 | }
16 | }
17 | &:hover {
18 | [class*='MuiOutlinedInput-notchedOutline'] {
19 | border-color: var(--lineColor) !important;
20 | }
21 | }
22 | [class*='MuiOutlinedInput-notchedOutline'] {
23 | border-color: var(--lineColor) !important;
24 | &:hover {
25 | border-color: var(--lineColor) !important;
26 | }
27 | [class*='Mui-focused'] {
28 | border-color: var(--lineColor) !important;
29 | }
30 | [class*='Mui-disabled'] {
31 | border-color: var(--lineColor) !important;
32 | }
33 | }
34 | }
35 |
36 | .icon {
37 | }
38 |
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/own/blocks_number.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // --- Round Number to n decimal places -------------------------------
4 |
5 | Blockly.Blocks['math_rndfixed'] = {
6 | init: function () {
7 | this.appendValueInput('x')
8 | .setCheck('Number')
9 | .appendField(Blockly.Translate('math_rndfixed_round'));
10 |
11 | this.appendDummyInput()
12 | .appendField(Blockly.Translate('math_rndfixed_to'))
13 | .appendField(new Blockly.FieldNumber(0, 1, 25), 'n')
14 | .appendField(Blockly.Translate('math_rndfixed_decplcs'));
15 |
16 | this.setInputsInline(true);
17 | this.setOutput(true, 'Number');
18 |
19 | this.setColour(Blockly.Msg['MATH_HUE']);
20 |
21 | this.setTooltip(Blockly.Translate('math_rndfixed_tooltip'));
22 | },
23 | };
24 |
25 | Blockly.JavaScript.forBlock['math_rndfixed'] = function (block) {
26 | const vX = Blockly.JavaScript.valueToCode(block, 'x', Blockly.JavaScript.ORDER_ATOMIC);
27 | const fExp = Math.pow(10, block.getFieldValue('n'));
28 |
29 | return [`Math.round(${vX} * ${fExp}) / ${fExp}`, Blockly.JavaScript.ORDER_ATOMIC];
30 | };
31 |
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/own/msg/ru.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Код",
3 | blocks: "Блоки",
4 | linkTooltip: "Сохранить и показать ссылку на блоки.",
5 | runTooltip: "Запустить программу, заданную блоками в рабочей области.",
6 | badCode: "Ошибка программы:\n%1",
7 | timeout: "Превышено максимальное количество итераций.",
8 | trashTooltip: "Удалить все блоки.",
9 | catLogic: "Логические",
10 | catLoops: "Циклы",
11 | catMath: "Математика",
12 | catText: "Текст",
13 | catLists: "Списки",
14 | catColour: "Цвет",
15 | catVariables: "Переменные",
16 | catFunctions: "Функции",
17 | listVariable: "список",
18 | textVariable: "текст",
19 | httpRequestError: "Произошла проблема при запросе.",
20 | linkAlert: "Поделитесь своими блоками по этой ссылке:\n\n%1",
21 | hashError: "К сожалению, «%1» не соответствует ни одному сохраненному файлу Блокли.",
22 | xmlError: "Не удалось загрузить ваш сохраненный файл. Возможно, он был создан в другой версии Блокли?",
23 | badXml: "Ошибка синтаксического анализа XML:\n%1\n\nВыберите 'ОК', чтобы отказаться от изменений или 'Cancel' для дальнейшего редактирования XML."
24 | };
25 |
--------------------------------------------------------------------------------
/src-editor/src/Components/RulesEditor/components/CustomTime/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | import { TextField } from '@mui/material';
4 |
5 | import { Utils } from '@iobroker/adapter-react-v5';
6 |
7 | import cls from './style.module.scss';
8 |
9 | interface CustomTimeProps {
10 | value: string;
11 | style?: React.CSSProperties;
12 | onChange: (value: string) => void;
13 | className?: string;
14 | }
15 |
16 | const CustomTime = ({ value, style, onChange, className }: CustomTimeProps): React.JSX.Element => {
17 | return (
18 | onChange(e.currentTarget.value)}
23 | value={value}
24 | className={Utils.clsx(cls.root, className)}
25 | fullWidth
26 | style={style}
27 | slotProps={{
28 | htmlInput: {
29 | step: 300, // 5 min
30 | },
31 | inputLabel: {
32 | shrink: true,
33 | },
34 | }}
35 | />
36 | );
37 | };
38 |
39 | export default CustomTime;
40 |
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/own/msg/fr.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Code",
3 | blocks: "Blocs",
4 | linkTooltip: "Sauvegarder et lier aux blocs.",
5 | runTooltip: "Lancer le programme défini par les blocs dans l’espace de travail.",
6 | badCode: "Erreur du programme :\n%1",
7 | timeout: "Nombre maximum d’itérations d’exécution dépassé.",
8 | trashTooltip: "Jeter tous les blocs.",
9 | catLogic: "Logique",
10 | catLoops: "Boucles",
11 | catMath: "Math",
12 | catText: "Texte",
13 | catLists: "Listes",
14 | catColour: "Couleur",
15 | catVariables: "Variables",
16 | catFunctions: "Fonctions",
17 | listVariable: "liste",
18 | textVariable: "texte",
19 | httpRequestError: "Il y a eu un problème avec la demande.",
20 | linkAlert: "Partagez vos blocs grâce à ce lien:\n\n%1",
21 | hashError: "Désolé, '%1' ne correspond à aucun programme sauvegardé.",
22 | xmlError: "Impossible de charger le fichier de sauvegarde. Peut être a t-il été créé avec une autre version de Blockly?",
23 | badXml: "Erreur d’analyse du XML :\n%1\n\nSélectionner 'OK' pour abandonner vos modifications ou 'Annuler' pour continuer à modifier le XML."
24 | };
25 |
--------------------------------------------------------------------------------
/admin/google-blockly/own/msg/it.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Codice",
3 | blocks: "Blocchi",
4 | linkTooltip: "Salva e collega ai blocchi.",
5 | runTooltip: "Esegui il programma definito dai blocchi nell'area di lavoro.",
6 | badCode: "Errore programma:\n%1",
7 | timeout: "È stato superato il numero massimo consentito di interazioni eseguite.",
8 | trashTooltip: "Elimina tutti i blocchi.",
9 | catLogic: "Logica",
10 | catLoops: "Cicli",
11 | catMath: "Matematica",
12 | catText: "Testo",
13 | catLists: "Elenchi",
14 | catColour: "Colore",
15 | catVariables: "Variabili",
16 | catFunctions: "Funzioni",
17 | listVariable: "elenco",
18 | textVariable: "testo",
19 | httpRequestError: "La richiesta non è stata soddisfatta.",
20 | linkAlert: "Condividi i tuoi blocchi con questo collegamento:\n\n%1",
21 | hashError: "Mi spiace, '%1' non corrisponde ad alcun programma salvato.",
22 | xmlError: "Non è stato possibile caricare il documento. Forse è stato creato con una versione diversa di Blockly?",
23 | badXml: "Errore durante l'analisi XML:\n%1\n\nSeleziona 'OK' per abbandonare le modifiche o 'Annulla' per continuare a modificare l'XML."
24 | };
25 |
--------------------------------------------------------------------------------
/src-editor/src/Components/RulesEditor/components/CardMenu/style.module.scss:
--------------------------------------------------------------------------------
1 | .switchesItem {
2 | max-width: 200px;
3 | width: auto;
4 | display: flex;
5 | margin: 5px 0;
6 | padding: 12px 0;
7 | align-items: center;
8 | border: 1px solid rgba(255, 255, 255, 0);
9 | transition: all 0.7s;
10 | color: var(--colorInput);
11 | span {
12 | overflow: hidden;
13 | text-overflow: ellipsis;
14 | width: 100%;
15 | margin-left: 15px;
16 | color: var(--lineColorActive);
17 | white-space: nowrap;
18 | }
19 | &:hover {
20 | border: 1px solid var(--lineColor);
21 | color: var(--lineColorHover);
22 | border-radius: 6px;
23 | background: var(--backgroundColor);
24 | cursor: pointer;
25 | }
26 | }
27 | .switchesItemActive {
28 | border: 1px solid var(--lineColor);
29 | color: var(--lineColorHover);
30 | border-radius: 6px;
31 | background: var(--backgroundColor);
32 | cursor: pointer;
33 | }
34 | .iconTheme {
35 | width: 30px !important;
36 | height: 30px !important;
37 | margin-left: 5px;
38 | * {
39 | color: var(--lineColorActive) !important;
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014-2025 bluefox ,
4 |
5 | Copyright (c) 2014 hobbyquaker
6 |
7 | Permission is hereby granted, free of charge, to any person obtaining a copy
8 | of this software and associated documentation files (the "Software"), to deal
9 | in the Software without restriction, including without limitation the rights
10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | copies of the Software, and to permit persons to whom the Software is
12 | furnished to do so, subject to the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be included in
15 | all copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23 | THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/own/msg/it.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Codice",
3 | blocks: "Blocchi",
4 | linkTooltip: "Salva e collega ai blocchi.",
5 | runTooltip: "Esegui il programma definito dai blocchi nell'area di lavoro.",
6 | badCode: "Errore programma:\n%1",
7 | timeout: "È stato superato il numero massimo consentito di interazioni eseguite.",
8 | trashTooltip: "Elimina tutti i blocchi.",
9 | catLogic: "Logica",
10 | catLoops: "Cicli",
11 | catMath: "Matematica",
12 | catText: "Testo",
13 | catLists: "Elenchi",
14 | catColour: "Colore",
15 | catVariables: "Variabili",
16 | catFunctions: "Funzioni",
17 | listVariable: "elenco",
18 | textVariable: "testo",
19 | httpRequestError: "La richiesta non è stata soddisfatta.",
20 | linkAlert: "Condividi i tuoi blocchi con questo collegamento:\n\n%1",
21 | hashError: "Mi spiace, '%1' non corrisponde ad alcun programma salvato.",
22 | xmlError: "Non è stato possibile caricare il documento. Forse è stato creato con una versione diversa di Blockly?",
23 | badXml: "Errore durante l'analisi XML:\n%1\n\nSeleziona 'OK' per abbandonare le modifiche o 'Annulla' per continuare a modificare l'XML."
24 | };
25 |
--------------------------------------------------------------------------------
/admin/google-blockly/own/msg/nl.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Code",
3 | blocks: "Blokken",
4 | linkTooltip: "Opslaan en koppelen naar blokken.",
5 | runTooltip: "Voer het programma uit dat met de blokken in de werkruimte is gemaakt.",
6 | badCode: "Programmafout:\n%1",
7 | timeout: "Het maximale aantal iteraties is overschreden.",
8 | trashTooltip: "Alle blokken verwijderen",
9 | catLogic: "Logica",
10 | catLoops: "Lussen",
11 | catMath: "Formules",
12 | catText: "Tekst",
13 | catLists: "Lijsten",
14 | catColour: "Kleur",
15 | catVariables: "Variabelen",
16 | catFunctions: "Functies",
17 | listVariable: "lijst",
18 | textVariable: "tekst",
19 | httpRequestError: "Er is een probleem opgetreden tijdens het verwerken van het verzoek.",
20 | linkAlert: "Deel uw blokken via deze koppeling:\n\n%1",
21 | hashError: "\"%1\" komt helaas niet overeen met een opgeslagen bestand.",
22 | xmlError: "Uw opgeslagen bestand kan niet geladen worden. Is het misschien gemaakt met een andere versie van Blockly?",
23 | badXml: "Fout tijdens het verwerken van de XML:\n%1\n\nSelecteer \"OK\" om uw wijzigingen te negeren of \"Annuleren\" om de XML verder te bewerken."
24 | };
25 |
--------------------------------------------------------------------------------
/admin/custom/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "Use system settings": "Use system settings",
3 | "Latitude °": "Latitude °",
4 | "Longitude °": "Longitude °",
5 | "Help": "Use form with 49.1245 and not 49°34'0\". Elsewise it will be converted automatically.",
6 | "Day time settings": "Day time settings",
7 | "Time event": "Time event",
8 | "none": "none",
9 | "sch_astro_nightEnd": "Night end",
10 | "sch_astro_nauticalDawn": "Nautical dawn",
11 | "sch_astro_dawn": "Dawn",
12 | "sch_astro_sunrise": "Sunrise",
13 | "sch_astro_sunriseEnd": "Sunrise end",
14 | "sch_astro_goldenHourEnd": "Golden hour end",
15 | "Used as start of the daytime": "Used as start of the daytime",
16 | "Used as end of the daytime": "Used as end of the daytime",
17 | "Offset": "Offset",
18 | "in minutes": "in minutes",
19 | "But not earlier": "But not earlier",
20 | "And not later": "And not later",
21 | "sch_astro_goldenHour": "Golden hour",
22 | "sch_astro_sunsetStart": "Sunset start",
23 | "sch_astro_sunset": "Sunset",
24 | "sch_astro_dusk": "Dusk",
25 | "sch_astro_nauticalDusk": "Nautical dusk",
26 | "sch_astro_night": "Night",
27 | "Next sunrise": "Next sunrise",
28 | "Next sunset": "Next sunset",
29 | "Local time": "Local time"
30 | }
--------------------------------------------------------------------------------
/src-editor/src/assets/blockly.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/admin/google-blockly/own/msg/de.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Code",
3 | blocks: "Bausteine",
4 | linkTooltip: "Speichern und auf Bausteine verlinken.",
5 | runTooltip: "Das Programm ausführen, das von den Bausteinen im Arbeitsbereich definiert ist.",
6 | badCode: "Programmfehler:\n%1",
7 | timeout: "Die maximalen Ausführungswiederholungen wurden überschritten.",
8 | trashTooltip: "Alle Bausteine verwerfen.",
9 | catLogic: "Logik",
10 | catLoops: "Schleifen",
11 | catMath: "Mathematik",
12 | catText: "Text",
13 | catLists: "Listen",
14 | catColour: "Farbe",
15 | catVariables: "Variablen",
16 | catFunctions: "Funktionen",
17 | listVariable: "Liste",
18 | textVariable: "Text",
19 | httpRequestError: "Mit der Anfrage gab es ein Problem.",
20 | linkAlert: "Teile deine Bausteine mit diesem Link:\n\n%1",
21 | hashError: "„%1“ stimmt leider mit keinem gespeicherten Programm überein.",
22 | xmlError: "Deine gespeicherte Datei konnte nicht geladen werden. Vielleicht wurde sie mit einer anderen Version von Blockly erstellt.",
23 | badXml: "Fehler beim Parsen von XML:\n%1\n\nWähle 'OK' zum Verwerfen deiner Änderungen oder 'Abbrechen' zum weiteren Bearbeiten des XML."
24 | };
25 |
--------------------------------------------------------------------------------
/src-admin/src/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "Use system settings": "Use system settings",
3 | "Latitude °": "Latitude °",
4 | "Longitude °": "Longitude °",
5 | "Help": "Use form with 49.1245 and not 49°34'0\". Elsewise it will be converted automatically.",
6 | "Day time settings": "Day time settings",
7 | "Time event": "Time event",
8 | "none": "none",
9 | "sch_astro_nightEnd": "Night end",
10 | "sch_astro_nauticalDawn": "Nautical dawn",
11 | "sch_astro_dawn": "Dawn",
12 | "sch_astro_sunrise": "Sunrise",
13 | "sch_astro_sunriseEnd": "Sunrise end",
14 | "sch_astro_goldenHourEnd": "Golden hour end",
15 | "Used as start of the daytime": "Used as start of the daytime",
16 | "Used as end of the daytime": "Used as end of the daytime",
17 | "Offset": "Offset",
18 | "in minutes": "in minutes",
19 | "But not earlier": "But not earlier",
20 | "And not later": "And not later",
21 | "sch_astro_goldenHour": "Golden hour",
22 | "sch_astro_sunsetStart": "Sunset start",
23 | "sch_astro_sunset": "Sunset",
24 | "sch_astro_dusk": "Dusk",
25 | "sch_astro_nauticalDusk": "Nautical dusk",
26 | "sch_astro_night": "Night",
27 | "Next sunrise": "Next sunrise",
28 | "Next sunset": "Next sunset",
29 | "Local time": "Local time"
30 | }
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/own/msg/nl.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Code",
3 | blocks: "Blokken",
4 | linkTooltip: "Opslaan en koppelen naar blokken.",
5 | runTooltip: "Voer het programma uit dat met de blokken in de werkruimte is gemaakt.",
6 | badCode: "Programmafout:\n%1",
7 | timeout: "Het maximale aantal iteraties is overschreden.",
8 | trashTooltip: "Alle blokken verwijderen",
9 | catLogic: "Logica",
10 | catLoops: "Lussen",
11 | catMath: "Formules",
12 | catText: "Tekst",
13 | catLists: "Lijsten",
14 | catColour: "Kleur",
15 | catVariables: "Variabelen",
16 | catFunctions: "Functies",
17 | listVariable: "lijst",
18 | textVariable: "tekst",
19 | httpRequestError: "Er is een probleem opgetreden tijdens het verwerken van het verzoek.",
20 | linkAlert: "Deel uw blokken via deze koppeling:\n\n%1",
21 | hashError: "\"%1\" komt helaas niet overeen met een opgeslagen bestand.",
22 | xmlError: "Uw opgeslagen bestand kan niet geladen worden. Is het misschien gemaakt met een andere versie van Blockly?",
23 | badXml: "Fout tijdens het verwerken van de XML:\n%1\n\nSelecteer \"OK\" om uw wijzigingen te negeren of \"Annuleren\" om de XML verder te bewerken."
24 | };
25 |
--------------------------------------------------------------------------------
/src-editor/public/google-blockly/own/msg/de.js:
--------------------------------------------------------------------------------
1 | var MSG = {
2 | title: "Code",
3 | blocks: "Bausteine",
4 | linkTooltip: "Speichern und auf Bausteine verlinken.",
5 | runTooltip: "Das Programm ausführen, das von den Bausteinen im Arbeitsbereich definiert ist.",
6 | badCode: "Programmfehler:\n%1",
7 | timeout: "Die maximalen Ausführungswiederholungen wurden überschritten.",
8 | trashTooltip: "Alle Bausteine verwerfen.",
9 | catLogic: "Logik",
10 | catLoops: "Schleifen",
11 | catMath: "Mathematik",
12 | catText: "Text",
13 | catLists: "Listen",
14 | catColour: "Farbe",
15 | catVariables: "Variablen",
16 | catFunctions: "Funktionen",
17 | listVariable: "Liste",
18 | textVariable: "Text",
19 | httpRequestError: "Mit der Anfrage gab es ein Problem.",
20 | linkAlert: "Teile deine Bausteine mit diesem Link:\n\n%1",
21 | hashError: "„%1“ stimmt leider mit keinem gespeicherten Programm überein.",
22 | xmlError: "Deine gespeicherte Datei konnte nicht geladen werden. Vielleicht wurde sie mit einer anderen Version von Blockly erstellt.",
23 | badXml: "Fehler beim Parsen von XML:\n%1\n\nWähle 'OK' zum Verwerfen deiner Änderungen oder 'Abbrechen' zum weiteren Bearbeiten des XML."
24 | };
25 |
--------------------------------------------------------------------------------
/admin/custom/assets/index-BkjEWGjf.js:
--------------------------------------------------------------------------------
1 | import"./ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-jdUmHa_i.js";import{j as s}from"./jsx-runtime-C1csJtRx.js";import{R as d}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__-BNbscXK6.js";import{C as f}from"./ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__-N2_tx_mJ.js";import"./_commonjsHelpers-CE1G-McA.js";(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const e of document.querySelectorAll('link[rel="modulepreload"]'))i(e);new MutationObserver(e=>{for(const t of e)if(t.type==="childList")for(const o of t.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function a(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin==="use-credentials"?t.credentials="include":e.crossOrigin==="anonymous"?t.credentials="omit":t.credentials="same-origin",t}function i(e){if(e.ep)return;e.ep=!0;const t=a(e);fetch(e.href,t)}})();var c,n=f;c=n.createRoot,n.hydrateRoot;window.adapterName="adapter-component-template";const l=document.getElementById("root"),m=c(l);m.render(s.jsx(d.StrictMode,{children:s.jsx("div",{})}));
2 |
--------------------------------------------------------------------------------
/src-editor/src/Components/blockly-plugins/field-colour/src/index.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Copyright 2023 Google LLC
4 | * SPDX-License-Identifier: Apache-2.0
5 | */
6 |
7 | import * as colourPicker from './blocks/colourPicker';
8 | import * as colourRandom from './blocks/colourRandom';
9 | import * as colourRgb from './blocks/colourRgb';
10 | import * as colourBlend from './blocks/colourBlend';
11 | import type { Generators } from './blocks/generatorsType';
12 |
13 | export * from './field_colour';
14 |
15 | // Re-export all parts of the definition.
16 | export * as colourPicker from './blocks/colourPicker';
17 | export * as colourRandom from './blocks/colourRandom';
18 | export * as colourRgb from './blocks/colourRgb';
19 | export * as colourBlend from './blocks/colourBlend';
20 |
21 | /**
22 | * Install all the blocks defined in this file and all of their
23 | * dependencies.
24 | *
25 | * @param generators The CodeGenerators to install per-block
26 | * generators on.
27 | */
28 | export function installAllBlocks(generators: Generators = {}): void {
29 | colourPicker.installBlock(generators);
30 | colourRgb.installBlock(generators);
31 | colourRandom.installBlock(generators);
32 | colourBlend.installBlock(generators);
33 | }
34 |
--------------------------------------------------------------------------------
/.github/workflows/codeql.yml:
--------------------------------------------------------------------------------
1 | name: 'CodeQL'
2 |
3 | on:
4 | push:
5 | branches: ['master']
6 | pull_request:
7 | branches: ['master']
8 | schedule:
9 | - cron: '45 19 * * 3'
10 |
11 | jobs:
12 | analyze:
13 | name: Analyze
14 | runs-on: ubuntu-latest
15 | permissions:
16 | actions: read
17 | contents: read
18 | security-events: write
19 |
20 | strategy:
21 | fail-fast: false
22 | matrix:
23 | language: [javascript]
24 |
25 | steps:
26 | - name: Checkout
27 | uses: actions/checkout@v6
28 |
29 | - name: Initialize CodeQL
30 | uses: github/codeql-action/init@v4
31 | with:
32 | config-file: ./.github/codeql/codeql-config.yml
33 | languages: ${{ matrix.language }}
34 | queries: +security-and-quality
35 |
36 | - name: Autobuild
37 | uses: github/codeql-action/autobuild@v4
38 |
39 | - name: Perform CodeQL Analysis
40 | uses: github/codeql-action/analyze@v4
41 | with:
42 | category: '/language:${{ matrix.language }}'
43 |
--------------------------------------------------------------------------------
/admin/assets/preload-helper-BDBacUwf.js:
--------------------------------------------------------------------------------
1 | const y="modulepreload",w=function(u,c){return new URL(u,c).href},v={},P=function(c,a,f){let d=Promise.resolve();if(a&&a.length>0){let E=function(t){return Promise.all(t.map(o=>Promise.resolve(o).then(s=>({status:"fulfilled",value:s}),s=>({status:"rejected",reason:s}))))};const r=document.getElementsByTagName("link"),e=document.querySelector("meta[property=csp-nonce]"),m=(e==null?void 0:e.nonce)||(e==null?void 0:e.getAttribute("nonce"));d=E(a.map(t=>{if(t=w(t,f),t in v)return;v[t]=!0;const o=t.endsWith(".css"),s=o?'[rel="stylesheet"]':"";if(f)for(let l=r.length-1;l>=0;l--){const i=r[l];if(i.href===t&&(!o||i.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${t}"]${s}`))return;const n=document.createElement("link");if(n.rel=o?"stylesheet":y,o||(n.as="script"),n.crossOrigin="",n.href=t,m&&n.setAttribute("nonce",m),document.head.appendChild(n),o)return new Promise((l,i)=>{n.addEventListener("load",l),n.addEventListener("error",()=>i(new Error(`Unable to preload CSS for ${t}`)))})}))}function h(r){const e=new Event("vite:preloadError",{cancelable:!0});if(e.payload=r,window.dispatchEvent(e),!e.defaultPrevented)throw r}return d.then(r=>{for(const e of r||[])e.status==="rejected"&&h(e.reason);return c().catch(h)})};export{P as _};
2 |
--------------------------------------------------------------------------------
/admin/custom/assets/preload-helper-BDBacUwf.js:
--------------------------------------------------------------------------------
1 | const y="modulepreload",w=function(u,c){return new URL(u,c).href},v={},P=function(c,a,f){let d=Promise.resolve();if(a&&a.length>0){let E=function(t){return Promise.all(t.map(o=>Promise.resolve(o).then(s=>({status:"fulfilled",value:s}),s=>({status:"rejected",reason:s}))))};const r=document.getElementsByTagName("link"),e=document.querySelector("meta[property=csp-nonce]"),m=(e==null?void 0:e.nonce)||(e==null?void 0:e.getAttribute("nonce"));d=E(a.map(t=>{if(t=w(t,f),t in v)return;v[t]=!0;const o=t.endsWith(".css"),s=o?'[rel="stylesheet"]':"";if(f)for(let l=r.length-1;l>=0;l--){const i=r[l];if(i.href===t&&(!o||i.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${t}"]${s}`))return;const n=document.createElement("link");if(n.rel=o?"stylesheet":y,o||(n.as="script"),n.crossOrigin="",n.href=t,m&&n.setAttribute("nonce",m),document.head.appendChild(n),o)return new Promise((l,i)=>{n.addEventListener("load",l),n.addEventListener("error",()=>i(new Error(`Unable to preload CSS for ${t}`)))})}))}function h(r){const e=new Event("vite:preloadError",{cancelable:!0});if(e.payload=r,window.dispatchEvent(e),!e.defaultPrevented)throw r}return d.then(r=>{for(const e of r||[])e.status==="rejected"&&h(e.reason);return c().catch(h)})};export{P as _};
2 |
--------------------------------------------------------------------------------
/src-editor/src/assets/js.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src-editor/src/assets/typescript.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------