{
    "title": "WB-MR6C_A9",
    "device_type": "WB-MR6C_addr19",
    "group": "g-wb",

    "hw": [
        {
            "signature": "WBMR6C",
			"address": 19
        },
        {
            "signature": "WBMR6"
        }
    ],

    "device": {
        "name": "WB-MR6C_A9",
        "id": "wb-mr6c_A9",
        "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": "Curtain 2 Actions",
                "id": "gg_in0_curtain2_button_actions",
                "group": "g_in0"
            },
            {
                "title": "Curtain 3 Actions",
                "id": "gg_in0_curtain3_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": "Output 4 Actions",
                "id": "gg_in0_out4_button_actions",
                "group": "g_in0"
            },
            {
                "title": "Output 5 Actions",
                "id": "gg_in0_out5_button_actions",
                "group": "g_in0"
            },
            {
                "title": "Output 6 Actions",
                "id": "gg_in0_out6_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": "Curtain 2 Actions",
                "id": "gg_in1_curtain2_button_actions",
                "group": "g_in1"
            },
            {
                "title": "Curtain 3 Actions",
                "id": "gg_in1_curtain3_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": "Output 4 Actions",
                "id": "gg_in1_out4_button_actions",
                "group": "g_in1"
            },
            {
                "title": "Output 5 Actions",
                "id": "gg_in1_out5_button_actions",
                "group": "g_in1"
            },
            {
                "title": "Output 6 Actions",
                "id": "gg_in1_out6_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": "Curtain 2 Actions",
                "id": "gg_in2_curtain2_button_actions",
                "group": "g_in2"
            },
            {
                "title": "Curtain 3 Actions",
                "id": "gg_in2_curtain3_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": "Output 4 Actions",
                "id": "gg_in2_out4_button_actions",
                "group": "g_in2"
            },
            {
                "title": "Output 5 Actions",
                "id": "gg_in2_out5_button_actions",
                "group": "g_in2"
            },
            {
                "title": "Output 6 Actions",
                "id": "gg_in2_out6_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": "Curtain 2 Actions",
                "id": "gg_in3_curtain2_button_actions",
                "group": "g_in3"
            },
            {
                "title": "Curtain 3 Actions",
                "id": "gg_in3_curtain3_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": "Output 4 Actions",
                "id": "gg_in3_out4_button_actions",
                "group": "g_in3"
            },
            {
                "title": "Output 5 Actions",
                "id": "gg_in3_out5_button_actions",
                "group": "g_in3"
            },
            {
                "title": "Output 6 Actions",
                "id": "gg_in3_out6_button_actions",
                "group": "g_in3"
            },
            {
                "title": "input3_channels",
                "id": "gg_in3_channels",
                "group": "g_in3",
                "ui_options": {
                    "wb": {
                        "disable_title": true
                    }
                }
            },
            {
                "title": "Input 4",
                "id": "g_in4"
            },
            {
                "title": "Actions for outputs when the input is closed / opened",
                "id": "gg_in4_mapping_matrix_actions",
                "group": "g_in4"
            },
            {
                "title": "Press Parameters",
                "id": "gg_in4_press_params",
                "group": "g_in4"
            },
            {
                "title": "Curtain 1 Actions",
                "id": "gg_in4_curtain1_button_actions",
                "group": "g_in4"
            },
            {
                "title": "Curtain 2 Actions",
                "id": "gg_in4_curtain2_button_actions",
                "group": "g_in4"
            },
            {
                "title": "Curtain 3 Actions",
                "id": "gg_in4_curtain3_button_actions",
                "group": "g_in4"
            },
            {
                "title": "Output 1 Actions",
                "id": "gg_in4_out1_button_actions",
                "group": "g_in4"
            },
            {
                "title": "Output 2 Actions",
                "id": "gg_in4_out2_button_actions",
                "group": "g_in4"
            },
            {
                "title": "Output 3 Actions",
                "id": "gg_in4_out3_button_actions",
                "group": "g_in4"
            },
            {
                "title": "Output 4 Actions",
                "id": "gg_in4_out4_button_actions",
                "group": "g_in4"
            },
            {
                "title": "Output 5 Actions",
                "id": "gg_in4_out5_button_actions",
                "group": "g_in4"
            },
            {
                "title": "Output 6 Actions",
                "id": "gg_in4_out6_button_actions",
                "group": "g_in4"
            },
            {
                "title": "input4_channels",
                "id": "gg_in4_channels",
                "group": "g_in4",
                "ui_options": {
                    "wb": {
                        "disable_title": true
                    }
                }
            },
            {
                "title": "Input 5",
                "id": "g_in5"
            },
            {
                "title": "Actions for outputs when the input is closed / opened",
                "id": "gg_in5_mapping_matrix_actions",
                "group": "g_in5"
            },
            {
                "title": "Press Parameters",
                "id": "gg_in5_press_params",
                "group": "g_in5"
            },
            {
                "title": "Curtain 1 Actions",
                "id": "gg_in5_curtain1_button_actions",
                "group": "g_in5"
            },
            {
                "title": "Curtain 2 Actions",
                "id": "gg_in5_curtain2_button_actions",
                "group": "g_in5"
            },
            {
                "title": "Curtain 3 Actions",
                "id": "gg_in5_curtain3_button_actions",
                "group": "g_in5"
            },
            {
                "title": "Output 1 Actions",
                "id": "gg_in5_out1_button_actions",
                "group": "g_in5"
            },
            {
                "title": "Output 2 Actions",
                "id": "gg_in5_out2_button_actions",
                "group": "g_in5"
            },
            {
                "title": "Output 3 Actions",
                "id": "gg_in5_out3_button_actions",
                "group": "g_in5"
            },
            {
                "title": "Output 4 Actions",
                "id": "gg_in5_out4_button_actions",
                "group": "g_in5"
            },
            {
                "title": "Output 5 Actions",
                "id": "gg_in5_out5_button_actions",
                "group": "g_in5"
            },
            {
                "title": "Output 6 Actions",
                "id": "gg_in5_out6_button_actions",
                "group": "g_in5"
            },
            {
                "title": "input5_channels",
                "id": "gg_in5_channels",
                "group": "g_in5",
                "ui_options": {
                    "wb": {
                        "disable_title": true
                    }
                }
            },
            {
                "title": "Input 6",
                "id": "g_in6"
            },
            {
                "title": "Actions for outputs when the input is closed / opened",
                "id": "gg_in6_mapping_matrix_actions",
                "group": "g_in6"
            },
            {
                "title": "Press Parameters",
                "id": "gg_in6_press_params",
                "group": "g_in6"
            },
            {
                "title": "Curtain 1 Actions",
                "id": "gg_in6_curtain1_button_actions",
                "group": "g_in6"
            },
            {
                "title": "Curtain 2 Actions",
                "id": "gg_in6_curtain2_button_actions",
                "group": "g_in6"
            },
            {
                "title": "Curtain 3 Actions",
                "id": "gg_in6_curtain3_button_actions",
                "group": "g_in6"
            },
            {
                "title": "Output 1 Actions",
                "id": "gg_in6_out1_button_actions",
                "group": "g_in6"
            },
            {
                "title": "Output 2 Actions",
                "id": "gg_in6_out2_button_actions",
                "group": "g_in6"
            },
            {
                "title": "Output 3 Actions",
                "id": "gg_in6_out3_button_actions",
                "group": "g_in6"
            },
            {
                "title": "Output 4 Actions",
                "id": "gg_in6_out4_button_actions",
                "group": "g_in6"
            },
            {
                "title": "Output 5 Actions",
                "id": "gg_in6_out5_button_actions",
                "group": "g_in6"
            },
            {
                "title": "Output 6 Actions",
                "id": "gg_in6_out6_button_actions",
                "group": "g_in6"
            },
            {
                "title": "input6_channels",
                "id": "gg_in6_channels",
                "group": "g_in6",
                "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": "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": "Curtain 2",
                "id": "gg_curtain_2",
                "group": "g_curtains_control"
            },
            {
                "title": "Curtain 3",
                "id": "gg_curtain_3",
                "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",
                "description": "mode_description",
                "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in0_out4_actions": {
                "group": "gg_in0_mapping_matrix_actions",
                "title": "Output 4",
                "order": 4,
                "address": 443,
                "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(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in0_out4_sp": {
                "group": "gg_in0_out4_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 603,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in0_out4_lp": {
                "group": "gg_in0_out4_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 667,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in0_out4_dp": {
                "group": "gg_in0_out4_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 731,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in0_out4_slp": {
                "group": "gg_in0_out4_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 795,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in0_out5_actions": {
                "group": "gg_in0_mapping_matrix_actions",
                "title": "Output 5",
                "order": 5,
                "address": 444,
                "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(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in0_out5_sp": {
                "group": "gg_in0_out5_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 604,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in0_out5_lp": {
                "group": "gg_in0_out5_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 668,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in0_out5_dp": {
                "group": "gg_in0_out5_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 732,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in0_out5_slp": {
                "group": "gg_in0_out5_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 796,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in0_out6_actions": {
                "group": "gg_in0_mapping_matrix_actions",
                "title": "Output 6",
                "order": 6,
                "address": 445,
                "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(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in0_out6_sp": {
                "group": "gg_in0_out6_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 605,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in0_out6_lp": {
                "group": "gg_in0_out6_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 669,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in0_out6_dp": {
                "group": "gg_in0_out6_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 733,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in0_out6_slp": {
                "group": "gg_in0_out6_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 797,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in0_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in0_curtain1_sp": {
                "group": "gg_in0_curtain1_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1428,
                "reg_type": "holding",
                "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",
                "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",
                "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",
                "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_curtain2_sp": {
                "group": "gg_in0_curtain2_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1429,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in0_mode==6&&curtain2_mode==1"
            },
            "in0_curtain2_lp": {
                "group": "gg_in0_curtain2_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1461,
                "reg_type": "holding",
                "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&&curtain2_mode==1"
            },
            "in0_curtain2_dp": {
                "group": "gg_in0_curtain2_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1493,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in0_mode==6&&curtain2_mode==1"
            },
            "in0_curtain2_slp": {
                "group": "gg_in0_curtain2_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1525,
                "reg_type": "holding",
                "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&&curtain2_mode==1"
            },
            "in0_curtain3_sp": {
                "group": "gg_in0_curtain3_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1430,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in0_mode==6&&curtain3_mode==1"
            },
            "in0_curtain3_lp": {
                "group": "gg_in0_curtain3_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1462,
                "reg_type": "holding",
                "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&&curtain3_mode==1"
            },
            "in0_curtain3_dp": {
                "group": "gg_in0_curtain3_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1494,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in0_mode==6&&curtain3_mode==1"
            },
            "in0_curtain3_slp": {
                "group": "gg_in0_curtain3_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1526,
                "reg_type": "holding",
                "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&&curtain3_mode==1"
            },
            "in1_mode": {
                "title": "Mode",
                "description": "mode_description",
                "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in1_out4_actions": {
                "group": "gg_in1_mapping_matrix_actions",
                "title": "Output 4",
                "order": 4,
                "address": 387,
                "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(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in1_out4_sp": {
                "group": "gg_in1_out4_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 547,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in1_out4_lp": {
                "group": "gg_in1_out4_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 611,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in1_out4_dp": {
                "group": "gg_in1_out4_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 675,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in1_out4_slp": {
                "group": "gg_in1_out4_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 739,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in1_out5_actions": {
                "group": "gg_in1_mapping_matrix_actions",
                "title": "Output 5",
                "order": 5,
                "address": 388,
                "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(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in1_out5_sp": {
                "group": "gg_in1_out5_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 548,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in1_out5_lp": {
                "group": "gg_in1_out5_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 612,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in1_out5_dp": {
                "group": "gg_in1_out5_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 676,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in1_out5_slp": {
                "group": "gg_in1_out5_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 740,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in1_out6_actions": {
                "group": "gg_in1_mapping_matrix_actions",
                "title": "Output 6",
                "order": 6,
                "address": 389,
                "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(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in1_out6_sp": {
                "group": "gg_in1_out6_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 549,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in1_out6_lp": {
                "group": "gg_in1_out6_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 613,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in1_out6_dp": {
                "group": "gg_in1_out6_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 677,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in1_out6_slp": {
                "group": "gg_in1_out6_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 741,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in1_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in1_curtain1_sp": {
                "group": "gg_in1_curtain1_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1400,
                "reg_type": "holding",
                "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",
                "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",
                "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",
                "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_curtain2_sp": {
                "group": "gg_in1_curtain2_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1401,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in1_mode==6&&curtain2_mode==1"
            },
            "in1_curtain2_lp": {
                "group": "gg_in1_curtain2_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1433,
                "reg_type": "holding",
                "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&&curtain2_mode==1"
            },
            "in1_curtain2_dp": {
                "group": "gg_in1_curtain2_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1465,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in1_mode==6&&curtain2_mode==1"
            },
            "in1_curtain2_slp": {
                "group": "gg_in1_curtain2_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1497,
                "reg_type": "holding",
                "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&&curtain2_mode==1"
            },
            "in1_curtain3_sp": {
                "group": "gg_in1_curtain3_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1402,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in1_mode==6&&curtain3_mode==1"
            },
            "in1_curtain3_lp": {
                "group": "gg_in1_curtain3_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1434,
                "reg_type": "holding",
                "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&&curtain3_mode==1"
            },
            "in1_curtain3_dp": {
                "group": "gg_in1_curtain3_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1466,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in1_mode==6&&curtain3_mode==1"
            },
            "in1_curtain3_slp": {
                "group": "gg_in1_curtain3_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1498,
                "reg_type": "holding",
                "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&&curtain3_mode==1"
            },
            "in2_mode": {
                "title": "Mode",
                "description": "mode_description",
                "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in2_out4_actions": {
                "group": "gg_in2_mapping_matrix_actions",
                "title": "Output 4",
                "order": 4,
                "address": 395,
                "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(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in2_out4_sp": {
                "group": "gg_in2_out4_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 555,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in2_out4_lp": {
                "group": "gg_in2_out4_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 619,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in2_out4_dp": {
                "group": "gg_in2_out4_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 683,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in2_out4_slp": {
                "group": "gg_in2_out4_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 747,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in2_out5_actions": {
                "group": "gg_in2_mapping_matrix_actions",
                "title": "Output 5",
                "order": 5,
                "address": 396,
                "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(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in2_out5_sp": {
                "group": "gg_in2_out5_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 556,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in2_out5_lp": {
                "group": "gg_in2_out5_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 620,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in2_out5_dp": {
                "group": "gg_in2_out5_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 684,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in2_out5_slp": {
                "group": "gg_in2_out5_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 748,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in2_out6_actions": {
                "group": "gg_in2_mapping_matrix_actions",
                "title": "Output 6",
                "order": 6,
                "address": 397,
                "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(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in2_out6_sp": {
                "group": "gg_in2_out6_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 557,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in2_out6_lp": {
                "group": "gg_in2_out6_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 621,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in2_out6_dp": {
                "group": "gg_in2_out6_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 685,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in2_out6_slp": {
                "group": "gg_in2_out6_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 749,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in2_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in2_curtain1_sp": {
                "group": "gg_in2_curtain1_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1404,
                "reg_type": "holding",
                "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",
                "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",
                "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",
                "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_curtain2_sp": {
                "group": "gg_in2_curtain2_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1405,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in2_mode==6&&curtain2_mode==1"
            },
            "in2_curtain2_lp": {
                "group": "gg_in2_curtain2_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1437,
                "reg_type": "holding",
                "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&&curtain2_mode==1"
            },
            "in2_curtain2_dp": {
                "group": "gg_in2_curtain2_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1469,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in2_mode==6&&curtain2_mode==1"
            },
            "in2_curtain2_slp": {
                "group": "gg_in2_curtain2_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1501,
                "reg_type": "holding",
                "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&&curtain2_mode==1"
            },
            "in2_curtain3_sp": {
                "group": "gg_in2_curtain3_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1406,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in2_mode==6&&curtain3_mode==1"
            },
            "in2_curtain3_lp": {
                "group": "gg_in2_curtain3_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1438,
                "reg_type": "holding",
                "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&&curtain3_mode==1"
            },
            "in2_curtain3_dp": {
                "group": "gg_in2_curtain3_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1470,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in2_mode==6&&curtain3_mode==1"
            },
            "in2_curtain3_slp": {
                "group": "gg_in2_curtain3_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1502,
                "reg_type": "holding",
                "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&&curtain3_mode==1"
            },
            "in3_mode": {
                "title": "Mode",
                "description": "mode_description",
                "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "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&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in3_out4_actions": {
                "group": "gg_in3_mapping_matrix_actions",
                "title": "Output 4",
                "order": 4,
                "address": 403,
                "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(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in3_out4_sp": {
                "group": "gg_in3_out4_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 563,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in3_out4_lp": {
                "group": "gg_in3_out4_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 627,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in3_out4_dp": {
                "group": "gg_in3_out4_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 691,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in3_out4_slp": {
                "group": "gg_in3_out4_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 755,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in3_out5_actions": {
                "group": "gg_in3_mapping_matrix_actions",
                "title": "Output 5",
                "order": 5,
                "address": 404,
                "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(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in3_out5_sp": {
                "group": "gg_in3_out5_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 564,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in3_out5_lp": {
                "group": "gg_in3_out5_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 628,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in3_out5_dp": {
                "group": "gg_in3_out5_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 692,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in3_out5_slp": {
                "group": "gg_in3_out5_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 756,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in3_out6_actions": {
                "group": "gg_in3_mapping_matrix_actions",
                "title": "Output 6",
                "order": 6,
                "address": 405,
                "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(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in3_out6_sp": {
                "group": "gg_in3_out6_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 565,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in3_out6_lp": {
                "group": "gg_in3_out6_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 629,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in3_out6_dp": {
                "group": "gg_in3_out6_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 693,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in3_out6_slp": {
                "group": "gg_in3_out6_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 757,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in3_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in3_curtain1_sp": {
                "group": "gg_in3_curtain1_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1408,
                "reg_type": "holding",
                "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",
                "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",
                "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",
                "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_curtain2_sp": {
                "group": "gg_in3_curtain2_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1409,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in3_mode==6&&curtain2_mode==1"
            },
            "in3_curtain2_lp": {
                "group": "gg_in3_curtain2_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1441,
                "reg_type": "holding",
                "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&&curtain2_mode==1"
            },
            "in3_curtain2_dp": {
                "group": "gg_in3_curtain2_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1473,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in3_mode==6&&curtain2_mode==1"
            },
            "in3_curtain2_slp": {
                "group": "gg_in3_curtain2_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1505,
                "reg_type": "holding",
                "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&&curtain2_mode==1"
            },
            "in3_curtain3_sp": {
                "group": "gg_in3_curtain3_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1410,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in3_mode==6&&curtain3_mode==1"
            },
            "in3_curtain3_lp": {
                "group": "gg_in3_curtain3_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1442,
                "reg_type": "holding",
                "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&&curtain3_mode==1"
            },
            "in3_curtain3_dp": {
                "group": "gg_in3_curtain3_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1474,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in3_mode==6&&curtain3_mode==1"
            },
            "in3_curtain3_slp": {
                "group": "gg_in3_curtain3_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1506,
                "reg_type": "holding",
                "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&&curtain3_mode==1"
            },
            "in4_mode": {
                "title": "Mode",
                "description": "mode_description",
                "address": 12,
                "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_in4",
                "order": 1
            },
            "in4_debounce_ms": {
                "title": "debounce_time_title",
                "description": "debounce_time_description",
                "address": 23,
                "reg_type": "holding",
                "min": 0,
                "max": 2000,
                "default": 50,
                "group": "g_in4",
                "order": 2
            },
            "in4_lp_hold_time": {
                "group": "gg_in4_press_params",
                "title": "lp_hold_time_title",
                "description": "lp_hold_time_description",
                "order": 1,
                
                "address": 1103,
                "reg_type": "holding",
                "default": 1000,
                "min": 500,
                "max": 5000,
                "condition": "in4_mode==6"
            },
            "in4_secp_waiting_time": {
                "group": "gg_in4_press_params",
                "title": "secp_waiting_time_title",
                "description": "secp_waiting_time_description",
                "order": 2,
                "address": 1143,
                "reg_type": "holding",
                "default": 300,
                "min": 0,
                "max": 2000,
                "condition": "in4_mode==6"
            },
            "in4_out1_actions": {
                "group": "gg_in4_mapping_matrix_actions",
                "title": "Output 1",
                "order": 1,
                "address": 408,
                "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": "in4_mode==4&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in4_out1_sp": {
                "group": "gg_in4_out1_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 568,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in4_out1_lp": {
                "group": "gg_in4_out1_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 632,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in4_out1_dp": {
                "group": "gg_in4_out1_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 696,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in4_out1_slp": {
                "group": "gg_in4_out1_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 760,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in4_out2_actions": {
                "group": "gg_in4_mapping_matrix_actions",
                "title": "Output 2",
                "order": 2,
                "address": 409,
                "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": "in4_mode==4&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in4_out2_sp": {
                "group": "gg_in4_out2_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 569,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in4_out2_lp": {
                "group": "gg_in4_out2_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 633,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in4_out2_dp": {
                "group": "gg_in4_out2_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 697,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in4_out2_slp": {
                "group": "gg_in4_out2_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 761,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in4_out3_actions": {
                "group": "gg_in4_mapping_matrix_actions",
                "title": "Output 3",
                "order": 3,
                "address": 410,
                "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": "in4_mode==4&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in4_out3_sp": {
                "group": "gg_in4_out3_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 570,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in4_out3_lp": {
                "group": "gg_in4_out3_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 634,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in4_out3_dp": {
                "group": "gg_in4_out3_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 698,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in4_out3_slp": {
                "group": "gg_in4_out3_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 762,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in4_out4_actions": {
                "group": "gg_in4_mapping_matrix_actions",
                "title": "Output 4",
                "order": 4,
                "address": 411,
                "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": "in4_mode==4&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in4_out4_sp": {
                "group": "gg_in4_out4_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 571,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in4_out4_lp": {
                "group": "gg_in4_out4_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 635,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in4_out4_dp": {
                "group": "gg_in4_out4_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 699,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in4_out4_slp": {
                "group": "gg_in4_out4_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 763,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in4_out5_actions": {
                "group": "gg_in4_mapping_matrix_actions",
                "title": "Output 5",
                "order": 5,
                "address": 412,
                "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": "in4_mode==4&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in4_out5_sp": {
                "group": "gg_in4_out5_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 572,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in4_out5_lp": {
                "group": "gg_in4_out5_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 636,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in4_out5_dp": {
                "group": "gg_in4_out5_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 700,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in4_out5_slp": {
                "group": "gg_in4_out5_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 764,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in4_out6_actions": {
                "group": "gg_in4_mapping_matrix_actions",
                "title": "Output 6",
                "order": 6,
                "address": 413,
                "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": "in4_mode==4&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in4_out6_sp": {
                "group": "gg_in4_out6_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 573,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in4_out6_lp": {
                "group": "gg_in4_out6_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 637,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in4_out6_dp": {
                "group": "gg_in4_out6_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 701,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in4_out6_slp": {
                "group": "gg_in4_out6_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 765,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in4_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in4_curtain1_sp": {
                "group": "gg_in4_curtain1_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1412,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in4_mode==6&&curtain1_mode==1"
            },
            "in4_curtain1_lp": {
                "group": "gg_in4_curtain1_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1444,
                "reg_type": "holding",
                "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": "in4_mode==6&&curtain1_mode==1"
            },
            "in4_curtain1_dp": {
                "group": "gg_in4_curtain1_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1476,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in4_mode==6&&curtain1_mode==1"
            },
            "in4_curtain1_slp": {
                "group": "gg_in4_curtain1_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1508,
                "reg_type": "holding",
                "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": "in4_mode==6&&curtain1_mode==1"
            },
            "in4_curtain2_sp": {
                "group": "gg_in4_curtain2_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1413,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in4_mode==6&&curtain2_mode==1"
            },
            "in4_curtain2_lp": {
                "group": "gg_in4_curtain2_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1445,
                "reg_type": "holding",
                "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": "in4_mode==6&&curtain2_mode==1"
            },
            "in4_curtain2_dp": {
                "group": "gg_in4_curtain2_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1477,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in4_mode==6&&curtain2_mode==1"
            },
            "in4_curtain2_slp": {
                "group": "gg_in4_curtain2_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1509,
                "reg_type": "holding",
                "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": "in4_mode==6&&curtain2_mode==1"
            },
            "in4_curtain3_sp": {
                "group": "gg_in4_curtain3_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1414,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in4_mode==6&&curtain3_mode==1"
            },
            "in4_curtain3_lp": {
                "group": "gg_in4_curtain3_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1446,
                "reg_type": "holding",
                "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": "in4_mode==6&&curtain3_mode==1"
            },
            "in4_curtain3_dp": {
                "group": "gg_in4_curtain3_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1478,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in4_mode==6&&curtain3_mode==1"
            },
            "in4_curtain3_slp": {
                "group": "gg_in4_curtain3_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1510,
                "reg_type": "holding",
                "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": "in4_mode==6&&curtain3_mode==1"
            },
            "in5_mode": {
                "title": "Mode",
                "description": "mode_description",
                "address": 13,
                "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_in5",
                "order": 1
            },
            "in5_debounce_ms": {
                "title": "debounce_time_title",
                "description": "debounce_time_description",
                "address": 24,
                "reg_type": "holding",
                "min": 0,
                "max": 2000,
                "default": 50,
                "group": "g_in5",
                "order": 2
            },
            "in5_lp_hold_time": {
                "group": "gg_in5_press_params",
                "title": "lp_hold_time_title",
                "description": "lp_hold_time_description",
                "order": 1,
                
                "address": 1104,
                "reg_type": "holding",
                "default": 1000,
                "min": 500,
                "max": 5000,
                "condition": "in5_mode==6"
            },
            "in5_secp_waiting_time": {
                "group": "gg_in5_press_params",
                "title": "secp_waiting_time_title",
                "description": "secp_waiting_time_description",
                "order": 2,
                "address": 1144,
                "reg_type": "holding",
                "default": 300,
                "min": 0,
                "max": 2000,
                "condition": "in5_mode==6"
            },
            "in5_out1_actions": {
                "group": "gg_in5_mapping_matrix_actions",
                "title": "Output 1",
                "order": 1,
                "address": 416,
                "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": "in5_mode==4&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in5_out1_sp": {
                "group": "gg_in5_out1_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 576,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in5_out1_lp": {
                "group": "gg_in5_out1_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 640,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in5_out1_dp": {
                "group": "gg_in5_out1_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 704,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in5_out1_slp": {
                "group": "gg_in5_out1_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 768,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in5_out2_actions": {
                "group": "gg_in5_mapping_matrix_actions",
                "title": "Output 2",
                "order": 2,
                "address": 417,
                "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": "in5_mode==4&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in5_out2_sp": {
                "group": "gg_in5_out2_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 577,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in5_out2_lp": {
                "group": "gg_in5_out2_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 641,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in5_out2_dp": {
                "group": "gg_in5_out2_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 705,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in5_out2_slp": {
                "group": "gg_in5_out2_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 769,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in5_out3_actions": {
                "group": "gg_in5_mapping_matrix_actions",
                "title": "Output 3",
                "order": 3,
                "address": 418,
                "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": "in5_mode==4&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in5_out3_sp": {
                "group": "gg_in5_out3_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 578,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in5_out3_lp": {
                "group": "gg_in5_out3_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 642,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in5_out3_dp": {
                "group": "gg_in5_out3_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 706,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in5_out3_slp": {
                "group": "gg_in5_out3_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 770,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in5_out4_actions": {
                "group": "gg_in5_mapping_matrix_actions",
                "title": "Output 4",
                "order": 4,
                "address": 419,
                "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": "in5_mode==4&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in5_out4_sp": {
                "group": "gg_in5_out4_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 579,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in5_out4_lp": {
                "group": "gg_in5_out4_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 643,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in5_out4_dp": {
                "group": "gg_in5_out4_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 707,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in5_out4_slp": {
                "group": "gg_in5_out4_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 771,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in5_out5_actions": {
                "group": "gg_in5_mapping_matrix_actions",
                "title": "Output 5",
                "order": 5,
                "address": 420,
                "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": "in5_mode==4&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in5_out5_sp": {
                "group": "gg_in5_out5_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 580,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in5_out5_lp": {
                "group": "gg_in5_out5_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 644,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in5_out5_dp": {
                "group": "gg_in5_out5_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 708,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in5_out5_slp": {
                "group": "gg_in5_out5_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 772,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in5_out6_actions": {
                "group": "gg_in5_mapping_matrix_actions",
                "title": "Output 6",
                "order": 6,
                "address": 421,
                "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": "in5_mode==4&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in5_out6_sp": {
                "group": "gg_in5_out6_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 581,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in5_out6_lp": {
                "group": "gg_in5_out6_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 645,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in5_out6_dp": {
                "group": "gg_in5_out6_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 709,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in5_out6_slp": {
                "group": "gg_in5_out6_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 773,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in5_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in5_curtain1_sp": {
                "group": "gg_in5_curtain1_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1416,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in5_mode==6&&curtain1_mode==1"
            },
            "in5_curtain1_lp": {
                "group": "gg_in5_curtain1_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1448,
                "reg_type": "holding",
                "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": "in5_mode==6&&curtain1_mode==1"
            },
            "in5_curtain1_dp": {
                "group": "gg_in5_curtain1_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1480,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in5_mode==6&&curtain1_mode==1"
            },
            "in5_curtain1_slp": {
                "group": "gg_in5_curtain1_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1512,
                "reg_type": "holding",
                "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": "in5_mode==6&&curtain1_mode==1"
            },
            "in5_curtain2_sp": {
                "group": "gg_in5_curtain2_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1417,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in5_mode==6&&curtain2_mode==1"
            },
            "in5_curtain2_lp": {
                "group": "gg_in5_curtain2_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1449,
                "reg_type": "holding",
                "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": "in5_mode==6&&curtain2_mode==1"
            },
            "in5_curtain2_dp": {
                "group": "gg_in5_curtain2_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1481,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in5_mode==6&&curtain2_mode==1"
            },
            "in5_curtain2_slp": {
                "group": "gg_in5_curtain2_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1513,
                "reg_type": "holding",
                "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": "in5_mode==6&&curtain2_mode==1"
            },
            "in5_curtain3_sp": {
                "group": "gg_in5_curtain3_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1418,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in5_mode==6&&curtain3_mode==1"
            },
            "in5_curtain3_lp": {
                "group": "gg_in5_curtain3_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1450,
                "reg_type": "holding",
                "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": "in5_mode==6&&curtain3_mode==1"
            },
            "in5_curtain3_dp": {
                "group": "gg_in5_curtain3_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1482,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in5_mode==6&&curtain3_mode==1"
            },
            "in5_curtain3_slp": {
                "group": "gg_in5_curtain3_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1514,
                "reg_type": "holding",
                "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": "in5_mode==6&&curtain3_mode==1"
            },
            "in6_mode": {
                "title": "Mode",
                "description": "mode_description",
                "address": 14,
                "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_in6",
                "order": 1
            },
            "in6_debounce_ms": {
                "title": "debounce_time_title",
                "description": "debounce_time_description",
                "address": 25,
                "reg_type": "holding",
                "min": 0,
                "max": 2000,
                "default": 50,
                "group": "g_in6",
                "order": 2
            },
            "in6_lp_hold_time": {
                "group": "gg_in6_press_params",
                "title": "lp_hold_time_title",
                "description": "lp_hold_time_description",
                "order": 1,
                
                "address": 1105,
                "reg_type": "holding",
                "default": 1000,
                "min": 500,
                "max": 5000,
                "condition": "in6_mode==6"
            },
            "in6_secp_waiting_time": {
                "group": "gg_in6_press_params",
                "title": "secp_waiting_time_title",
                "description": "secp_waiting_time_description",
                "order": 2,
                "address": 1145,
                "reg_type": "holding",
                "default": 300,
                "min": 0,
                "max": 2000,
                "condition": "in6_mode==6"
            },
            "in6_out1_actions": {
                "group": "gg_in6_mapping_matrix_actions",
                "title": "Output 1",
                "order": 1,
                "address": 424,
                "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": "in6_mode==4&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in6_out1_sp": {
                "group": "gg_in6_out1_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 584,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in6_out1_lp": {
                "group": "gg_in6_out1_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 648,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in6_out1_dp": {
                "group": "gg_in6_out1_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 712,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in6_out1_slp": {
                "group": "gg_in6_out1_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 776,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in6_out2_actions": {
                "group": "gg_in6_mapping_matrix_actions",
                "title": "Output 2",
                "order": 2,
                "address": 425,
                "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": "in6_mode==4&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in6_out2_sp": {
                "group": "gg_in6_out2_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 585,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in6_out2_lp": {
                "group": "gg_in6_out2_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 649,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in6_out2_dp": {
                "group": "gg_in6_out2_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 713,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in6_out2_slp": {
                "group": "gg_in6_out2_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 777,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain1_mode)==0||curtain1_mode==0)"
            },
            "in6_out3_actions": {
                "group": "gg_in6_mapping_matrix_actions",
                "title": "Output 3",
                "order": 3,
                "address": 426,
                "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": "in6_mode==4&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in6_out3_sp": {
                "group": "gg_in6_out3_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 586,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in6_out3_lp": {
                "group": "gg_in6_out3_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 650,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in6_out3_dp": {
                "group": "gg_in6_out3_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 714,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in6_out3_slp": {
                "group": "gg_in6_out3_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 778,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in6_out4_actions": {
                "group": "gg_in6_mapping_matrix_actions",
                "title": "Output 4",
                "order": 4,
                "address": 427,
                "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": "in6_mode==4&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in6_out4_sp": {
                "group": "gg_in6_out4_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 587,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in6_out4_lp": {
                "group": "gg_in6_out4_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 651,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in6_out4_dp": {
                "group": "gg_in6_out4_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 715,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in6_out4_slp": {
                "group": "gg_in6_out4_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 779,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain2_mode)==0||curtain2_mode==0)"
            },
            "in6_out5_actions": {
                "group": "gg_in6_mapping_matrix_actions",
                "title": "Output 5",
                "order": 5,
                "address": 428,
                "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": "in6_mode==4&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in6_out5_sp": {
                "group": "gg_in6_out5_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 588,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in6_out5_lp": {
                "group": "gg_in6_out5_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 652,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in6_out5_dp": {
                "group": "gg_in6_out5_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 716,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in6_out5_slp": {
                "group": "gg_in6_out5_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 780,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in6_out6_actions": {
                "group": "gg_in6_mapping_matrix_actions",
                "title": "Output 6",
                "order": 6,
                "address": 429,
                "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": "in6_mode==4&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in6_out6_sp": {
                "group": "gg_in6_out6_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 589,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in6_out6_lp": {
                "group": "gg_in6_out6_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 653,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in6_out6_dp": {
                "group": "gg_in6_out6_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 717,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in6_out6_slp": {
                "group": "gg_in6_out6_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 781,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3],
                "enum_titles": ["no action", "reset", "set", "toggle"],
                "condition": "in6_mode==6&&(isDefined(curtain3_mode)==0||curtain3_mode==0)"
            },
            "in6_curtain1_sp": {
                "group": "gg_in6_curtain1_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1420,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in6_mode==6&&curtain1_mode==1"
            },
            "in6_curtain1_lp": {
                "group": "gg_in6_curtain1_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1452,
                "reg_type": "holding",
                "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": "in6_mode==6&&curtain1_mode==1"
            },
            "in6_curtain1_dp": {
                "group": "gg_in6_curtain1_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1484,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in6_mode==6&&curtain1_mode==1"
            },
            "in6_curtain1_slp": {
                "group": "gg_in6_curtain1_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1516,
                "reg_type": "holding",
                "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": "in6_mode==6&&curtain1_mode==1"
            },
            "in6_curtain2_sp": {
                "group": "gg_in6_curtain2_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1421,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in6_mode==6&&curtain2_mode==1"
            },
            "in6_curtain2_lp": {
                "group": "gg_in6_curtain2_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1453,
                "reg_type": "holding",
                "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": "in6_mode==6&&curtain2_mode==1"
            },
            "in6_curtain2_dp": {
                "group": "gg_in6_curtain2_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1485,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in6_mode==6&&curtain2_mode==1"
            },
            "in6_curtain2_slp": {
                "group": "gg_in6_curtain2_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1517,
                "reg_type": "holding",
                "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": "in6_mode==6&&curtain2_mode==1"
            },
            "in6_curtain3_sp": {
                "group": "gg_in6_curtain3_button_actions",
                "title": "sp_title",
                "order": 1,
                "address": 1422,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in6_mode==6&&curtain3_mode==1"
            },
            "in6_curtain3_lp": {
                "group": "gg_in6_curtain3_button_actions",
                "title": "lp_title",
                "order": 2,
                "address": 1454,
                "reg_type": "holding",
                "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": "in6_mode==6&&curtain3_mode==1"
            },
            "in6_curtain3_dp": {
                "group": "gg_in6_curtain3_button_actions",
                "title": "dp_title",
                "order": 3,
                "address": 1486,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2, 3, 4],
                "enum_titles": ["no action", "open", "close", "open/close", "stop"],
                "condition": "in6_mode==6&&curtain3_mode==1"
            },
            "in6_curtain3_slp": {
                "group": "gg_in6_curtain3_button_actions",
                "title": "slp_title",
                "order": 4,
                "address": 1518,
                "reg_type": "holding",
                "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": "in6_mode==6&&curtain3_mode==1"
            },
            "out1_safe_state": {
                "title": "Output 1",
                "group": "gg_outputs_safe_state",
                "order": 1,
                "address": 930,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1],
                "enum_titles": [
                    "Off",
                    "On"
                ],
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0"
            },
            "out1_safety_behaviour": {
                "title": "Output 1",
                "group": "gg_safety_behaviour",
                "order": 1,
                "address": 938,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1],
                "enum_titles": [
                    "Don't сhange output state",
                    "Switch output to safety state"
                ],
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0"
            },
            "out1_safety_input_control": {
                "title": "Output 1",
                "group": "gg_safety_input_control",
                "order": 1,
                "address": 946,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2],
                "enum_titles": [
                    "Don't change",
                    "Disable in safety mode",
                    "Enable only in safety mode"
                ],
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0"
            },
            "out2_safe_state": {
                "title": "Output 2",
                "group": "gg_outputs_safe_state",
                "order": 2,
                "address": 931,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1],
                "enum_titles": [
                    "Off",
                    "On"
                ],
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0"
            },
            "out2_safety_behaviour": {
                "title": "Output 2",
                "group": "gg_safety_behaviour",
                "order": 2,
                "address": 939,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1],
                "enum_titles": [
                    "Don't сhange output state",
                    "Switch output to safety state"
                ],
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0"
            },
            "out2_safety_input_control": {
                "title": "Output 2",
                "group": "gg_safety_input_control",
                "order": 2,
                "address": 947,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2],
                "enum_titles": [
                    "Don't change",
                    "Disable in safety mode",
                    "Enable only in safety mode"
                ],
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0"
            },
            "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"
                ],
                "condition": "isDefined(curtain2_mode)==0||curtain2_mode==0"
            },
            "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 сhange output state",
                    "Switch output to safety state"
                ],
                "condition": "isDefined(curtain2_mode)==0||curtain2_mode==0"
            },
            "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"
                ],
                "condition": "isDefined(curtain2_mode)==0||curtain2_mode==0"
            },
            "out4_safe_state": {
                "title": "Output 4",
                "group": "gg_outputs_safe_state",
                "order": 4,
                "address": 933,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1],
                "enum_titles": [
                    "Off",
                    "On"
                ],
                "condition": "isDefined(curtain2_mode)==0||curtain2_mode==0"
            },
            "out4_safety_behaviour": {
                "title": "Output 4",
                "group": "gg_safety_behaviour",
                "order": 4,
                "address": 941,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1],
                "enum_titles": [
                    "Don't сhange output state",
                    "Switch output to safety state"
                ],
                "condition": "isDefined(curtain2_mode)==0||curtain2_mode==0"
            },
            "out4_safety_input_control": {
                "title": "Output 4",
                "group": "gg_safety_input_control",
                "order": 4,
                "address": 949,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2],
                "enum_titles": [
                    "Don't change",
                    "Disable in safety mode",
                    "Enable only in safety mode"
                ],
                "condition": "isDefined(curtain2_mode)==0||curtain2_mode==0"
            },
            "out5_safe_state": {
                "title": "Output 5",
                "group": "gg_outputs_safe_state",
                "order": 5,
                "address": 934,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1],
                "enum_titles": [
                    "Off",
                    "On"
                ],
                "condition": "isDefined(curtain3_mode)==0||curtain3_mode==0"
            },
            "out5_safety_behaviour": {
                "title": "Output 5",
                "group": "gg_safety_behaviour",
                "order": 5,
                "address": 942,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1],
                "enum_titles": [
                    "Don't сhange output state",
                    "Switch output to safety state"
                ],
                "condition": "isDefined(curtain3_mode)==0||curtain3_mode==0"
            },
            "out5_safety_input_control": {
                "title": "Output 5",
                "group": "gg_safety_input_control",
                "order": 5,
                "address": 950,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2],
                "enum_titles": [
                    "Don't change",
                    "Disable in safety mode",
                    "Enable only in safety mode"
                ],
                "condition": "isDefined(curtain3_mode)==0||curtain3_mode==0"
            },
            "out6_safe_state": {
                "title": "Output 6",
                "group": "gg_outputs_safe_state",
                "order": 6,
                "address": 935,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1],
                "enum_titles": [
                    "Off",
                    "On"
                ],
                "condition": "isDefined(curtain3_mode)==0||curtain3_mode==0"
            },
            "out6_safety_behaviour": {
                "title": "Output 6",
                "group": "gg_safety_behaviour",
                "order": 6,
                "address": 943,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1],
                "enum_titles": [
                    "Don't сhange output state",
                    "Switch output to safety state"
                ],
                "condition": "isDefined(curtain3_mode)==0||curtain3_mode==0"
            },
            "out6_safety_input_control": {
                "title": "Output 6",
                "group": "gg_safety_input_control",
                "order": 6,
                "address": 951,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2],
                "enum_titles": [
                    "Don't change",
                    "Disable in safety mode",
                    "Enable only in safety mode"
                ],
                "condition": "isDefined(curtain3_mode)==0||curtain3_mode==0"
            },
            "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",
                "default": 1,
                "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)",
                "group": "gg_curtain_1",
                "address": 1328,
                "reg_type": "holding",
                "scale": 0.1,
                "default": 20.0,
                "min": 1.0,
                "max": 600.0,
                "order": 2,
                "condition": "curtain1_mode==1"
            },
            "curtain1_close_time": {
                "title": "Close time (s)",
                "group": "gg_curtain_1",
                "address": 1332,
                "reg_type": "holding",
                "scale": 0.1,
                "default": 20.0,
                "min": 1.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",
                "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",
                "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",
                "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"
            },
            "curtain2_mode": {
                "title": "Use outputs 3 and 4 for curtain 2 control",
                "group": "gg_curtain_2",
                "address": 1281,
                "reg_type": "holding",
                "default": 1,
                "enum": [0, 1],
                "enum_titles": [
                    "No, use outputs 3 and 4 as regular outputs",
                    "Use output 3 for open, output 4 for close"
                ],
                "order": 1
            },
            "curtain2_open_time": {
                "title": "Open time (s)",
                "group": "gg_curtain_2",
                "address": 1329,
                "reg_type": "holding",
                "scale": 0.1,
                "default": 10.0,
                "min": 1.0,
                "max": 600.0,
                "order": 2,
                "condition": "curtain2_mode==1"
            },
            "curtain2_close_time": {
                "title": "Close time (s)",
                "group": "gg_curtain_2",
                "address": 1333,
                "reg_type": "holding",
                "scale": 0.1,
                "default": 10.0,
                "min": 1.0,
                "max": 600.0,
                "order": 3,
                "condition": "curtain2_mode==1"
            },
            "curtain2_deadtime": {
                "title": "Dead time (ms)",
                "group": "gg_curtain_2",
                "address": 1337,
                "reg_type": "holding",
                "default": 500,
                "min": 50,
                "max": 10000,
                "order": 4,
                "condition": "curtain2_mode==1"
            },
            "curtain2_safety_action": {
                "title": "Action when safety mode is activated",
                "group": "gg_curtain_2",
                "address": 1289,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2],
                "enum_titles": [
                    "no action",
                    "open",
                    "close"
                ],
                "order": 5,
                "condition": "curtain2_mode==1"
            },
            "curtain2_powerup_action": {
                "title": "Power up action",
                "group": "gg_curtain_2",
                "address": 1285,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2],
                "enum_titles": [
                    "no action",
                    "open",
                    "close"
                ],
                "order": 6,
                "condition": "curtain2_mode==1"
            },
            "curtain2_safety_input_control": {
                "title": "Curtain 2",
                "group": "gg_safety_input_control",
                "order": 2,
                "address": 1293,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2],
                "enum_titles": [
                    "Don't change",
                    "Disable in safety mode",
                    "Enable only in safety mode"
                ],
                "condition": "curtain2_mode==1"
            },
            "curtain3_mode": {
                "title": "Use outputs 5 and 6 for curtain 3 control",
                "group": "gg_curtain_3",
                "address": 1282,
                "reg_type": "holding",
                "default": 1,
                "enum": [0, 1],
                "enum_titles": [
                    "No, use outputs 5 and 6 as regular outputs",
                    "Use output 5 for open, output 6 for close"
                ],
                "order": 1
            },
            "curtain3_open_time": {
                "title": "Open time (s)",
                "group": "gg_curtain_3",
                "address": 1330,
                "reg_type": "holding",
                "scale": 0.1,
                "default": 10.0,
                "min": 1.0,
                "max": 600.0,
                "order": 2,
                "condition": "curtain3_mode==1"
            },
            "curtain3_close_time": {
                "title": "Close time (s)",
                "group": "gg_curtain_3",
                "address": 1334,
                "reg_type": "holding",
                "scale": 0.1,
                "default": 10.0,
                "min": 1.0,
                "max": 600.0,
                "order": 3,
                "condition": "curtain3_mode==1"
            },
            "curtain3_deadtime": {
                "title": "Dead time (ms)",
                "group": "gg_curtain_3",
                "address": 1338,
                "reg_type": "holding",
                "default": 500,
                "min": 50,
                "max": 10000,
                "order": 4,
                "condition": "curtain3_mode==1"
            },
            "curtain3_safety_action": {
                "title": "Action when safety mode is activated",
                "group": "gg_curtain_3",
                "address": 1290,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2],
                "enum_titles": [
                    "no action",
                    "open",
                    "close"
                ],
                "order": 5,
                "condition": "curtain3_mode==1"
            },
            "curtain3_powerup_action": {
                "title": "Power up action",
                "group": "gg_curtain_3",
                "address": 1286,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2],
                "enum_titles": [
                    "no action",
                    "open",
                    "close"
                ],
                "order": 6,
                "condition": "curtain3_mode==1"
            },
            "curtain3_safety_input_control": {
                "title": "Curtain 3",
                "group": "gg_safety_input_control",
                "order": 3,
                "address": 1294,
                "reg_type": "holding",
                "default": 0,
                "enum": [0, 1, 2],
                "enum_titles": [
                    "Don't change",
                    "Disable in safety mode",
                    "Enable only in safety mode"
                ],
                "condition": "curtain3_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",
				"enabled": false
            },
            {
                "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",
				"enabled": false
            },
            {
                "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",
				"enabled": false
            },
            {
                "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",
				"enabled": false
            },
            {
                "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",
				"enabled": false
            },
            {
                "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",
				"enabled": false
            },
            {
                "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",
				"enabled": false
            },
            {
                "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",
				"enabled": false
            },
            {
                "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": "Input 4",
                "reg_type": "discrete",
                "address": 3,
                "type": "switch",
                "sporadic": false,
                "condition": "isDefined(in4_mode)==0||in4_mode==3",
                "group": "gg_in4_channels"
            },
            {
                "name": "Input 4 counter",
                "reg_type": "input",
                "address": 35,
                "type": "value",
                "sporadic": false,
                "condition": "isDefined(in4_mode)==0||in4_mode==3",
                "group": "gg_in4_channels",
				"enabled": false
            },
            {
                "name": "Input 4",
                "reg_type": "discrete",
                "address": 3,
                "type": "switch",
                "sporadic": true,
                "condition": "isDefined(in4_mode)&&in4_mode!=3",
                "group": "gg_in4_channels"
            },
            {
                "name": "Input 4 counter",
                "reg_type": "input",
                "address": 35,
                "type": "value",
                "sporadic": true,
                "condition": "isDefined(in4_mode)&&in4_mode!=3",
                "group": "gg_in4_channels",
				"enabled": false
            },
            {
                "name": "Input 4 freq",
                "reg_type": "input",
                "address": 46,
                "type": "value",
                "format": "u32",
                "scale": 1.52588e-5,
                "round_to": 0.001,
                "enabled": false,
                "group": "gg_in4_channels"
            },
            {
                "name": "Input 4 Single Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 467,
                "type": "value",
                "sporadic": true,
                "group": "gg_in4_channels",
                "condition": "in4_mode==6"
            },
            {
                "name": "Input 4 Long Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 483,
                "type": "value",
                "sporadic": true,
                "group": "gg_in4_channels",
                "condition": "in4_mode==6"
            },
            {
                "name": "Input 4 Double Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 499,
                "type": "value",
                "sporadic": true,
                "group": "gg_in4_channels",
                "condition": "in4_mode==6"
            },
            {
                "name": "Input 4 Shortlong Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 515,
                "type": "value",
                "sporadic": true,
                "group": "gg_in4_channels",
                "condition": "in4_mode==6"
            },
            {
                "name": "Input 5",
                "reg_type": "discrete",
                "address": 4,
                "type": "switch",
                "sporadic": false,
                "condition": "isDefined(in5_mode)==0||in5_mode==3",
                "group": "gg_in5_channels"
            },
            {
                "name": "Input 5 counter",
                "reg_type": "input",
                "address": 36,
                "type": "value",
                "sporadic": false,
                "condition": "isDefined(in5_mode)==0||in5_mode==3",
                "group": "gg_in5_channels",
				"enabled": false
            },
            {
                "name": "Input 5",
                "reg_type": "discrete",
                "address": 4,
                "type": "switch",
                "sporadic": true,
                "condition": "isDefined(in5_mode)&&in5_mode!=3",
                "group": "gg_in5_channels"
            },
            {
                "name": "Input 5 counter",
                "reg_type": "input",
                "address": 36,
                "type": "value",
                "sporadic": true,
                "condition": "isDefined(in5_mode)&&in5_mode!=3",
                "group": "gg_in5_channels",
				"enabled": false
            },
            {
                "name": "Input 5 freq",
                "reg_type": "input",
                "address": 48,
                "type": "value",
                "format": "u32",
                "scale": 1.52588e-5,
                "round_to": 0.001,
                "enabled": false,
                "group": "gg_in5_channels"
            },
            {
                "name": "Input 5 Single Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 468,
                "type": "value",
                "sporadic": true,
                "group": "gg_in5_channels",
                "condition": "in5_mode==6"
            },
            {
                "name": "Input 5 Long Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 484,
                "type": "value",
                "sporadic": true,
                "group": "gg_in5_channels",
                "condition": "in5_mode==6"
            },
            {
                "name": "Input 5 Double Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 500,
                "type": "value",
                "sporadic": true,
                "group": "gg_in5_channels",
                "condition": "in5_mode==6"
            },
            {
                "name": "Input 5 Shortlong Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 516,
                "type": "value",
                "sporadic": true,
                "group": "gg_in5_channels",
                "condition": "in5_mode==6"
            },
            {
                "name": "Input 6",
                "reg_type": "discrete",
                "address": 5,
                "type": "switch",
                "sporadic": false,
                "condition": "isDefined(in6_mode)==0||in6_mode==3",
                "group": "gg_in6_channels"
            },
            {
                "name": "Input 6 counter",
                "reg_type": "input",
                "address": 37,
                "type": "value",
                "sporadic": false,
                "condition": "isDefined(in6_mode)==0||in6_mode==3",
                "group": "gg_in6_channels",
				"enabled": false
            },
            {
                "name": "Input 6",
                "reg_type": "discrete",
                "address": 5,
                "type": "switch",
                "sporadic": true,
                "condition": "isDefined(in6_mode)&&in6_mode!=3",
                "group": "gg_in6_channels"
            },
            {
                "name": "Input 6 counter",
                "reg_type": "input",
                "address": 37,
                "type": "value",
                "sporadic": true,
                "condition": "isDefined(in6_mode)&&in6_mode!=3",
                "group": "gg_in6_channels",
				"enabled": false
            },
            {
                "name": "Input 6 freq",
                "reg_type": "input",
                "address": 50,
                "type": "value",
                "format": "u32",
                "scale": 1.52588e-5,
                "round_to": 0.001,
                "enabled": false,
                "group": "gg_in6_channels"
            },
            {
                "name": "Input 6 Single Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 469,
                "type": "value",
                "sporadic": true,
                "group": "gg_in6_channels",
                "condition": "in6_mode==6"
            },
            {
                "name": "Input 6 Long Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 485,
                "type": "value",
                "sporadic": true,
                "group": "gg_in6_channels",
                "condition": "in6_mode==6"
            },
            {
                "name": "Input 6 Double Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 501,
                "type": "value",
                "sporadic": true,
                "group": "gg_in6_channels",
                "condition": "in6_mode==6"
            },
            {
                "name": "Input 6 Shortlong Press Counter",
                "enabled": false,
                "reg_type": "press_counter",
                "address": 517,
                "type": "value",
                "sporadic": true,
                "group": "gg_in6_channels",
                "condition": "in6_mode==6"
            },
            {
                "name": "K1",
                "reg_type": "coil",
                "address": 0,
                "type": "switch",
                "sporadic": true,
                "group": "gg_outputs_channels",
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0"
            },
            {
                "name": "K1",
                "reg_type": "coil",
                "readonly": false,
                "address": 0,
                "type": "switch",
                "sporadic": true,
                "group": "gg_outputs_channels",
                "condition": "curtain1_mode==1"
            },
            {
                "name": "K2",
                "reg_type": "coil",
                "address": 1,
                "type": "switch",
                "sporadic": true,
                "group": "gg_outputs_channels",
                "condition": "isDefined(curtain1_mode)==0||curtain1_mode==0"
            },
            {
                "name": "K2",
                "reg_type": "coil",
                "readonly": false,
                "address": 1,
                "type": "switch",
                "sporadic": true,
                "group": "gg_outputs_channels",
                "condition": "curtain1_mode==1"
            },
            {
                "name": "K3",
                "reg_type": "coil",
                "address": 2,
                "type": "switch",
                "sporadic": true,
                "group": "gg_outputs_channels",
                "condition": "isDefined(curtain2_mode)==0||curtain2_mode==0"
            },
            {
                "name": "K3",
                "reg_type": "coil",
                "readonly": false,
                "address": 2,
                "type": "switch",
                "sporadic": true,
                "group": "gg_outputs_channels",
                "condition": "curtain2_mode==1"
            },
            {
                "name": "K4",
                "reg_type": "coil",
                "address": 3,
                "type": "switch",
                "sporadic": true,
                "group": "gg_outputs_channels",
                "condition": "isDefined(curtain2_mode)==0||curtain2_mode==0"
            },
            {
                "name": "K4",
                "reg_type": "coil",
                "readonly": false,
                "address": 3,
                "type": "switch",
                "sporadic": true,
                "group": "gg_outputs_channels",
                "condition": "curtain2_mode==1"
            },
            {
                "name": "K5",
                "reg_type": "coil",
                "address": 4,
                "type": "switch",
                "sporadic": true,
                "group": "gg_outputs_channels",
                "condition": "isDefined(curtain3_mode)==0||curtain3_mode==0"
            },
            {
                "name": "K5",
                "reg_type": "coil",
                "readonly": false,
                "address": 4,
                "type": "switch",
                "sporadic": true,
                "group": "gg_outputs_channels",
                "condition": "curtain3_mode==1"
            },
            {
                "name": "K6",
                "reg_type": "coil",
                "address": 5,
                "type": "switch",
                "sporadic": true,
                "group": "gg_outputs_channels",
                "condition": "isDefined(curtain3_mode)==0||curtain3_mode==0"
            },
            {
                "name": "K6",
                "reg_type": "coil",
                "readonly": false,
                "address": 5,
                "type": "switch",
                "sporadic": true,
                "group": "gg_outputs_channels",
                "condition": "curtain3_mode==1"
            },
            {
                "name": "Curtain 1 Open",
                "reg_type": "coil",
                "address": 16,
                "type": "switch",
                "sporadic": true,
                "group": "gg_curtains_channels",
                "condition": "curtain1_mode==1"
            },
            {
                "name": "Curtain 1 Close",
                "reg_type": "coil",
                "address": 17,
                "type": "switch",
                "sporadic": true,
                "group": "gg_curtains_channels",
                "condition": "curtain1_mode==1"
            },
            {
                "name": "Curtain 2 Open",
                "reg_type": "coil",
                "address": 18,
                "type": "switch",
                "sporadic": true,
                "group": "gg_curtains_channels",
                "condition": "curtain2_mode==1"
            },
            {
                "name": "Curtain 2 Close",
                "reg_type": "coil",
                "address": 19,
                "type": "switch",
                "sporadic": true,
                "group": "gg_curtains_channels",
                "condition": "curtain2_mode==1"
            },
            {
                "name": "Curtain 3 Open",
                "reg_type": "coil",
                "address": 20,
                "type": "switch",
                "sporadic": true,
                "group": "gg_curtains_channels",
                "condition": "curtain3_mode==1"
            },
            {
                "name": "Curtain 3 Close",
                "reg_type": "coil",
                "address": 21,
                "type": "switch",
                "sporadic": true,
                "group": "gg_curtains_channels",
                "condition": "curtain3_mode==1"
            },
            {
                "name": "Serial",
                "type": "text",
                "reg_type": "input",
                "address": 270,
                "format": "u32",
                "group": "g_hw_info",
				"enabled": false
            },
            {
                "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": {
                "template_title": "WB-MR6C_A9 (6-channel relay)",
                "mode_description": "For using button mapping-matrix firmware v1.17.0 or newer is required",
                "outputs_state_after_power_on_description": "Option \"According to inputs\" works for latching switch mode only, firmware v1.18.4 or newer is required",
                "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 using curtain mode firmware v1.21.0 or newer is required. For setup buttons actions select \"Operate according to button mapping-matrix\" mode and configure actions for buttons"
            },
            "ru": {
                "template_title": "WB-MR6C_A9 (6-канальный модуль реле)",

                "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",
                "Input 4": "Вход 4",
                "Input 4 counter": "Счетчик 4",
                "Input 4 freq": "Частота 4",
                "Input 4 Single Press Counter": "Счетчик коротких нажатий входа 4",
                "Input 4 Long Press Counter": "Счетчик длинных нажатий входа 4",
                "Input 4 Double Press Counter": "Счетчик двойных нажатий входа 4",
                "Input 4 Shortlong Press Counter": "Счетчик коротких, а затем длинных нажатий входа 4",
                "Input 5": "Положение крана 3 Открыто",
                "Input 5 counter": "Счетчик 5",
                "Input 5 freq": "Частота 5",
                "Input 5 Single Press Counter": "Счетчик коротких нажатий входа 5",
                "Input 5 Long Press Counter": "Счетчик длинных нажатий входа 5",
                "Input 5 Double Press Counter": "Счетчик двойных нажатий входа 5",
                "Input 5 Shortlong Press Counter": "Счетчик коротких, а затем длинных нажатий входа 5",
                "Input 6": "Положение крана 3 Закрыто",
                "Input 6 counter": "Счетчик 6",
                "Input 6 freq": "Частота 6",
                "Input 6 Single Press Counter": "Счетчик коротких нажатий входа 6",
                "Input 6 Long Press Counter": "Счетчик длинных нажатий входа 6",
                "Input 6 Double Press Counter": "Счетчик двойных нажатий входа 6",
                "Input 6 Shortlong Press Counter": "Счетчик коротких, а затем длинных нажатий входа 6",
                "Outputs": "Выходы",
                "Safety Mode": "Безопасный режим",
                "General": "Общее",
                "HW Info": "Данные модуля",
                "Debug": "Диагностика",
                "Mode": "Режим работы",
                "Press Parameters": "Параметры нажатий",

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

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

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

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

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

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

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

                "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 сhange 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": "Действие при подаче питания",

                "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 для закрытия",
                "Curtain 2": "Кран шаровый 2",
                "Curtain 2 Open": "Открыть кран 2",
                "Curtain 2 Close": "Закрыть кран 2",
                "Curtain 2 Actions": "Действия для крана 2",
                "Use outputs 3 and 4 for curtain 2 control": "Использовать выходы 3 и 4 для управления краном 2",
                "No, use outputs 3 and 4 as regular outputs": "Нет, использовать выходы 3 и 4 как обычные выходы",
                "Use output 3 for open, output 4 for close": "Да, использовать выход 3 для открытия, выход 4 для закрытия",
                "Curtain 3": "Кран шаровый 3",
                "Curtain 3 Open": "Открыть кран 3",
                "Curtain 3 Close": "Закрыть кран 3",
                "Curtain 3 Actions": "Действия для крана 3",
                "Use outputs 5 and 6 for curtain 3 control": "Использовать выходы 5 и 6 для управления краном 3",
                "No, use outputs 5 and 6 as regular outputs": "Нет, использовать выходы 5 и 6 как обычные выходы",
                "Use output 5 for open, output 6 for close": "Да, использовать выход 5 для открытия, выход 6 для закрытия",
                "curtains_control_description": "Для использования режима крана требуется прошивка 1.21.0 или новее. Для настройки действий на нажатия выберите режим \"Управлять по mapping-матрице для кнопок\" на вкладке требуемого входа.",

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

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

