{
    "name": "Mock Devices",
    "idName": "MockDevice",
    "id": "727a4a9a-c187-446f-aadf-f1b2220607d1",
    "paramTypes": [
        {
            "id": "e1f72121-a426-45e2-b475-8262b5cdf103",
            "idName": "configParamInt",
            "name": "configParamInt",
            "type": "int",
            "index": 0,
            "defaultValue": 42,
            "minValue": 1,
            "maxValue": 50
        },
        {
            "id": "c75723b6-ea4f-4982-9751-6c5e39c88145",
            "idName": "configParamBool",
            "name": "configParamBool",
            "type": "bool",
            "index": 1,
            "defaultValue": true
        }
    ],
    "vendors": [
        {
            "name": "guh",
            "idName": "guh",
            "id": "2062d64d-3232-433c-88bc-0d33c0ba2ba6",
            "deviceClasses": [
                {
                    "id": "753f0d32-0468-4d08-82ed-1964aab03298",
                    "idName": "mock",
                    "name": "Mock Device",
                    "deviceIcon": "Tune",
                    "interfaces": ["gateway", "light", "mediacontroller"],
                    "basicTags": [
                        "Device",
                        "Actuator",
                        "Gateway"
                    ],
                    "createMethods": ["user", "discovery"],
                    "primaryActionTypeId": "defd3ed6-1a0d-400b-8879-a0202cf39935",
                    "primaryStateTypeId": "80baec19-54de-4948-ac46-31eabfaceb83",
                    "discoveryParamTypes": [
                        {
                            "id": "d222adb4-2f9c-4c3f-8655-76400d0fb6ce",
                            "idName": "resultCount",
                            "name": "resultCount",
                            "type": "int",
                            "index": 0,
                            "defaultValue": 2,
                            "allowedValues": [1, 2]
                        }
                    ],
                    "paramTypes": [
                        {
                            "id": "d4f06047-125e-4479-9810-b54c189917f5",
                            "idName": "httpport",
                            "name": "http port",
                            "index": 0,
                            "type": "int"
                        },
                        {
                            "id": "f2977061-4dd0-4ef5-85aa-3b7134743be3",
                            "idName": "async",
                            "name": "async",
                            "type": "bool",
                            "index": 1,
                            "defaultValue": false,
                            "readOnly": true
                        },
                        {
                            "id": "ae8f8901-f2c1-42a5-8111-6d2fc8e4c1e4",
                            "idName": "broken",
                            "name": "broken",
                            "index": 2,
                            "type": "bool",
                            "defaultValue": false
                        }
                    ],
                    "stateTypes": [
                        {
                            "id": "80baec19-54de-4948-ac46-31eabfaceb83",
                            "idName": "int",
                            "name": "Dummy int state",
                            "eventTypeName": "Dummy int state changed",
                            "index": 0,
                            "defaultValue": 10,
                            "graphRelevant": true,
                            "type": "int"
                        },
                        {
                            "id": "9dd6a97c-dfd1-43dc-acbd-367932742310",
                            "idName": "boolValue",
                            "name": "Dummy bool state",
                            "eventTypeName": "Dummy bool state changed",
                            "index": 1,
                            "defaultValue": false,
                            "type": "bool",
                            "cached": false
                        }
                    ],
                    "eventTypes": [
                        {
                            "id": "45bf3752-0fc6-46b9-89fd-ffd878b5b22b",
                            "index": 0,
                            "name": "Mock Event 1",
                            "graphRelevant": true
                        },
                        {
                            "id": "863d5920-b1cf-4eb9-88bd-8f7b8583b1cf",
                            "name": "Mock Event 2",
                            "index": 1,
                            "paramTypes": [
                                {
                                    "id": "0550e16d-60b9-4ba5-83f4-4d3cee656121",
                                    "idName": "mockParamInt",
                                    "name": "mockParamInt",
                                    "type": "int",
                                    "index": 0,
                                    "defaultValue": 10
                                }
                            ]
                        }
                    ],
                    "actionTypes": [
                        {
                            "id": "dea0f4e1-65e3-4981-8eaa-2701c53a9185",
                            "name": "Mock Action 1 (with params)",
                            "idName": "withParams",
                            "index": 0,
                            "paramTypes": [
                                {
                                    "id": "a2d3a256-a551-4712-a65b-ecd5a436a1cb",
                                    "idName": "mockActionParam1",
                                    "name": "mockActionParam1",
                                    "index": 0,
                                    "type": "int"
                                },
                                {
                                    "id": "304a4899-18be-4e3b-94f4-d03be52f3233",
                                    "idName": "mockActionParam2",
                                    "name": "mockActionParam2",
                                    "index": 1,
                                    "type": "bool"
                                }
                            ]
                        },
                        {
                            "id": "defd3ed6-1a0d-400b-8879-a0202cf39935",
                            "idName": "withoutParams",
                            "index": 1,
                            "name": "Mock Action 2 (without params)"
                        },
                        {
                            "id": "fbae06d3-7666-483e-a39e-ec50fe89054e",
                            "idName": "mockAsync",
                            "index": 2,
                            "name": "Mock Action 3 (async)"
                        },
                        {
                            "id": "df3cf33d-26d5-4577-9132-9823bd33fad0",
                            "idName": "mockFailing",
                            "index": 3,
                            "name": "Mock Action 4 (broken)"
                        },
                        {
                            "id": "bfe89a1d-3497-4121-8318-e77c37537219",
                            "idName": "mockAsyncFailing",
                            "index": 4,
                            "name": "Mock Action 5 (async, broken)"
                        }
                    ]
                },
                {
                    "id": "ab4257b3-7548-47ee-9bd4-7dc3004fd197",
                    "idName": "mockDeviceAuto",
                    "name": "Mock Device (Auto created)",
                    "interfaces": ["gateway"],
                    "basicTags": [
                        "Device",
                        "Actuator",
                        "Gateway"
                    ],
                    "createMethods": ["auto"],
                    "primaryActionTypeId": "defd3ed6-1a0d-400b-8879-a0202cf39935",
                    "primaryStateTypeId": "80baec19-54de-4948-ac46-31eabfaceb83",
                    "deviceIcon": "Tune",
                    "paramTypes": [
                        {
                            "id": "d4f06047-125e-4479-9810-b54c189917f5",
                            "idName": "httpport",
                            "name": "http port",
                            "index": 0,
                            "type": "int"
                        },
                        {
                            "id": "f2977061-4dd0-4ef5-85aa-3b7134743be3",
                            "idName": "async",
                            "name": "async",
                            "type": "bool",
                            "index": 1,
                            "defaultValue": false,
                            "readOnly": true
                        },
                        {
                            "id": "ae8f8901-f2c1-42a5-8111-6d2fc8e4c1e4",
                            "idName": "broken",
                            "name": "broken",
                            "index": 2,
                            "type": "bool",
                            "defaultValue": false
                        }
                    ],
                    "stateTypes": [
                        {
                            "id": "80baec19-54de-4948-ac46-31eabfaceb83",
                            "idName": "int",
                            "name": "Dummy int state",
                            "eventTypeName": "Dummy int state changed",
                            "index": 0,
                            "defaultValue": 10,
                            "graphRelevant": true,
                            "type": "int"
                        },
                        {
                            "id": "9dd6a97c-dfd1-43dc-acbd-367932742310",
                            "idName": "boolValue",
                            "name": "Dummy bool state",
                            "eventTypeName": "Dummy bool state changed",
                            "index": 1,
                            "defaultValue": false,
                            "type": "bool",
                            "cached": false
                        }
                    ],
                    "eventTypes": [
                        {
                            "id": "45bf3752-0fc6-46b9-89fd-ffd878b5b22b",
                            "idName": "event1",
                            "index": 0,
                            "name": "Mock Event 1"
                        },
                        {
                            "id": "863d5920-b1cf-4eb9-88bd-8f7b8583b1cf",
                            "idName": "event2",
                            "name": "Mock Event 2",
                            "index": 1,
                            "paramTypes": [
                                {
                                    "id": "0550e16d-60b9-4ba5-83f4-4d3cee656121",
                                    "idName": "mockParamInt",
                                    "name": "mockParamInt",
                                    "type": "int",
                                    "index": 0,
                                    "defaultValue": 10
                                }
                            ]
                        }
                    ],
                    "actionTypes": [
                        {
                            "id": "dea0f4e1-65e3-4981-8eaa-2701c53a9185",
                            "name": "Mock Action 1 (with params)",
                            "idName": "withParams",
                            "index": 0,
                            "paramTypes": [
                                {
                                    "id": "a2d3a256-a551-4712-a65b-ecd5a436a1cb",
                                    "idName": "mockActionParam1",
                                    "name": "mockActionParam1",
                                    "index": 0,
                                    "type": "int"
                                },
                                {
                                    "id": "304a4899-18be-4e3b-94f4-d03be52f3233",
                                    "idName": "mockActionParam2",
                                    "name": "mockActionParam2",
                                    "index": 1,
                                    "type": "bool"
                                }
                            ]
                        },
                        {
                            "id": "defd3ed6-1a0d-400b-8879-a0202cf39935",
                            "index": 1,
                            "name": "Mock Action 2 (without params)"
                        },
                        {
                            "id": "fbae06d3-7666-483e-a39e-ec50fe89054e",
                            "index": 2,
                            "name": "Mock Action 3 (async)"
                        },
                        {
                            "id": "df3cf33d-26d5-4577-9132-9823bd33fad0",
                            "index": 3,
                            "name": "Mock Action 4 (broken)"
                        },
                        {
                            "id": "bfe89a1d-3497-4121-8318-e77c37537219",
                            "index": 4,
                            "name": "Mock Action 5 (async, broken)"
                        }
                    ]
                },
                {
                    "id": "9e03144c-e436-4eea-82d9-ccb33ef778db",
                    "idName": "mockPushButton",
                    "name": "Mock Device (Push Button)",
                    "interfaces": ["gateway"],
                    "basicTags": [
                        "Device",
                        "Actuator",
                        "Gateway"
                    ],
                    "createMethods": ["discovery"],
                    "setupMethod": "pushButton",
                    "deviceIcon": "Tune",
                    "pairingInfo": "Wait 3 second before you continue, the push button will be pressed automatically.",
                    "paramTypes": [ ],
                    "discoveryParamTypes": [
                        {
                            "id": "d222adb4-2f9c-4c3f-8655-76400d0fb6ce",
                            "idName": "resultCount",
                            "name": "resultCount",
                            "type": "int",
                            "index": 0,
                            "defaultValue": 2,
                            "allowedValues": [1, 2]
                        }
                    ],
                    "stateTypes": [
                        {
                            "id": "20dc7c22-c50e-42db-837c-2bbced939f8e",
                            "idName": "color",
                            "name": "color",
                            "eventTypeName": "color changed",
                            "actionTypeName": "Set color",
                            "index": 0,
                            "type": "QColor",
                            "defaultValue": "#000000",
                            "ruleRelevant": false,
                            "eventRuleRelevant": false,
                            "writable": true
                        },
                        {
                            "id": "72981c04-267a-4ba0-a59e-9921d2f3af9c",
                            "idName": "percentage",
                            "name": "percentage",
                            "eventTypeName": "percentage changed",
                            "actionTypeName": "Set percentage",
                            "type": "int",
                            "index": 1,
                            "unit": "Percentage",
                            "defaultValue": 0,
                            "ruleRelevant": false,
                            "minValue": 0,
                            "maxValue": 100,
                            "writable": true
                        },
                        {
                            "id": "05f63f9c-f61e-4dcf-ad55-3f13fde2765b",
                            "idName": "allowedValues",
                            "name": "allowed values",
                            "eventTypeName": "allowed values changed",
                            "actionTypeName": "Set allowed values",
                            "type": "QString",
                            "index": 2,
                            "defaultValue": "String value 1",
                            "possibleValues": [
                                "String value 1",
                                "String value 2",
                                "String value 3",
                                "String value 4"
                            ],
                            "writable": true
                        },
                        {
                            "id": "53cd7c55-49b7-441b-b970-9048f20f0e2c",
                            "idName": "double",
                            "name": "double value",
                            "eventTypeName": "double value changed",
                            "actionTypeName": "Set double value",
                            "type": "double",
                            "index": 3,
                            "defaultValue": 0.0,
                            "minValue": -100.0,
                            "maxValue": 100.0,
                            "writable": true
                        },
                        {
                            "id": "e680f7a4-b39e-46da-be41-fa3170fe3768",
                            "idName": "bool",
                            "name": "bool value",
                            "eventTypeName": "bool value changed",
                            "actionTypeName": "Set bool value",
                            "index": 4,
                            "type": "bool",
                            "defaultValue": false,
                            "writable": true
                        }
                    ],
                    "actionTypes": [
                        {
                            "id": "54646e7c-bc54-4895-81a2-590d72d120f9",
                            "idName": "timeout",
                            "index": 0,
                            "name": "Timeout action"
                        }
                    ]
                },
                {
                    "id": "296f1fd4-e893-46b2-8a42-50d1bceb8730",
                    "idName": "mockDisplayPin",
                    "name": "Mock Device (Display Pin)",
                    "deviceIcon": "Tune",
                    "interfaces": ["gateway"],
                    "basicTags": [
                        "Device",
                        "Actuator",
                        "Gateway"
                    ],
                    "createMethods": ["discovery"],
                    "setupMethod": "displayPin",
                    "pairingInfo": "Please enter the secret which normaly will be displayed on the device. For the mockdevice the pin is 243681.",
                    "discoveryParamTypes": [
                        {
                            "id": "d222adb4-2f9c-4c3f-8655-76400d0fb6ce",
                            "idName": "resultCount",
                            "name": "resultCount",
                            "type": "int",
                            "index": 0,
                            "defaultValue": 2,
                            "allowedValues": [1, 2]
                        }
                    ],
                    "paramTypes": [
                        {
                            "id": "da820e07-22dc-4173-9c07-2f49a4e265f9",
                            "idName": "pin",
                            "name": "pin",
                            "type": "QString",
                            "index": 0,
                            "inputType": "TextLine",
                            "defaultValue": "243681",
                            "readOnly": true
                        }
                    ],
                    "stateTypes": [
                        {
                            "id": "20dc7c22-c50e-42db-837c-2bbced939f8e",
                            "idName": "color",
                            "name": "color",
                            "eventTypeName": "color changed",
                            "actionTypeName": "Set color",
                            "index": 0,
                            "type": "QColor",
                            "defaultValue": "#000000",
                            "ruleRelevant": false,
                            "eventRuleRelevant": false,
                            "writable": true
                        },
                        {
                            "id": "72981c04-267a-4ba0-a59e-9921d2f3af9c",
                            "idName": "percentage",
                            "name": "percentage",
                            "eventTypeName": "percentage changed",
                            "actionTypeName": "Set percentage",
                            "type": "int",
                            "index": 1,
                            "unit": "Percentage",
                            "defaultValue": 0,
                            "ruleRelevant": false,
                            "minValue": 0,
                            "maxValue": 100,
                            "writable": true
                        },
                        {
                            "id": "05f63f9c-f61e-4dcf-ad55-3f13fde2765b",
                            "idName": "allowedValues",
                            "name": "allowed values",
                            "eventTypeName": "allowed values changed",
                            "actionTypeName": "Set allowed values",
                            "type": "QString",
                            "index": 2,
                            "defaultValue": "String value 1",
                            "possibleValues": [
                                "String value 1",
                                "String value 2",
                                "String value 3",
                                "String value 4"
                            ],
                            "writable": true
                        },
                        {
                            "id": "53cd7c55-49b7-441b-b970-9048f20f0e2c",
                            "idName": "double",
                            "name": "double value",
                            "eventTypeName": "double value changed",
                            "actionTypeName": "Set double value",
                            "type": "double",
                            "index": 3,
                            "defaultValue": 0.0,
                            "minValue": -100.0,
                            "maxValue": 100.0,
                            "writable": true
                        },
                        {
                            "id": "e680f7a4-b39e-46da-be41-fa3170fe3768",
                            "idName": "bool",
                            "name": "bool value",
                            "eventTypeName": "bool value changed",
                            "actionTypeName": "Set bool value",
                            "index": 4,
                            "type": "bool",
                            "defaultValue": false,
                            "writable": true
                        }
                    ],
                    "actionTypes": [
                        {
                            "id": "54646e7c-bc54-4895-81a2-590d72d120f9",
                            "idName": "timeout",
                            "index": 0,
                            "name": "Timeout action"
                        }
                    ]
                },
                {
                    "id": "a71fbde9-9a38-4bf8-beab-c8aade2608ba",
                    "idName": "mockParent",
                    "name": "Mock Device (Parent)",
                    "deviceIcon": "Tune",
                    "interfaces": ["gateway"],
                    "basicTags": [
                        "Device",
                        "Actuator",
                        "Gateway"
                    ],
                    "createMethods": ["user"],
                    "paramTypes": [ ],
                    "stateTypes": [
                        {
                            "id": "d24ede5f-4064-4898-bb84-cfb533b1fbc0",
                            "idName": "boolValueParent",
                            "name": "bool value",
                            "eventTypeName": "bool value changed",
                            "actionTypeName": "Set bool value",
                            "index": 0,
                            "type": "bool",
                            "defaultValue": false,
                            "writable": true
                        }
                    ]
                },
                {
                    "id": "40893c9f-bc47-40c1-8bf7-b390c7c1b4fc",
                    "idName": "mockChild",
                    "name": "Mock Device (Child)",
                    "createMethods": ["auto"],
                    "basicTags": [
                        "Device",
                        "Actuator"
                    ],
                    "paramTypes": [
                        {
                            "id": "104b5288-404e-42d3-bf38-e40682e75681",
                            "idName": "parentUuid",
                            "name": "parent uuid",
                            "type": "QUuid",
                            "index": 0,
                            "readOnly": true
                        }
                    ],
                    "stateTypes": [
                        {
                            "id": "d24ede5f-4064-4898-bb84-cfb533b1fbc0",
                            "idName": "boolValueParent",
                            "name": "bool value",
                            "eventTypeName": "bool value changed",
                            "actionTypeName": "Set bool value",
                            "index": 0,
                            "type": "bool",
                            "defaultValue": false,
                            "writable": true
                        }
                    ]
                },
                {
                    "id": "515ffdf1-55e5-498d-9abc-4e2fe768f3a9",
                    "idName": "mockInputType",
                    "name": "Mock Device (InputTypes)",
                    "deviceIcon": "Tune",
                    "basicTags": [
                        "Device"
                    ],
                    "createMethods": ["user"],
                    "paramTypes": [
                        {
                            "id": "e6acf0c7-4b8e-4296-ac62-855d20deb816",
                            "idName": "textLine",
                            "name": "Text line",
                            "type": "QString",
                            "index": 0,
                            "inputType": "TextLine",
                            "defaultValue": "This is a text line"
                        },
                        {
                            "id": "716f0994-bc01-42b0-b64d-59236f7320d2",
                            "idName": "textArea",
                            "name": "Text area",
                            "type": "QString",
                            "index": 1,
                            "inputType": "TextArea",
                            "defaultValue": "This is a text area"
                        },
                        {
                            "id": "e5c0d14b-c9f1-4aca-a56e-85bfa6977150",
                            "idName": "password",
                            "name": "Password text",
                            "type": "QString",
                            "index": 2,
                            "inputType": "Password",
                            "defaultValue": "secret"
                        },
                        {
                            "id": "22add8c9-ee4f-43ad-8931-58e999313ac3",
                            "idName": "search",
                            "name": "Search text",
                            "type": "QString",
                            "index": 3,
                            "inputType": "Search",
                            "defaultValue": "Search text..."
                        },
                        {
                            "id": "a8494faf-3a0f-4cf3-84b7-4b39148a838d",
                            "idName": "mail",
                            "name": "Mail address",
                            "type": "QString",
                            "index": 4,
                            "inputType": "Mail",
                            "defaultValue": "name@example.com"
                        },
                        {
                            "id": "9e5f86a0-4bb3-4892-bff8-3fc4032af6e2",
                            "idName": "ip4",
                            "name": "IPv4 address",
                            "type": "QString",
                            "index": 5,
                            "inputType": "IPv4Address",
                            "defaultValue": "127.0.0.1"
                        },
                        {
                            "id": "43bf3832-dd48-4090-a836-656e8b60216e",
                            "idName": "ip6",
                            "name": "IPv6 address",
                            "type": "QString",
                            "index": 6,
                            "inputType": "IPv6Address",
                            "defaultValue": "::1"
                        },
                        {
                            "id": "fa67229f-fcef-496f-b671-59a4b48f3ab5",
                            "idName": "url",
                            "name": "URL",
                            "type": "QString",
                            "index": 7,
                            "inputType": "Url",
                            "defaultValue": "http://guh.guru"
                        },
                        {
                            "id": "e93db587-7919-48f3-8c88-1651de63c765",
                            "idName": "mac",
                            "name": "Mac address",
                            "type": "QString",
                            "index": 8,
                            "inputType": "MacAddress",
                            "defaultValue": "11:22:33:aa:bb:cc"
                        }
                    ]
                }
            ]
        }
    ]
}
