├── 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 | ioBroker.javascript 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 | ioBroker.javascript 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 | 2 | 3 | 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 | ioBroker.javascript 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 | 2 | 3 | 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 | dropdown-arrow -------------------------------------------------------------------------------- /src-editor/public/google-blockly/media/dropdown-arrow.svg: -------------------------------------------------------------------------------- 1 | dropdown-arrow -------------------------------------------------------------------------------- /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 | 2 | 4 | 6 | -------------------------------------------------------------------------------- /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 | 2 | 3 | 4 | 6 | 7 | 9 | 11 | 12 | --------------------------------------------------------------------------------