{
    "title": "WB-MR3_template_title",
    "device_type": "WB-MR3",
    "group": "g-wb",
    "hw": [
        {
            "signature": "WBMR3"
        },
        {
            "signature": "MRWL3"
        }
    ],
    "device": {
        "name": "WB-MR3",
        "id": "wb-mr3",
        "max_read_registers": 0,
        "response_timeout_ms": 1,
        "frame_timeout_ms": 8,
        "enable_wb_continuous_read": true,

        "groups": [
            {
                "title": "Input 0",
                "id": "g_in0"
            },
            {
                "title": "Actions for outputs when the input is closed / opened",
                "id": "gg_in0_mapping_matrix_actions",
                "group": "g_in0"
            },
            {
                "title": "Press Parameters",
                "id": "gg_in0_press_params",
                "group": "g_in0"
            },
            {
                "title": "Curtain 1 Actions",
                "id": "gg_in0_curtain1_button_actions",
                "group": "g_in0"
            },
            {
                "title": "Output 1 Actions",
                "id": "gg_in0_out1_button_actions",
                "group": "g_in0"
            },
            {
                "title": "Output 2 Actions",
                "id": "gg_in0_out2_button_actions",
                "group": "g_in0"
            },
            {
                "title": "Output 3 Actions",
                "id": "gg_in0_out3_button_actions",
                "group": "g_in0"
            },
            {
                "title": "input0_channels",
                "id": "gg_in0_channels",
                "group": "g_in0",
                "ui_options": {
                    "wb": {
                        "disable_title": true
                    }
                }
            },
            {
                "title": "Input 1",
                "id": "g_in1"
            },
            {
                "title": "Actions for outputs when the input is closed / opened",
                "id": "gg_in1_mapping_matrix_actions",
                "group": "g_in1"
            },
            {
                "title": "Press Parameters",
                "id": "gg_in1_press_params",
                "group": "g_in1"
            },
            {
                "title": "Curtain 1 Actions",
                "id": "gg_in1_curtain1_button_actions",
                "group": "g_in1"
            },
            {
                "title": "Output 1 Actions",
                "id": "gg_in1_out1_button_actions",
                "group": "g_in1"
            },
            {
                "title": "Output 2 Actions",
                "id": "gg_in1_out2_button_actions",
                "group": "g_in1"
            },
            {
                "title": "Output 3 Actions",
                "id": "gg_in1_out3_button_actions",
                "group": "g_in1"
            },
            {
                "title": "input1_channels",
                "id": "gg_in1_channels",
                "group": "g_in1",
                "ui_options": {
                    "wb": {
                        "disable_title": true
                    }
                }
            },
            {
                "title": "Input 2",
                "id": "g_in2"
            },
            {
                "title": "Actions for outputs when the input is closed / opened",
                "id": "gg_in2_mapping_matrix_actions",
                "group": "g_in2"
            },
            {
                "title": "Press Parameters",
                "id": "gg_in2_press_params",
                "group": "g_in2"
            },
            {
                "title": "Curtain 1 Actions",
                "id": "gg_in2_curtain1_button_actions",
                "group": "g_in2"
            },
            {
                "title": "Output 1 Actions",
                "id": "gg_in2_out1_button_actions",
                "group": "g_in2"
            },
            {
                "title": "Output 2 Actions",
                "id": "gg_in2_out2_button_actions",
                "group": "g_in2"
            },
            {
                "title": "Output 3 Actions",
                "id": "gg_in2_out3_button_actions",
                "group": "g_in2"
            },
            {
                "title": "input2_channels",
                "id": "gg_in2_channels",
                "group": "g_in2",
                "ui_options": {
                    "wb": {
                        "disable_title": true
                    }
                }
            },
            {
                "title": "Input 3",
                "id": "g_in3"
            },
            {
                "title": "Actions for outputs when the input is closed / opened",
                "id": "gg_in3_mapping_matrix_actions",
                "group": "g_in3"
            },
            {
                "title": "Press Parameters",
                "id": "gg_in3_press_params",
                "group": "g_in3"
            },
            {
                "title": "Curtain 1 Actions",
                "id": "gg_in3_curtain1_button_actions",
                "group": "g_in3"
            },
            {
                "title": "Output 1 Actions",
                "id": "gg_in3_out1_button_actions",
                "group": "g_in3"
            },
            {
                "title": "Output 2 Actions",
                "id": "gg_in3_out2_button_actions",
                "group": "g_in3"
            },
            {
                "title": "Output 3 Actions",
                "id": "gg_in3_out3_button_actions",
                "group": "g_in3"
            },
            {
                "title": "input3_channels",
                "id": "gg_in3_channels",
                "group": "g_in3",
                "ui_options": {
                    "wb": {
                        "disable_title": true
                    }
                }
            },
            {
                "title": "Outputs",
                "id": "g_outputs"
            },
            {
                "title": "Output Safe State",
                "id": "gg_outputs_safe_state",
                "group": "g_outputs"
            },
            {
                "title": "Outputs group",
                "id": "gg_outputs_channels",
                "group": "g_outputs",
                "ui_options": {
                    "wb": {
                        "disable_title": true
                    }
                }
            },
            {
                "title": "Safety Mode",
                "id": "g_safety"
            },
            {
                "title": "Protective Functions",
                "id": "g_delays"
            },
            {
                "title": "Startup Delay (s)",
                "id": "gg_startup_delay_params",
                "description": "startup_delay_description",
                "group": "g_delays"
            },
            {
                "title": "Restart Delay (s)",
                "id": "gg_restart_delay_params",
                "description": "restart_delay_description",
                "group": "g_delays"
            },
            {
                "title": "Timers",
                "id": "g_timer_relay"
            },
            {
                "title": "Output 1",
                "id": "gg_timer_1",
                "group": "g_timer_relay"
            },
            {
                "title": "Output 2",
                "id": "gg_timer_2",
                "group": "g_timer_relay"
            },
            {
                "title": "Output 3",
                "id": "gg_timer_3",
                "group": "g_timer_relay"
            },
            {
                "title": "Timer Channels",
                "id": "gg_timer_channels",
                "group": "g_timer_relay",
                "ui_options": {
                    "wb": {
                        "disable_title": true
                    }
                }
            },
            {
                "title": "Safety Behaviour",
                "id": "gg_safety_behaviour",
                "group": "g_safety"
            },
            {
                "title": "Inputs Control In Safety Mode",
                "id": "gg_safety_input_control",
                "description": "inputs_control_in_safety_mode_description",
                "group": "g_safety"
            },
            {
                "title": "Curtains Control",
                "description": "curtains_control_description",
                "id": "g_curtains_control"
            },
            {
                "title": "Curtain 1",
                "id": "gg_curtain_1",
                "group": "g_curtains_control"
            },
            {
                "title": "Curtains Channels",
                "id": "gg_curtains_channels",
                "group": "g_curtains_control",
                "ui_options": {
                    "wb": {
                        "disable_title": true
                    }
                }
            },
            {
                "title": "General",
                "id": "g_general"
            },
            {
                "title": "HW Info",
                "id": "g_hw_info"
            }
        ],

        "setup": [
            {
                "title": "disable legacy input mode control",
                "address": 5,
                "reg_type": "holding",
                "value": 0
            }
        ],

        "parameters": {
            "in0_mode": {
                "title": "Mode",
                "address": 16,
                "reg_type": "holding",
                "enum": [2, 3, 4, 6],
                "default": 2,
                "enum_titles": [
                    "Turn off all outputs",
                    "Control disabled / Frequency measurement",
                    "Operate according to mapping-matrix",
                    "Operate according to button mapping-matrix"
                ],
                "group": "g_in0",
                "order": 1
            },
            "in0_debounce_ms": {
                "title": "debounce_time_title",
                "description": "debounce_time_description",
                "address": 27,
                "reg_type": "holding",
                "min": 0,
                "max": 2000,
                "default": 50,
                "group": "g_in0",
                "order": 2
            },
            "in0_lp_hold_time": {
                "group": "gg_in0_press_params",
                "title": "lp_hold_time_title",
                "description": "lp_hold_time_description",
                "order": 1,
                "address": 1107,
                "reg_type": "holding",
                "default": 1000,
                "min": 500,
                "max": 5000,
                "condition": "in0_mode==6"
            },
            "in0_secp_waiting_time": {
                "group": "gg_in0_press_params",
                "title": "secp_waiting_time_title",
                "description": "secp_waiting_time_description",
                "order": 2,
                "address": 1147,
                "reg_type": "holding",
                "default": 300,
                "min": 0,
                "max": 2000,
                "condition": "in0_mode==6"
            },
            "in0_out1_actions": {
                "group": "gg_in0_mapping_matrix_actions",
                "title": "Output 1",
                "order": 1,
                "address": 440,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
                "enum_titles": [
                    "no action / no action",
                    "no action / reset",
                    "no action / set",
                    "no action / toggle",

                    "reset / no action",
                    "reset / reset",
                    "reset / set",
                    "reset / toggle",

                    "set / no action",
                    "set / reset",
                    "set / set",
                    "set / toggle",

                    "toggle / no action",
                    "toggle / reset",
                    "toggle / set",
                    "toggle / toggle"
                ],
                "condition": "in0_mode==4&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in0_out1_sp": {
                "group": "gg_in0_out1_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 600,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in0_out1_lp": {
                "group": "gg_in0_out1_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 664,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in0_out1_dp": {
                "group": "gg_in0_out1_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 728,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in0_out1_slp": {
                "group": "gg_in0_out1_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 792,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in0_out2_actions": {
                "group": "gg_in0_mapping_matrix_actions",
                "title": "Output 2",
                "order": 2,
                "address": 441,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
                "enum_titles": [
                    "no action / no action",
                    "no action / reset",
                    "no action / set",
                    "no action / toggle",

                    "reset / no action",
                    "reset / reset",
                    "reset / set",
                    "reset / toggle",

                    "set / no action",
                    "set / reset",
                    "set / set",
                    "set / toggle",

                    "toggle / no action",
                    "toggle / reset",
                    "toggle / set",
                    "toggle / toggle"
                ],
                "condition": "in0_mode==4&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in0_out2_sp": {
                "group": "gg_in0_out2_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 601,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in0_out2_lp": {
                "group": "gg_in0_out2_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 665,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in0_out2_dp": {
                "group": "gg_in0_out2_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 729,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in0_out2_slp": {
                "group": "gg_in0_out2_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 793,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in0_out3_actions": {
                "group": "gg_in0_mapping_matrix_actions",
                "title": "Output 3",
                "order": 3,
                "address": 442,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
                "enum_titles": [
                    "no action / no action",
                    "no action / reset",
                    "no action / set",
                    "no action / toggle",

                    "reset / no action",
                    "reset / reset",
                    "reset / set",
                    "reset / toggle",

                    "set / no action",
                    "set / reset",
                    "set / set",
                    "set / toggle",

                    "toggle / no action",
                    "toggle / reset",
                    "toggle / set",
                    "toggle / toggle"
                ],
                "condition": "in0_mode==4"
            },
            "in0_out3_sp": {
                "group": "gg_in0_out3_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 602,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6"
            },
            "in0_out3_lp": {
                "group": "gg_in0_out3_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 666,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6"
            },
            "in0_out3_dp": {
                "group": "gg_in0_out3_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 730,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6"
            },
            "in0_out3_slp": {
                "group": "gg_in0_out3_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 794,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6"
            },
            "in0_curtain1_sp": {
                "group": "gg_in0_curtain1_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1428,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in0_mode==6&&curtain1_mode==1"
            },
            "in0_curtain1_lp": {
                "group": "gg_in0_curtain1_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1460,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7],
                "enum_titles": ["no action", "open", "close", "open/close", "stop", "opening while pressed", "closing while pressed", "opening/closing while pressed"],
                "condition": "in0_mode==6&&curtain1_mode==1"
            },
            "in0_curtain1_dp": {
                "group": "gg_in0_curtain1_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1492,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in0_mode==6&&curtain1_mode==1"
            },
            "in0_curtain1_slp": {
                "group": "gg_in0_curtain1_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1524,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7],
                "enum_titles": ["no action", "open", "close", "open/close", "stop", "opening while pressed", "closing while pressed", "opening/closing while pressed"],
                "condition": "in0_mode==6&&curtain1_mode==1"
            },
            "in1_mode": {
                "title": "Mode",
                "address": 9,
                "reg_type": "holding",
                "enum": [0, 1, 2, 3, 4, 6],
                "default": 0,
                "enum_titles": [
                    "Push button",
                    "Latching switch",
                    "Turn off all outputs",
                    "Control disabled / Frequency measurement",
                    "Operate according to mapping-matrix",
                    "Operate according to button mapping-matrix"
                ],
                "group": "g_in1",
                "order": 1
            },
            "in1_debounce_ms": {
                "title": "debounce_time_title",
                "description": "debounce_time_description",
                "address": 20,
                "reg_type": "holding",
                "min": 0,
                "max": 2000,
                "default": 50,
                "group": "g_in1",
                "order": 2
            },
            "in1_lp_hold_time": {
                "group": "gg_in1_press_params",
                "title": "lp_hold_time_title",
                "description": "lp_hold_time_description",
                "order": 1,
                "address": 1100,
                "reg_type": "holding",
                "default": 1000,
                "min": 500,
                "max": 5000,
                "condition": "in1_mode==6"
            },
            "in1_secp_waiting_time": {
                "group": "gg_in1_press_params",
                "title": "secp_waiting_time_title",
                "description": "secp_waiting_time_description",
                "order": 2,
                "address": 1140,
                "reg_type": "holding",
                "default": 300,
                "min": 0,
                "max": 2000,
                "condition": "in1_mode==6"
            },
            "in1_out1_actions": {
                "group": "gg_in1_mapping_matrix_actions",
                "title": "Output 1",
                "order": 1,
                "address": 384,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
                "enum_titles": [
                    "no action / no action",
                    "no action / reset",
                    "no action / set",
                    "no action / toggle",

                    "reset / no action",
                    "reset / reset",
                    "reset / set",
                    "reset / toggle",

                    "set / no action",
                    "set / reset",
                    "set / set",
                    "set / toggle",

                    "toggle / no action",
                    "toggle / reset",
                    "toggle / set",
                    "toggle / toggle"
                ],
                "condition": "in1_mode==4&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in1_out1_sp": {
                "group": "gg_in1_out1_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 544,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in1_out1_lp": {
                "group": "gg_in1_out1_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 608,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in1_out1_dp": {
                "group": "gg_in1_out1_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 672,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in1_out1_slp": {
                "group": "gg_in1_out1_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 736,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in1_out2_actions": {
                "group": "gg_in1_mapping_matrix_actions",
                "title": "Output 2",
                "order": 2,
                "address": 385,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
                "enum_titles": [
                    "no action / no action",
                    "no action / reset",
                    "no action / set",
                    "no action / toggle",

                    "reset / no action",
                    "reset / reset",
                    "reset / set",
                    "reset / toggle",

                    "set / no action",
                    "set / reset",
                    "set / set",
                    "set / toggle",

                    "toggle / no action",
                    "toggle / reset",
                    "toggle / set",
                    "toggle / toggle"
                ],
                "condition": "in1_mode==4&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in1_out2_sp": {
                "group": "gg_in1_out2_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 545,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in1_out2_lp": {
                "group": "gg_in1_out2_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 609,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in1_out2_dp": {
                "group": "gg_in1_out2_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 673,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in1_out2_slp": {
                "group": "gg_in1_out2_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 737,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in1_out3_actions": {
                "group": "gg_in1_mapping_matrix_actions",
                "title": "Output 3",
                "order": 3,
                "address": 386,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
                "enum_titles": [
                    "no action / no action",
                    "no action / reset",
                    "no action / set",
                    "no action / toggle",

                    "reset / no action",
                    "reset / reset",
                    "reset / set",
                    "reset / toggle",

                    "set / no action",
                    "set / reset",
                    "set / set",
                    "set / toggle",

                    "toggle / no action",
                    "toggle / reset",
                    "toggle / set",
                    "toggle / toggle"
                ],
                "condition": "in1_mode==4"
            },
            "in1_out3_sp": {
                "group": "gg_in1_out3_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 546,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6"
            },
            "in1_out3_lp": {
                "group": "gg_in1_out3_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 610,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6"
            },
            "in1_out3_dp": {
                "group": "gg_in1_out3_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 674,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6"
            },
            "in1_out3_slp": {
                "group": "gg_in1_out3_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 738,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6"
            },
            "in1_curtain1_sp": {
                "group": "gg_in1_curtain1_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1400,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in1_mode==6&&curtain1_mode==1"
            },
            "in1_curtain1_lp": {
                "group": "gg_in1_curtain1_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1432,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7],
                "enum_titles": ["no action", "open", "close", "open/close", "stop", "opening while pressed", "closing while pressed", "opening/closing while pressed"],
                "condition": "in1_mode==6&&curtain1_mode==1"
            },
            "in1_curtain1_dp": {
                "group": "gg_in1_curtain1_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1464,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in1_mode==6&&curtain1_mode==1"
            },
            "in1_curtain1_slp": {
                "group": "gg_in1_curtain1_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1496,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7],
                "enum_titles": ["no action", "open", "close", "open/close", "stop", "opening while pressed", "closing while pressed", "opening/closing while pressed"],
                "condition": "in1_mode==6&&curtain1_mode==1"
            },
            "in2_mode": {
                "title": "Mode",
                "address": 10,
                "reg_type": "holding",
                "enum": [0, 1, 2, 3, 4, 6],
                "default": 0,
                "enum_titles": [
                    "Push button",
                    "Latching switch",
                    "Turn off all outputs",
                    "Control disabled / Frequency measurement",
                    "Operate according to mapping-matrix",
                    "Operate according to button mapping-matrix"
                ],
                "group": "g_in2",
                "order": 1
            },
            "in2_debounce_ms": {
                "title": "debounce_time_title",
                "description": "debounce_time_description",
                "address": 21,
                "reg_type": "holding",
                "min": 0,
                "max": 2000,
                "default": 50,
                "group": "g_in2",
                "order": 2
            },
            "in2_lp_hold_time": {
                "group": "gg_in2_press_params",
                "title": "lp_hold_time_title",
                "description": "lp_hold_time_description",
                "order": 1,
                "address": 1101,
                "reg_type": "holding",
                "default": 1000,
                "min": 500,
                "max": 5000,
                "condition": "in2_mode==6"
            },
            "in2_secp_waiting_time": {
                "group": "gg_in2_press_params",
                "title": "secp_waiting_time_title",
                "description": "secp_waiting_time_description",
                "order": 2,
                "address": 1141,
                "reg_type": "holding",
                "default": 300,
                "min": 0,
                "max": 2000,
                "condition": "in2_mode==6"
            },
            "in2_out1_actions": {
                "group": "gg_in2_mapping_matrix_actions",
                "title": "Output 1",
                "order": 1,
                "address": 392,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
                "enum_titles": [
                    "no action / no action",
                    "no action / reset",
                    "no action / set",
                    "no action / toggle",

                    "reset / no action",
                    "reset / reset",
                    "reset / set",
                    "reset / toggle",

                    "set / no action",
                    "set / reset",
                    "set / set",
                    "set / toggle",

                    "toggle / no action",
                    "toggle / reset",
                    "toggle / set",
                    "toggle / toggle"
                ],
                "condition": "in2_mode==4&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in2_out1_sp": {
                "group": "gg_in2_out1_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 552,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in2_out1_lp": {
                "group": "gg_in2_out1_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 616,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in2_out1_dp": {
                "group": "gg_in2_out1_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 680,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in2_out1_slp": {
                "group": "gg_in2_out1_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 744,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in2_out2_actions": {
                "group": "gg_in2_mapping_matrix_actions",
                "title": "Output 2",
                "order": 2,
                "address": 393,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
                "enum_titles": [
                    "no action / no action",
                    "no action / reset",
                    "no action / set",
                    "no action / toggle",

                    "reset / no action",
                    "reset / reset",
                    "reset / set",
                    "reset / toggle",

                    "set / no action",
                    "set / reset",
                    "set / set",
                    "set / toggle",

                    "toggle / no action",
                    "toggle / reset",
                    "toggle / set",
                    "toggle / toggle"
                ],
                "condition": "in2_mode==4&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in2_out2_sp": {
                "group": "gg_in2_out2_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 553,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in2_out2_lp": {
                "group": "gg_in2_out2_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 617,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in2_out2_dp": {
                "group": "gg_in2_out2_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 681,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in2_out2_slp": {
                "group": "gg_in2_out2_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 745,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in2_out3_actions": {
                "group": "gg_in2_mapping_matrix_actions",
                "title": "Output 3",
                "order": 3,
                "address": 394,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
                "enum_titles": [
                    "no action / no action",
                    "no action / reset",
                    "no action / set",
                    "no action / toggle",

                    "reset / no action",
                    "reset / reset",
                    "reset / set",
                    "reset / toggle",

                    "set / no action",
                    "set / reset",
                    "set / set",
                    "set / toggle",

                    "toggle / no action",
                    "toggle / reset",
                    "toggle / set",
                    "toggle / toggle"
                ],
                "condition": "in2_mode==4"
            },
            "in2_out3_sp": {
                "group": "gg_in2_out3_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 554,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6"
            },
            "in2_out3_lp": {
                "group": "gg_in2_out3_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 618,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6"
            },
            "in2_out3_dp": {
                "group": "gg_in2_out3_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 682,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6"
            },
            "in2_out3_slp": {
                "group": "gg_in2_out3_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 746,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6"
            },
            "in2_curtain1_sp": {
                "group": "gg_in2_curtain1_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1404,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in2_mode==6&&curtain1_mode==1"
            },
            "in2_curtain1_lp": {
                "group": "gg_in2_curtain1_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1436,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7],
                "enum_titles": ["no action", "open", "close", "open/close", "stop", "opening while pressed", "closing while pressed", "opening/closing while pressed"],
                "condition": "in2_mode==6&&curtain1_mode==1"
            },
            "in2_curtain1_dp": {
                "group": "gg_in2_curtain1_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1468,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in2_mode==6&&curtain1_mode==1"
            },
            "in2_curtain1_slp": {
                "group": "gg_in2_curtain1_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1500,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7],
                "enum_titles": ["no action", "open", "close", "open/close", "stop", "opening while pressed", "closing while pressed", "opening/closing while pressed"],
                "condition": "in2_mode==6&&curtain1_mode==1"
            },
            "in3_mode": {
                "title": "Mode",
                "address": 11,
                "reg_type": "holding",
                "enum": [0, 1, 2, 3, 4, 6],
                "default": 0,
                "enum_titles": [
                    "Push button",
                    "Latching switch",
                    "Turn off all outputs",
                    "Control disabled / Frequency measurement",
                    "Operate according to mapping-matrix",
                    "Operate according to button mapping-matrix"
                ],
                "group": "g_in3",
                "order": 1
            },
            "in3_debounce_ms": {
                "title": "debounce_time_title",
                "description": "debounce_time_description",
                "address": 22,
                "reg_type": "holding",
                "min": 0,
                "max": 2000,
                "default": 50,
                "group": "g_in3",
                "order": 2
            },
            "in3_lp_hold_time": {
                "group": "gg_in3_press_params",
                "title": "lp_hold_time_title",
                "description": "lp_hold_time_description",
                "order": 1,
                "address": 1102,
                "reg_type": "holding",
                "default": 1000,
                "min": 500,
                "max": 5000,
                "condition": "in3_mode==6"
            },
            "in3_secp_waiting_time": {
                "group": "gg_in3_press_params",
                "title": "secp_waiting_time_title",
                "description": "secp_waiting_time_description",
                "order": 2,
                "address": 1142,
                "reg_type": "holding",
                "default": 300,
                "min": 0,
                "max": 2000,
                "condition": "in3_mode==6"
            },
            "in3_out1_actions": {
                "group": "gg_in3_mapping_matrix_actions",
                "title": "Output 1",
                "order": 1,
                "address": 400,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
                "enum_titles": [
                    "no action / no action",
                    "no action / reset",
                    "no action / set",
                    "no action / toggle",

                    "reset / no action",
                    "reset / reset",
                    "reset / set",
                    "reset / toggle",

                    "set / no action",
                    "set / reset",
                    "set / set",
                    "set / toggle",

                    "toggle / no action",
                    "toggle / reset",
                    "toggle / set",
                    "toggle / toggle"
                ],
                "condition": "in3_mode==4&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in3_out1_sp": {
                "group": "gg_in3_out1_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 560,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in3_out1_lp": {
                "group": "gg_in3_out1_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 624,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in3_out1_dp": {
                "group": "gg_in3_out1_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 688,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in3_out1_slp": {
                "group": "gg_in3_out1_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 752,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in3_out2_actions": {
                "group": "gg_in3_mapping_matrix_actions",
                "title": "Output 2",
                "order": 2,
                "address": 401,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
                "enum_titles": [
                    "no action / no action",
                    "no action / reset",
                    "no action / set",
                    "no action / toggle",

                    "reset / no action",
                    "reset / reset",
                    "reset / set",
                    "reset / toggle",

                    "set / no action",
                    "set / reset",
                    "set / set",
                    "set / toggle",

                    "toggle / no action",
                    "toggle / reset",
                    "toggle / set",
                    "toggle / toggle"
                ],
                "condition": "in3_mode==4&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in3_out2_sp": {
                "group": "gg_in3_out2_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 561,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in3_out2_lp": {
                "group": "gg_in3_out2_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 625,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in3_out2_dp": {
                "group": "gg_in3_out2_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 689,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in3_out2_slp": {
                "group": "gg_in3_out2_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 753,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in3_out3_actions": {
                "group": "gg_in3_mapping_matrix_actions",
                "title": "Output 3",
                "order": 3,
                "address": 402,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
                "enum_titles": [
                    "no action / no action",
                    "no action / reset",
                    "no action / set",
                    "no action / toggle",

                    "reset / no action",
                    "reset / reset",
                    "reset / set",
                    "reset / toggle",

                    "set / no action",
                    "set / reset",
                    "set / set",
                    "set / toggle",

                    "toggle / no action",
                    "toggle / reset",
                    "toggle / set",
                    "toggle / toggle"
                ],
                "condition": "in3_mode==4"
            },
            "in3_out3_sp": {
                "group": "gg_in3_out3_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 562,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6"
            },
            "in3_out3_lp": {
                "group": "gg_in3_out3_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 626,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6"
            },
            "in3_out3_dp": {
                "group": "gg_in3_out3_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 690,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6"
            },
            "in3_out3_slp": {
                "group": "gg_in3_out3_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 754,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6"
            },
            "in3_curtain1_sp": {
                "group": "gg_in3_curtain1_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1408,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in3_mode==6&&curtain1_mode==1"
            },
            "in3_curtain1_lp": {
                "group": "gg_in3_curtain1_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1440,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7],
                "enum_titles": ["no action", "open", "close", "open/close", "stop", "opening while pressed", "closing while pressed", "opening/closing while pressed"],
                "condition": "in3_mode==6&&curtain1_mode==1"
            },
            "in3_curtain1_dp": {
                "group": "gg_in3_curtain1_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1472,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in3_mode==6&&curtain1_mode==1"
            },
            "in3_curtain1_slp": {
                "group": "gg_in3_curtain1_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1504,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5, 6, 7],
                "enum_titles": ["no action", "open", "close", "open/close", "stop", "opening while pressed", "closing while pressed", "opening/closing while pressed"],
                "condition": "in3_mode==6&&curtain1_mode==1"
            },
            "out1_safe_state": {
                "title": "Output 1",
                "group": "gg_outputs_safe_state",
                "order": 1,
                "address": 930,
                "reg_type": "holding",
                "default": 0,
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0",
                "enum": [0, 1],
                "enum_titles": [
                    "Off",
                    "On"
                ]
            },
            "out1_safety_behaviour": {
                "title": "Output 1",
                "group": "gg_safety_behaviour",
                "order": 1,
                "address": 938,
                "reg_type": "holding",
                "default": 0,
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0",
                "enum": [0, 1],
                "enum_titles": [
                    "Don't change output state",
                    "Switch output to safety state"
                ]
            },
            "out1_safety_input_control": {
                "title": "Output 1",
                "group": "gg_safety_input_control",
                "order": 1,
                "address": 946,
                "reg_type": "holding",
                "default": 0,
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0",
                "enum": [0, 1, 2],
                "enum_titles": [
                    "Don't change",
                    "Disable in safety mode",
                    "Enable only in safety mode"
                ]
            },
            "out1_startup_delay_params": {
                "title": "Output 1",
                "group": "gg_startup_delay_params",
                "address": 1728,
                "reg_type": "holding",
                "scale": 0.1,
                "min": 0,
                "max": 999,
                "default": 0,
                "order": 1,
                "fw": "1.24.0",
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0"
            },
            "out1_restart_delay_params": {
                "title": "Output 1",
                "group": "gg_restart_delay_params",
                "address": 1736,
                "reg_type": "holding",
                "scale": 0.1,
                "min": 0,
                "max": 999,
                "default": 0,
                "order": 1,
                "fw": "1.24.0",
                "condition": "(isDefined(curtain1_mode)==0||curtain1_mode==0)&&(isDefined(out1_timer_mode_selection)==0||out1_timer_mode_selection==0)"
            },
            "out1_timer_mode_selection": {
                "title": "Function",
                "group": "gg_timer_1",
                "order": 1,
                "address": 1760,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5],
                "enum_titles": [
                    "Not Used",
                    "On Delay",
                    "Off Delay",
                    "On Pulse",
                    "Off Pulse",
                    "On/Off Cycle"
                ],
                "fw": "1.25.0",
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0"
            },
            "out1_on_delay_params": {
                "title": "Timeout (s)",
                "group": "gg_timer_1",
                "order": 2,
                "address": 1768,
                "reg_type": "holding",
                "scale": 0.1,
                "min": 0.1,
                "max": 6500,
                "default": 3,
                "fw": "1.25.0",
                "description": "on_delay_description",
                "condition": "(isDefined(curtain1_mode)==0||curtain1_mode==0)&&out1_timer_mode_selection==1"
            },
            "out1_off_delay_params": {
                "title": "Timeout (s)",
                "group": "gg_timer_1",
                "order": 2,
                "address": 1776,
                "reg_type": "holding",
                "scale": 0.1,
                "min": 0.1,
                "max": 6500,
                "default": 3,
                "fw": "1.25.0",
                "description": "off_delay_description",
                "condition": "(isDefined(curtain1_mode)==0||curtain1_mode==0)&&out1_timer_mode_selection==2"
            },
            "out1_on_pulse_params": {
                "title": "Time (s)",
                "group": "gg_timer_1",
                "order": 2,
                "address": 1784,
                "reg_type": "holding",
                "scale": 0.1,
                "min": 0.1,
                "max": 6500,
                "default": 3,
                "fw": "1.25.0",
                "description": "on_pulse_description",
                "condition": "(isDefined(curtain1_mode)==0||curtain1_mode==0)&&out1_timer_mode_selection==3"
            },
            "out1_off_pulse_params": {
                "title": "Time (s)",
                "group": "gg_timer_1",
                "order": 2,
                "address": 1792,
                "reg_type": "holding",
                "scale": 0.1,
                "min": 0.1,
                "max": 6500,
                "default": 3,
                "fw": "1.25.0",
                "description": "off_pulse_description",
                "condition": "(isDefined(curtain1_mode)==0||curtain1_mode==0)&&out1_timer_mode_selection==4"
            },
            "out1_cyclic_on_time_params": {
                "title": "On Time (s)",
                "group": "gg_timer_1",
                "order": 2,
                "address": 1800,
                "reg_type": "holding",
                "scale": 1,
                "min": 1,
                "max": 65000,
                "default": 3,
                "fw": "1.25.0",
                "description": "cyclic_on_time_description",
                "condition": "(isDefined(curtain1_mode)==0||curtain1_mode==0)&&out1_timer_mode_selection==5"
            },
            "out1_cyclic_off_time_params": {
                "title": "Off Time (s)",
                "group": "gg_timer_1",
                "order": 3,
                "address": 1808,
                "reg_type": "holding",
                "scale": 1,
                "min": 1,
                "max": 65000,
                "default": 3,
                "fw": "1.25.0",
                "description": "cyclic_off_time_description",
                "condition": "(isDefined(curtain1_mode)==0||curtain1_mode==0)&&out1_timer_mode_selection==5"
            },
            "out2_safe_state": {
                "title": "Output 2",
                "group": "gg_outputs_safe_state",
                "order": 2,
                "address": 931,
                "reg_type": "holding",
                "default": 0,
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0",
                "enum": [0, 1],
                "enum_titles": [
                    "Off",
                    "On"
                ]
            },
            "out2_safety_behaviour": {
                "title": "Output 2",
                "group": "gg_safety_behaviour",
                "order": 2,
                "address": 939,
                "reg_type": "holding",
                "default": 0,
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0",
                "enum": [0, 1],
                "enum_titles": [
                    "Don't change output state",
                    "Switch output to safety state"
                ]
            },
            "out2_safety_input_control": {
                "title": "Output 2",
                "group": "gg_safety_input_control",
                "order": 2,
                "address": 947,
                "reg_type": "holding",
                "default": 0,
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0",
                "enum": [0, 1, 2],
                "enum_titles": [
                    "Don't change",
                    "Disable in safety mode",
                    "Enable only in safety mode"
                ]
            },
            "out2_startup_delay_params": {
                "title": "Output 2",
                "group": "gg_startup_delay_params",
                "address": 1729,
                "reg_type": "holding",
                "scale": 0.1,
                "min": 0,
                "max": 999,
                "default": 0,
                "order": 2,
                "fw": "1.24.0",
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0"
            },
            "out2_restart_delay_params": {
                "title": "Output 2",
                "group": "gg_restart_delay_params",
                "address": 1737,
                "reg_type": "holding",
                "scale": 0.1,
                "min": 0,
                "max": 999,
                "default": 0,
                "order": 2,
                "fw": "1.24.0",
                "condition": "(isDefined(curtain1_mode)==0||curtain1_mode==0)&&(isDefined(out2_timer_mode_selection)==0||out2_timer_mode_selection==0)"
            },
            "out2_timer_mode_selection": {
                "title": "Function",
                "group": "gg_timer_2",
                "order": 2,
                "address": 1761,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5],
                "enum_titles": [
                    "Not Used",
                    "On Delay",
                    "Off Delay",
                    "On Pulse",
                    "Off Pulse",
                    "On/Off Cycle"
                ],
                "fw": "1.25.0",
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0"
            },
            "out2_on_delay_params": {
                "title": "Timeout (s)",
                "group": "gg_timer_2",
                "order": 3,
                "address": 1769,
                "reg_type": "holding",
                "scale": 0.1,
                "min": 0.1,
                "max": 6500,
                "default": 3,
                "fw": "1.25.0",
                "description": "on_delay_description",
                "condition": "(isDefined(curtain1_mode)==0||curtain1_mode==0)&&out2_timer_mode_selection==1"
            },
            "out2_off_delay_params": {
                "title": "Timeout (s)",
                "group": "gg_timer_2",
                "order": 3,
                "address": 1777,
                "reg_type": "holding",
                "scale": 0.1,
                "min": 0.1,
                "max": 6500,
                "default": 3,
                "fw": "1.25.0",
                "description": "off_delay_description",
                "condition": "(isDefined(curtain1_mode)==0||curtain1_mode==0)&&out2_timer_mode_selection==2"
            },
            "out2_on_pulse_params": {
                "title": "Time (s)",
                "group": "gg_timer_2",
                "order": 3,
                "address": 1785,
                "reg_type": "holding",
                "scale": 0.1,
                "min": 0.1,
                "max": 6500,
                "default": 3,
                "fw": "1.25.0",
                "description": "on_pulse_description",
                "condition": "(isDefined(curtain1_mode)==0||curtain1_mode==0)&&out2_timer_mode_selection==3"
            },
            "out2_off_pulse_params": {
                "title": "Time (s)",
                "group": "gg_timer_2",
                "order": 3,
                "address": 1793,
                "reg_type": "holding",
                "scale": 0.1,
                "min": 0.1,
                "max": 6500,
                "default": 3,
                "fw": "1.25.0",
                "description": "off_pulse_description",
                "condition": "(isDefined(curtain1_mode)==0||curtain1_mode==0)&&out2_timer_mode_selection==4"
            },
            "out2_cyclic_on_time_params": {
                "title": "On Time (s)",
                "group": "gg_timer_2",
                "order": 3,
                "address": 1801,
                "reg_type": "holding",
                "scale": 1,
                "min": 1,
                "max": 65000,
                "default": 3,
                "fw": "1.25.0",
                "description": "cyclic_on_time_description",
                "condition": "(isDefined(curtain1_mode)==0||curtain1_mode==0)&&out2_timer_mode_selection==5"
            },
            "out2_cyclic_off_time_params": {
                "title": "Off Time (s)",
                "group": "gg_timer_2",
                "order": 4,
                "address": 1809,
                "reg_type": "holding",
                "scale": 1,
                "min": 1,
                "max": 65000,
                "default": 3,
                "fw": "1.25.0",
                "description": "cyclic_off_time_description",
                "condition": "(isDefined(curtain1_mode)==0||curtain1_mode==0)&&out2_timer_mode_selection==5"
            },
            "out3_safe_state": {
                "title": "Output 3",
                "group": "gg_outputs_safe_state",
                "order": 3,
                "address": 932,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1],
                "enum_titles": [
                    "Off",
                    "On"
                ]
            },
            "out3_safety_behaviour": {
                "title": "Output 3",
                "group": "gg_safety_behaviour",
                "order": 3,
                "address": 940,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1],
                "enum_titles": [
                    "Don't change output state",
                    "Switch output to safety state"
                ]
            },
            "out3_safety_input_control": {
                "title": "Output 3",
                "group": "gg_safety_input_control",
                "order": 3,
                "address": 948,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2],
                "enum_titles": [
                    "Don't change",
                    "Disable in safety mode",
                    "Enable only in safety mode"
                ]
            },
            "out3_startup_delay_params": {
                "title": "Output 3",
                "group": "gg_startup_delay_params",
                "address": 1730,
                "reg_type": "holding",
                "scale": 0.1,
                "min": 0,
                "max": 999,
                "default": 0,
                "order": 3,
                "fw": "1.24.0",
                "condition": "isDefined(curtain2_mode)==0||curtain2_mode==0"
            },
            "out3_restart_delay_params": {
                "title": "Output 3",
                "group": "gg_restart_delay_params",
                "address": 1738,
                "reg_type": "holding",
                "scale": 0.1,
                "min": 0,
                "max": 999,
                "default": 0,
                "order": 3,
                "fw": "1.24.0",
                "condition": "(isDefined(curtain2_mode)==0||curtain2_mode==0)&&(isDefined(out3_timer_mode_selection)==0||out3_timer_mode_selection==0)"
            },
            "out3_timer_mode_selection": {
                "title": "Function",
                "group": "gg_timer_3",
                "order": 3,
                "address": 1762,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4, 5],
                "enum_titles": [
                    "Not Used",
                    "On Delay",
                    "Off Delay",
                    "On Pulse",
                    "Off Pulse",
                    "On/Off Cycle"
                ],
                "fw": "1.25.0",
                "condition": "isDefined(curtain2_mode)==0||curtain2_mode==0"
            },
            "out3_on_delay_params": {
                "title": "Timeout (s)",
                "group": "gg_timer_3",
                "order": 4,
                "address": 1770,
                "reg_type": "holding",
                "scale": 0.1,
                "min": 0.1,
                "max": 6500,
                "default": 3,
                "fw": "1.25.0",
                "description": "on_delay_description",
                "condition": "(isDefined(curtain2_mode)==0||curtain2_mode==0)&&out3_timer_mode_selection==1"
            },
            "out3_off_delay_params": {
                "title": "Timeout (s)",
                "group": "gg_timer_3",
                "order": 4,
                "address": 1778,
                "reg_type": "holding",
                "scale": 0.1,
                "min": 0.1,
                "max": 6500,
                "default": 3,
                "fw": "1.25.0",
                "description": "off_delay_description",
                "condition": "(isDefined(curtain2_mode)==0||curtain2_mode==0)&&out3_timer_mode_selection==2"
            },
            "out3_on_pulse_params": {
                "title": "Time (s)",
                "group": "gg_timer_3",
                "order": 4,
                "address": 1786,
                "reg_type": "holding",
                "scale": 0.1,
                "min": 0.1,
                "max": 6500,
                "default": 3,
                "fw": "1.25.0",
                "description": "on_pulse_description",
                "condition": "(isDefined(curtain2_mode)==0||curtain2_mode==0)&&out3_timer_mode_selection==3"
            },
            "out3_off_pulse_params": {
                "title": "Time (s)",
                "group": "gg_timer_3",
                "order": 4,
                "address": 1794,
                "reg_type": "holding",
                "scale": 0.1,
                "min": 0.1,
                "max": 6500,
                "default": 3,
                "fw": "1.25.0",
                "description": "off_pulse_description",
                "condition": "(isDefined(curtain2_mode)==0||curtain2_mode==0)&&out3_timer_mode_selection==4"
            },
            "out3_cyclic_on_time_params": {
                "title": "On Time (s)",
                "group": "gg_timer_3",
                "order": 4,
                "address": 1802,
                "reg_type": "holding",
                "scale": 1,
                "min": 1,
                "max": 65000,
                "default": 3,
                "fw": "1.25.0",
                "description": "cyclic_on_time_description",
                "condition": "(isDefined(curtain2_mode)==0||curtain2_mode==0)&&out3_timer_mode_selection==5"
            },
            "out3_cyclic_off_time_params": {
                "title": "Off Time (s)",
                "group": "gg_timer_3",
                "order": 5,
                "address": 1810,
                "reg_type": "holding",
                "scale": 1,
                "min": 1,
                "max": 65000,
                "default": 3,
                "fw": "1.25.0",
                "description": "cyclic_off_time_description",
                "condition": "(isDefined(curtain2_mode)==0||curtain2_mode==0)&&out3_timer_mode_selection==5"
            },
            "outputs_restore_state": {
                "title": "Outputs State After Power On",
                "description": "outputs_state_after_power_on_description",
                "address": 6,
                "reg_type": "holding",
                "enum": [0, 1, 2],
                "default": 0,
                "enum_titles": ["Safe state", "Restore last state", "According to inputs"],
                "order": 1,
                "group": "g_outputs"
            },
            "safety_timer_s": {
                "title": "Safety Poll Timeout (s)",
                "group": "g_safety",
                "description": "poll_timeout_description",
                "address": 8,
                "order": 2,
                "reg_type": "holding",
                "min": 1,
                "max": 65534,
                "default": 10
            },
            "curtain1_mode": {
                "title": "Use outputs 1 and 2 for curtain 1 control",
                "group": "gg_curtain_1",
                "address": 1280,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1],
                "enum_titles": [
                    "No, use outputs 1 and 2 as regular outputs",
                    "Use output 1 for open, output 2 for close"
                ],
                "order": 1
            },
            "curtain1_open_time": {
                "title": "Open time (s)",
                "description": "curtain_zero_time_description",
                "group": "gg_curtain_1",
                "address": 1328,
                "reg_type": "holding",
                "fw": "1.21.0",
                "scale": 0.1,
                "default": 10.0,
                "min": 0,
                "max": 600.0,
                "order": 2,
                "condition": "curtain1_mode==1"
            },
            "curtain1_close_time": {
                "title": "Close time (s)",
                "description": "curtain_zero_time_description",
                "group": "gg_curtain_1",
                "address": 1332,
                "reg_type": "holding",
                "fw": "1.21.0",
                "scale": 0.1,
                "default": 10.0,
                "min": 0,
                "max": 600.0,
                "order": 3,
                "condition": "curtain1_mode==1"
            },
            "curtain1_deadtime": {
                "title": "Dead time (ms)",
                "group": "gg_curtain_1",
                "address": 1336,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 500,
                "min": 50,
                "max": 10000,
                "order": 4,
                "condition": "curtain1_mode==1"
            },
            "curtain1_safety_action": {
                "title": "Action when safety mode is activated",
                "group": "gg_curtain_1",
                "address": 1288,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1, 2],
                "enum_titles": [
                    "no action",
                    "open",
                    "close"
                ],
                "order": 5,
                "condition": "curtain1_mode==1"
            },
            "curtain1_powerup_action": {
                "title": "Power up action",
                "group": "gg_curtain_1",
                "address": 1284,
                "reg_type": "holding",
                "fw": "1.21.0",
                "default": 0,
                "enum": [0, 1, 2],
                "enum_titles": [
                    "no action",
                    "open",
                    "close"
                ],
                "order": 6,
                "condition": "curtain1_mode==1"
            },
            "curtain1_safety_input_control": {
                "title": "Curtain 1",
                "group": "gg_safety_input_control",
                "order": 1,
                "address": 1292,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2],
                "enum_titles": [
                    "Don't change",
                    "Disable in safety mode",
                    "Enable only in safety mode"
                ],
                "condition": "curtain1_mode==1"
            },
            "baud_rate": {
                    "title": "Baud rate",
                    "description": "baud_rate_description",
                    "address": 110,
                    "reg_type": "holding",
                    "enum": [96, 192, 384, 576, 1152],
                    "default": 96,
                    "enum_titles": [
                        "9600",
                        "19200",
                        "38400",
                        "57600",
                        "115200"
                    ],
                    "group": "g_general",
                    "order": 1
            }
        },

        "channels": [
            {
                "name": "Input 0",
                "reg_type": "discrete",
                "address": 7,
                "type": "switch",
                "sporadic": false,
                "condition": "isDefined(in0_mode)==0||in0_mode==3",
                "group": "gg_in0_channels"
            },
            {
                "name": "Input 0 counter",
                "reg_type": "input",
                "address": 39,
                "type": "value",
                "sporadic": false,
                "condition": "isDefined(in0_mode)==0||in0_mode==3",
                "group": "gg_in0_channels"
            },
            {
                "name": "Input 0",
                "reg_type": "discrete",
                "address": 7,
                "type": "switch",
                "sporadic": true,
                "condition": "isDefined(in0_mode)&&in0_mode!=3",
                "group": "gg_in0_channels"
            },
            {
                "name": "Input 0 counter",
                "reg_type": "input",
                "address": 39,
                "type": "value",
                "sporadic": true,
                "condition": "isDefined(in0_mode)&&in0_mode!=3",
                "group": "gg_in0_channels"
            },
            {
                "name": "Input 0 freq",
                "reg_type": "input",
                "address": 54,
                "type": "value",
                "format": "u32",
                "scale": 1.52588e-5,
                "round_to": 0.001,
                "enabled": false,
                "group": "gg_in0_channels"
            },
            {
                "name": "Input 0 Single Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 471,
                "type": "value",
                "sporadic": true,
                "group": "gg_in0_channels",
                "condition": "in0_mode==6"
            },
            {
                "name": "Input 0 Long Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 487,
                "type": "value",
                "sporadic": true,
                "group": "gg_in0_channels",
                "condition": "in0_mode==6"
            },
            {
                "name": "Input 0 Double Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 503,
                "type": "value",
                "sporadic": true,
                "group": "gg_in0_channels",
                "condition": "in0_mode==6"
            },
            {
                "name": "Input 0 Shortlong Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 519,
                "type": "value",
                "sporadic": true,
                "group": "gg_in0_channels",
                "condition": "in0_mode==6"
            },
            {
                "name": "Input 1",
                "reg_type": "discrete",
                "address": 0,
                "type": "switch",
                "sporadic": false,
                "condition": "isDefined(in1_mode)==0||in1_mode==3",
                "group": "gg_in1_channels"
            },
            {
                "name": "Input 1 counter",
                "reg_type": "input",
                "address": 32,
                "type": "value",
                "sporadic": false,
                "condition": "isDefined(in1_mode)==0||in1_mode==3",
                "group": "gg_in1_channels"
            },
            {
                "name": "Input 1",
                "reg_type": "discrete",
                "address": 0,
                "type": "switch",
                "sporadic": true,
                "condition": "isDefined(in1_mode)&&in1_mode!=3",
                "group": "gg_in1_channels"
            },
            {
                "name": "Input 1 counter",
                "reg_type": "input",
                "address": 32,
                "type": "value",
                "sporadic": true,
                "condition": "isDefined(in1_mode)&&in1_mode!=3",
                "group": "gg_in1_channels"
            },
            {
                "name": "Input 1 freq",
                "reg_type": "input",
                "address": 40,
                "type": "value",
                "format": "u32",
                "scale": 1.52588e-5,
                "round_to": 0.001,
                "enabled": false,
                "group": "gg_in1_channels"
            },
            {
                "name": "Input 1 Single Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 464,
                "type": "value",
                "sporadic": true,
                "group": "gg_in1_channels",
                "condition": "in1_mode==6"
            },
            {
                "name": "Input 1 Long Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 480,
                "type": "value",
                "sporadic": true,
                "group": "gg_in1_channels",
                "condition": "in1_mode==6"
            },
            {
                "name": "Input 1 Double Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 496,
                "type": "value",
                "sporadic": true,
                "group": "gg_in1_channels",
                "condition": "in1_mode==6"
            },
            {
                "name": "Input 1 Shortlong Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 512,
                "type": "value",
                "sporadic": true,
                "group": "gg_in1_channels",
                "condition": "in1_mode==6"
            },
            {
                "name": "Input 2",
                "reg_type": "discrete",
                "address": 1,
                "type": "switch",
                "sporadic": false,
                "condition": "isDefined(in2_mode)==0||in2_mode==3",
                "group": "gg_in2_channels"
            },
            {
                "name": "Input 2 counter",
                "reg_type": "input",
                "address": 33,
                "type": "value",
                "sporadic": false,
                "condition": "isDefined(in2_mode)==0||in2_mode==3",
                "group": "gg_in2_channels"
            },
            {
                "name": "Input 2",
                "reg_type": "discrete",
                "address": 1,
                "type": "switch",
                "sporadic": true,
                "condition": "isDefined(in2_mode)&&in2_mode!=3",
                "group": "gg_in2_channels"
            },
            {
                "name": "Input 2 counter",
                "reg_type": "input",
                "address": 33,
                "type": "value",
                "sporadic": true,
                "condition": "isDefined(in2_mode)&&in2_mode!=3",
                "group": "gg_in2_channels"
            },
            {
                "name": "Input 2 freq",
                "reg_type": "input",
                "address": 42,
                "type": "value",
                "format": "u32",
                "scale": 1.52588e-5,
                "round_to": 0.001,
                "enabled": false,
                "group": "gg_in2_channels"
            },
            {
                "name": "Input 2 Single Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 465,
                "type": "value",
                "sporadic": true,
                "group": "gg_in2_channels",
                "condition": "in2_mode==6"
            },
            {
                "name": "Input 2 Long Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 481,
                "type": "value",
                "sporadic": true,
                "group": "gg_in2_channels",
                "condition": "in2_mode==6"
            },
            {
                "name": "Input 2 Double Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 497,
                "type": "value",
                "sporadic": true,
                "group": "gg_in2_channels",
                "condition": "in2_mode==6"
            },
            {
                "name": "Input 2 Shortlong Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 513,
                "type": "value",
                "sporadic": true,
                "group": "gg_in2_channels",
                "condition": "in2_mode==6"
            },
            {
                "name": "Input 3",
                "reg_type": "discrete",
                "address": 2,
                "type": "switch",
                "sporadic": false,
                "condition": "isDefined(in3_mode)==0||in3_mode==3",
                "group": "gg_in3_channels"
            },
            {
                "name": "Input 3 counter",
                "reg_type": "input",
                "address": 34,
                "type": "value",
                "sporadic": false,
                "condition": "isDefined(in3_mode)==0||in3_mode==3",
                "group": "gg_in3_channels"
            },
            {
                "name": "Input 3",
                "reg_type": "discrete",
                "address": 2,
                "type": "switch",
                "sporadic": true,
                "condition": "isDefined(in3_mode)&&in3_mode!=3",
                "group": "gg_in3_channels"
            },
            {
                "name": "Input 3 counter",
                "reg_type": "input",
                "address": 34,
                "type": "value",
                "sporadic": true,
                "condition": "isDefined(in3_mode)&&in3_mode!=3",
                "group": "gg_in3_channels"
            },
            {
                "name": "Input 3 freq",
                "reg_type": "input",
                "address": 44,
                "type": "value",
                "format": "u32",
                "scale": 1.52588e-5,
                "round_to": 0.001,
                "enabled": false,
                "group": "gg_in3_channels"
            },
            {
                "name": "Input 3 Single Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 466,
                "type": "value",
                "sporadic": true,
                "group": "gg_in3_channels",
                "condition": "in3_mode==6"
            },
            {
                "name": "Input 3 Long Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 482,
                "type": "value",
                "sporadic": true,
                "group": "gg_in3_channels",
                "condition": "in3_mode==6"
            },
            {
                "name": "Input 3 Double Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 498,
                "type": "value",
                "sporadic": true,
                "group": "gg_in3_channels",
                "condition": "in3_mode==6"
            },
            {
                "name": "Input 3 Shortlong Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 514,
                "type": "value",
                "sporadic": true,
                "group": "gg_in3_channels",
                "condition": "in3_mode==6"
            },
            {
                "name": "K1",
                "reg_type": "coil",
                "address": 0,
                "type": "switch",
                "sporadic": true,
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0",
                "group": "gg_outputs_channels"
            },
            {
                "name": "K1",
                "reg_type": "coil",
                "readonly": true,
                "address": 0,
                "type": "switch",
                "sporadic": true,
                "group": "gg_outputs_channels",
                "condition": "curtain1_mode==1"
            },
            {
                "name": "Real State K1",
                "reg_type": "discrete",
                "address": 96,
                "type": "switch",
                "sporadic": true,
                "fw": "1.24.0",
                "enabled": false,
                "group": "gg_outputs_channels",
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0"
            },
            {
                "name": "Off K1",
                "reg_type": "coil",
                "address": 100,
                "type": "pushbutton",
                "group": "gg_outputs_channels",
                "fw": "1.26.0",
                "enabled": false
            },
            {
                "name": "On K1",
                "reg_type": "coil",
                "address": 108,
                "type": "pushbutton",
                "group": "gg_outputs_channels",
                "fw": "1.26.0",
                "enabled": false
            },
            {
                "name": "Toggle K1",
                "reg_type": "coil",
                "address": 116,
                "type": "pushbutton",
                "group": "gg_outputs_channels",
                "fw": "1.26.0",
                "enabled": false
            },
            {
                "name": "Startup Delay Countdown K1",
                "reg_type": "input",
                "fw": "1.24.0",
                "address": 1744,
                "units": "s",
                "format": "u16",
                "scale": 0.1,
                "enabled": false,
                "group": "gg_startup_delay_params",
                "condition": "out1_startup_delay_params>0"
            },
            {
                "name": "Restart Delay Countdown K1",
                "reg_type": "input",
                "fw": "1.24.0",
                "address": 1752,
                "units": "s",
                "format": "u16",
                "scale": 0.1,
                "enabled": false,
                "group": "gg_restart_delay_params",
                "condition": "out1_restart_delay_params>0&&(isDefined(out1_timer_mode_selection)==0||out1_timer_mode_selection==0)"
            },
            {
                "name": "Timer K1",
                "reg_type": "input",
                "fw": "1.25.0",
                "address": 1864,
                "units": "s",
                "format": "u16",
                "scale": 0.1,
                "enabled": false,
                "group": "gg_timer_channels",
                "condition": "out1_timer_mode_selection==1||out1_timer_mode_selection==2||out1_timer_mode_selection==3||out1_timer_mode_selection==4"
            },
            {
                "name": "Timer K1",
                "reg_type": "input",
                "fw": "1.25.0",
                "address": 1864,
                "units": "s",
                "format": "u16",
                "scale": 1,
                "enabled": false,
                "group": "gg_timer_channels",
                "condition": "out1_timer_mode_selection==5"
            },
            {
                "name": "K2",
                "reg_type": "coil",
                "address": 1,
                "type": "switch",
                "sporadic": true,
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0",
                "group": "gg_outputs_channels"
            },
            {
                "name": "K2",
                "reg_type": "coil",
                "readonly": true,
                "address": 1,
                "type": "switch",
                "sporadic": true,
                "group": "gg_outputs_channels",
                "condition": "curtain1_mode==1"
            },
            {
                "name": "Real State K2",
                "reg_type": "discrete",
                "address": 97,
                "type": "switch",
                "sporadic": true,
                "fw": "1.24.0",
                "enabled": false,
                "group": "gg_outputs_channels",
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0"
            },
            {
                "name": "Off K2",
                "reg_type": "coil",
                "address": 101,
                "type": "pushbutton",
                "group": "gg_outputs_channels",
                "fw": "1.26.0",
                "enabled": false
            },
            {
                "name": "On K2",
                "reg_type": "coil",
                "address": 109,
                "type": "pushbutton",
                "group": "gg_outputs_channels",
                "fw": "1.26.0",
                "enabled": false
            },
            {
                "name": "Toggle K2",
                "reg_type": "coil",
                "address": 117,
                "type": "pushbutton",
                "group": "gg_outputs_channels",
                "fw": "1.26.0",
                "enabled": false
            },
            {
                "name": "Startup Delay Countdown K2",
                "reg_type": "input",
                "fw": "1.24.0",
                "address": 1745,
                "units": "s",
                "format": "u16",
                "scale": 0.1,
                "enabled": false,
                "group": "gg_startup_delay_params",
                "condition": "out2_startup_delay_params>0"
            },
            {
                "name": "Restart Delay Countdown K2",
                "reg_type": "input",
                "fw": "1.24.0",
                "address": 1753,
                "units": "s",
                "format": "u16",
                "scale": 0.1,
                "enabled": false,
                "group": "gg_restart_delay_params",
                "condition": "out2_restart_delay_params>0&&(isDefined(out2_timer_mode_selection)==0||out2_timer_mode_selection==0)"
            },
            {
                "name": "Timer K2",
                "reg_type": "input",
                "fw": "1.25.0",
                "address": 1865,
                "units": "s",
                "format": "u16",
                "scale": 0.1,
                "enabled": false,
                "group": "gg_timer_channels",
                "condition": "out2_timer_mode_selection==1||out2_timer_mode_selection==2||out2_timer_mode_selection==3||out2_timer_mode_selection==4"
            },
            {
                "name": "Timer K2",
                "reg_type": "input",
                "fw": "1.25.0",
                "address": 1865,
                "units": "s",
                "format": "u16",
                "scale": 1,
                "enabled": false,
                "group": "gg_timer_channels",
                "condition": "out2_timer_mode_selection==5"
            },
            {
                "name": "K3",
                "reg_type": "coil",
                "address": 2,
                "type": "switch",
                "sporadic": true,
                "group": "gg_outputs_channels"
            },
            {
                "name": "K3",
                "reg_type": "coil",
                "readonly": true,
                "address": 2,
                "type": "switch",
                "sporadic": true,
                "group": "gg_outputs_channels",
                "condition": "curtain2_mode==1"
            },
            {
                "name": "Real State K3",
                "reg_type": "discrete",
                "address": 98,
                "type": "switch",
                "sporadic": true,
                "fw": "1.24.0",
                "enabled": false,
                "group": "gg_outputs_channels",
                "condition": "isDefined(curtain2_mode)==0||curtain2_mode==0"
            },
            {
                "name": "Off K3",
                "reg_type": "coil",
                "address": 102,
                "type": "pushbutton",
                "group": "gg_outputs_channels",
                "fw": "1.26.0",
                "enabled": false
            },
            {
                "name": "On K3",
                "reg_type": "coil",
                "address": 110,
                "type": "pushbutton",
                "group": "gg_outputs_channels",
                "fw": "1.26.0",
                "enabled": false
            },
            {
                "name": "Toggle K3",
                "reg_type": "coil",
                "address": 118,
                "type": "pushbutton",
                "group": "gg_outputs_channels",
                "fw": "1.26.0",
                "enabled": false
            },
            {
                "name": "Startup Delay Countdown K3",
                "reg_type": "input",
                "fw": "1.24.0",
                "address": 1746,
                "units": "s",
                "format": "u16",
                "scale": 0.1,
                "enabled": false,
                "group": "gg_startup_delay_params",
                "condition": "out3_startup_delay_params>0"
            },
            {
                "name": "Restart Delay Countdown K3",
                "reg_type": "input",
                "fw": "1.24.0",
                "address": 1754,
                "units": "s",
                "format": "u16",
                "scale": 0.1,
                "enabled": false,
                "group": "gg_restart_delay_params",
                "condition": "out3_restart_delay_params>0&&(isDefined(out3_timer_mode_selection)==0||out3_timer_mode_selection==0)"
            },
            {
                "name": "Timer K3",
                "reg_type": "input",
                "fw": "1.25.0",
                "address": 1866,
                "units": "s",
                "format": "u16",
                "scale": 0.1,
                "enabled": false,
                "group": "gg_timer_channels",
                "condition": "out3_timer_mode_selection==1||out3_timer_mode_selection==2||out3_timer_mode_selection==3||out3_timer_mode_selection==4"
            },
            {
                "name": "Timer K3",
                "reg_type": "input",
                "fw": "1.25.0",
                "address": 1866,
                "units": "s",
                "format": "u16",
                "scale": 1,
                "enabled": false,
                "group": "gg_timer_channels",
                "condition": "out3_timer_mode_selection==5"
            },
            {
                "name": "Curtain 1 Open",
                "reg_type": "coil",
                "address": 16,
                "type": "switch",
                "fw": "1.21.0",
                "sporadic": true,
                "group": "gg_curtains_channels",
                "condition": "curtain1_mode==1"
            },
            {
                "name": "Curtain 1 Close",
                "reg_type": "coil",
                "address": 17,
                "type": "switch",
                "fw": "1.21.0",
                "sporadic": true,
                "group": "gg_curtains_channels",
                "condition": "curtain1_mode==1"
            },
            {
                "name": "Serial",
                "type": "text",
                "reg_type": "input",
                "address": 270,
                "format": "u32",
                "group": "g_hw_info"
            },
            {
                "name": "HW Batch Number",
                "type": "text",
                "reg_type": "input",
                "address": 304,
                "format": "string",
                "string_data_size": 16,
                "fw": "1.23.0",
                "enabled": false,
                "group": "g_hw_info"
            },
            {
                "name": "FW Version",
                "reg_type": "input",
                "address": 250,
                "type": "text",
                "format": "string",
                "string_data_size": 16,
                "enabled": false,
                "group": "g_hw_info"
            },
            {
                "name": "Supply Voltage",
                "reg_type": "input",
                "address": 121,
                "type": "voltage",
                "scale": 0.001,
                "enabled": false,
                "group": "g_hw_info"
            },
            {
                "name": "Uptime",
                "reg_type": "input",
                "address": 104,
                "type": "text",
                "format": "u32",
                "enabled": false,
                "group": "g_hw_info"
            },
            {
                "name": "Minimum Voltage Since Startup",
                "reg_type": "input",
                "address": 122,
                "scale": 0.001,
                "type": "voltage",
                "enabled": false,
                "group": "g_hw_info"
            },
            {
                "name": "MCU Temperature",
                "reg_type": "input",
                "address": 124,
                "type": "temperature",
                "format": "s16",
                "scale": 0.1,
                "enabled": false,
                "group": "g_hw_info"
            },
            {
                "name": "MCU Voltage",
                "reg_type": "input",
                "address": 123,
                "scale": 0.001,
                "type": "voltage",
                "enabled": false,
                "group": "g_hw_info"
            }
        ],

        "translations": {
            "en": {
                "WB-MR3_template_title": "WB-MR3LV/x, WB-MR3HV/x, WB-MRWL3  (3-channel relay)",
                "outputs_state_after_power_on_description": "Option \"According to inputs\" works for latching switch mode only",
                "baud_rate_description": "Make sure that communication with device is established before changing this parameter. Select required baud rate, save configuration and then change port baud rate to the same value.",
                "Uptime": "Uptime (s)",

                "poll_timeout_description": "Time in seconds without modbus polling before activation safety mode. Actions in safety mode are configured using appropriate parameters",
                "inputs_control_in_safety_mode_description": "Sets change of control from the inputs when module switches to safety mode",

                "sp_title": "Short Press",
                "lp_title": "Long Press",
                "dp_title": "Double Press",
                "slp_title": "Shortlong Press",

                "lp_hold_time_title": "Long Press Time (ms)",
                "secp_waiting_time_title": "Second Press Waiting Time (ms)",
                "debounce_time_title": "Debounce Time (ms)",

                "lp_hold_time_description": "If press is longer than the specified time then it is long",
                "secp_waiting_time_description": "If there is no second press during the specified time then press is single. 0 - disables all presses except short and long. Adds a delay to the response to a short press",
                "debounce_time_description": "For press detection must be 5-10 times less than second press waiting time. Adds a delay to the response to presses. Firmware up to 1.19.0 supports maximum 250 ms",

                "curtains_control_description": "For setup buttons actions select \"Operate according to button mapping-matrix\" mode and configure actions for buttons",
                "curtain_zero_time_description": "Starting from v1.24.0 you can choose 0 or 1-600 seconds. Zero means the output is on without timeout (until manually turned off), any values > 0 and < 1 will be ignored.",

                "K1": "Command K1",
                "Startup Delay Countdown K1": "Startup Delay K1",
                "Restart Delay Countdown K1": "Restart Delay K1",
                "K2": "Command K2",
                "Startup Delay Countdown K2": "Startup Delay K2",
                "Restart Delay Countdown K2": "Restart Delay K2",
                "K3": "Command K3",
                "Startup Delay Countdown K3": "Startup Delay K3",
                "Restart Delay Countdown K3": "Restart Delay K3",
                "Curtains Control": "Actuator Control",

                "Curtain 1": "Actuator 1",
                "Curtain 1 Open": "Actuator 1 Open",
                "Curtain 1 Close": "Actuator 1 Close",
                "Curtain 1 Actions": "Actuator 1 Actions",
                "Use outputs 1 and 2 for curtain 1 control": "Use outputs 1 and 2 for actuator 1 control",
                "Startup Delay (s)": "Startup Delay When Power On (s)",
                "Restart Delay (s)": "Restart Delay After Output Turn Off (s)",
                "startup_delay_description": "0...999 s",
                "restart_delay_description": "0...999 s",

                "on_delay_description": "0.1...6500",
                "off_delay_description": "0.1...6500",
                "on_pulse_description": "0.1...6500",
                "off_pulse_description": "0.1...6500",
                "cyclic_on_time_description": "1...65000",
                "cyclic_off_time_description": "1...65000"
            },
            "ru": {
                "WB-MR3_template_title": "WB-MR3LV/x, WB-MR3HV/x, WB-MRWL3  (3-канальный модуль реле)",

                "Input 0": "Вход 0",
                "Input 0 counter": "Счетчик 0",
                "Input 0 freq": "Частота 0",
                "Input 0 Single Press Counter": "Счетчик коротких нажатий входа 0",
                "Input 0 Long Press Counter": "Счетчик длинных нажатий входа 0",
                "Input 0 Double Press Counter": "Счетчик двойных нажатий входа 0",
                "Input 0 Shortlong Press Counter": "Счетчик коротких, а затем длинных нажатий входа 0",
                "Input 1": "Вход 1",
                "Input 1 counter": "Счетчик 1",
                "Input 1 freq": "Частота 1",
                "Input 1 Single Press Counter": "Счетчик коротких нажатий входа 1",
                "Input 1 Long Press Counter": "Счетчик длинных нажатий входа 1",
                "Input 1 Double Press Counter": "Счетчик двойных нажатий входа 1",
                "Input 1 Shortlong Press Counter": "Счетчик коротких, а затем длинных нажатий входа 1",
                "Input 2": "Вход 2",
                "Input 2 counter": "Счетчик 2",
                "Input 2 freq": "Частота 2",
                "Input 2 Single Press Counter": "Счетчик коротких нажатий входа 2",
                "Input 2 Long Press Counter": "Счетчик длинных нажатий входа 2",
                "Input 2 Double Press Counter": "Счетчик двойных нажатий входа 2",
                "Input 2 Shortlong Press Counter": "Счетчик коротких, а затем длинных нажатий входа 2",
                "Input 3": "Вход 3",
                "Input 3 counter": "Счетчик 3",
                "Input 3 freq": "Частота 3",
                "Input 3 Single Press Counter": "Счетчик коротких нажатий входа 3",
                "Input 3 Long Press Counter": "Счетчик длинных нажатий входа 3",
                "Input 3 Double Press Counter": "Счетчик двойных нажатий входа 3",
                "Input 3 Shortlong Press Counter": "Счетчик коротких, а затем длинных нажатий входа 3",
                "Outputs": "Выходы",
                "Safety Mode": "Безопасный режим",
                "Protective Functions": "Защитные функции",
                "Timers": "Таймеры",
                "General": "Общее",
                "HW Info": "Данные модуля",
                "Debug": "Диагностика",
                "Mode": "Режим работы",
                "Press Parameters": "Параметры нажатий",

                "Actions for outputs when the input is closed / opened": "Действия для выходов при замыкании / размыкании входа",

                "Output 1": "Выход 1",
                "Output 1 Actions": "Действия для выхода 1",

                "K1": "Команда K1",
                "Real State K1": "Фактическое состояние K1",
                "Off K1": "Отключить K1",
                "On K1": "Включить K1",
                "Toggle K1": "Переключить K1",

                "Startup Delay Countdown K1": "ЗВ при подаче питания K1",
                "Restart Delay Countdown K1": "ЗПВ K1",
                "Timer K1": "Таймер K1",
                "Output 2": "Выход 2",
                "Output 2 Actions": "Действия для выхода 2",

                "K2": "Команда K2",
                "Real State K2": "Фактическое состояние K2",
                "Off K2": "Отключить K2",
                "On K2": "Включить K2",
                "Toggle K2": "Переключить K2",

                "Startup Delay Countdown K2": "ЗВ при подаче питания K2",
                "Restart Delay Countdown K2": "ЗПВ K2",
                "Timer K2": "Таймер K2",
                "Output 3": "Выход 3",
                "Output 3 Actions": "Действия для выхода 3",

                "K3": "Команда K3",
                "Real State K3": "Фактическое состояние K3",
                "Off K3": "Отключить K3",
                "On K3": "Включить K3",
                "Toggle K3": "Переключить K3",

                "Startup Delay Countdown K3": "ЗВ при подаче питания K3",
                "Restart Delay Countdown K3": "ЗПВ K3",
                "Timer K3": "Таймер K3",
                "Output Safe State": "Безопасное состояние выходов",

                "no action": "нет действия",
                "reset": "выключить",
                "set": "включить",
                "toggle": "переключить",

                "no action / no action": "нет действия / нет действия",
                "no action / reset": "нет действия / выключить",
                "no action / set": "нет действия / включить",
                "no action / toggle": "нет действия / переключить",

                "reset / no action": "выключить / нет действия",
                "reset / reset": "выключить / выключить",
                "reset / set": "выключить / включить",
                "reset / toggle": "выключить / переключить",

                "set / no action": "включить / нет действия",
                "set / reset": "включить / выключить",
                "set / set": "включить / включить",
                "set / toggle": "включить / переключить",

                "toggle / no action": "переключить / нет действия",
                "toggle / reset": "переключить / выключить",
                "toggle / set": "переключить / включить",
                "toggle / toggle": "переключить / переключить",

                "Push button": "Кнопка без фиксации",
                "Latching switch": "Переключатель с фиксацией",
                "Turn off all outputs": "Отключить все выходы",
                "Control disabled / Frequency measurement": "Управление отключено, вход измеряет частоту",
                "Operate according to mapping-matrix": "Управлять по mapping-матрице",
                "Operate according to button mapping-matrix": "Управлять по mapping-матрице для кнопок",

                "Safety Poll Timeout (s)": "Таймаут потери связи (с)",
                "poll_timeout_description": "Время отсутствия опроса в секундах, после которого будет активирован безопасный режим. Действия в безопасном режиме настраиваются отдельно",
                "inputs_control_in_safety_mode_description": "Настройка изменения управления с входов при переходе модуля в безопасный режим",
                "Outputs State After Power On": "Состояния выходов при подаче питания",
                "Safe state": "Перевести выход в безопасное состояние",
                "Restore last state": "Восстановить последнее состояние",
                "According to inputs": "Установить согласно состоянию входов",

                "sp_title": "Короткое нажатие",
                "lp_title": "Длинное нажатие",
                "dp_title": "Двойное нажатие",
                "slp_title": "Короткое, затем длинное нажатие",

                "lp_hold_time_title": "Время длинного нажатия (мс)",
                "secp_waiting_time_title": "Время ожидания второго нажатия (мс)",
                "debounce_time_title": "Время подавления дребезга (мс)",

                "lp_hold_time_description": "Если нажатие длится больше указанного времени - считаем его длинным",
                "secp_waiting_time_description": "Если за указанное время второго нажатия не было - считаем нажатие одиночным. 0 - отключит все нажатия кроме короткого и длинного. Вносит задержку в реакцию на короткое нажатие",
                "debounce_time_description": "Для детектирования нажатий значение должно быть в 5-10 раз меньше, чем время ожидания второго нажатия. Вносит задержку в реакцию на нажатия. На прошивках до 1.19.0 максимально возможное время 250 мс",

                "Off": "Выключен",
                "On": "Включен",

                "Safety Behaviour": "Действие в безопасном режиме",
                "Don't change output state": "Ничего не делать",
                "Switch output to safety state": "Перевести выход в безопасное состояние",
                "Inputs Control In Safety Mode": "Управление с входов в безопасном режиме",
                "Don't change": "Не блокировать",
                "Disable in safety mode": "Блокировать в безопасном режиме",
                "Enable only in safety mode": "Разрешить только в безопасном режиме",

                "open": "открыть",
                "close": "закрыть",
                "open/close": "открыть/закрыть",
                "stop": "остановить",
                "opening while pressed": "открывать пока кнопка нажата",
                "closing while pressed": "закрывать пока кнопка нажата",
                "opening/closing while pressed": "открывать/закрывать пока кнопка нажата",

                "Curtains Control": "Управление приводом",
                "Open time (s)": "Время открытия (с)",
                "Close time (s)": "Время закрытия (с)",
                "Dead time (ms)": "Пауза при смене направления (мс)",
                "Action when safety mode is activated": "Действие при переходе в безопасный режим",
                "Power up action": "Действие при подаче питания",

                "Protective Functions": "Защитные функции",
                "Startup Delay (s)": "Задержка включения при подаче питания (с)",
                "Restart Delay (s)": "Задержка повторного включения выхода после его отключения (с)",
                "startup_delay_description": "0...999 с",
                "restart_delay_description": "0...999 с",

                "Function": "Функция",
                "Not Used": "Не используется",
                "On Delay": "Задержка включения",
                "Off Delay": "Задержка отключения",
                "On Pulse": "Включить на время",
                "Off Pulse": "Отключить на время",
                "On/Off Cycle": "Цикл On/Off",
                "On Time (s)": "Включено (с)",
                "Off Time (s)": "Отключено (с)",
                "Timeout (s)": "Таймаут (с)",
                "Time (s)": "Время (с)",

                "Curtain 1": "Привод 1",
                "Curtain 1 Open": "Открыть привод 1",
                "Curtain 1 Close": "Закрыть привод 1",
                "Curtain 1 Actions": "Действия для привода 1",
                "Use outputs 1 and 2 for curtain 1 control": "Использовать выходы 1 и 2 для управления приводом 1",
                "No, use outputs 1 and 2 as regular outputs": "Нет, использовать выходы 1 и 2 как обычные выходы",
                "Use output 1 for open, output 2 for close": "Да, использовать выход 1 для открытия, выход 2 для закрытия",
                "curtains_control_description": "Для настройки действий на нажатия выберите режим \"Управлять по mapping-матрице для кнопок\" на вкладке требуемого входа.",
                "curtain_zero_time_description": "Начиная с прошивки 1.24.0 можно выбрать 0 или 1-600 секунд. Ноль означает, что выход будет включен без таймаута (до выключения его вручную), а любые значения > 0 и < 1 будут проигнорированы.",

                "Baud rate": "Скорость обмена",
                "baud_rate_description": "Перед изменением параметра убедитесь, что связь с устройством установлена. Выберите нужную скорость обмена, сохраните конфигурацию, а затем укажите в настройках порта эту же скорость.",
                "outputs_state_after_power_on_description": "Вариант \"Установить согласно состоянию входов\" применим только для режима \"Переключатель с фиксацией\"",

                "Serial": "Серийный номер",
                "HW Batch Number": "Номер партии",
                "FW Version": "Версия прошивки",
                "Supply Voltage": "Напряжение питания",
                "Uptime": "Время работы с момента включения (с)",
                "Minimum Voltage Since Startup": "Минимальное напряжение с момента включения",
                "MCU Temperature": "Температура МК",
                "MCU Voltage": "Напряжение питания МК"
            }
        }
    }
}
