{
  "eep": "D2-01-08",
  "rorg_number": "0xD2",
  "telegram": "VLD",
  "func_number": "0x01",
  "type_number": "0x08",
  "type_title": "Electronic switch with energy measurement and local control",
  "bidirectional": true,
  "objects": {
    "preDefined": [
      "RM",
      "ep",
      "MAT",
      "MIT",
      "qu",
      "EC",
      "AC"
    ],
    "CMD": {
      "type": "state",
      "common": {
        "name": {
          "en": "Command",
          "de": "Befehl"
        },
        "role": "state",
        "type": "number",
        "read": true,
        "write": true,
        "states": {
          "0": "OFF",
          "1": "ON",
          "2": "Setoutput settings",
          "3": "Statusquery",
          "4": "Setmeasurement settings",
          "5": "Measurementquery",
          "6": "Resetmeasurement values"
        },
        "def": 0
      },
      "native": {}
    },
    "de": {
      "type": "state",
      "common": {
        "name": {
          "en": "Taught-in devices",
          "de": "Geräte Einlernen"
        },
        "role": "state",
        "type": "number",
        "read": true,
        "write": true,
        "states": {
          "0": "Disable taught-in devices",
          "1": "Enable taught-in devices"
        },
        "def": 0
      },
      "native": {}
    },
    "OC": {
      "type": "state",
      "common": {
        "name": {
          "en": "Over current shut down",
          "de": "Überstrom Abschaltung"
        },
        "role": "state",
        "type": "number",
        "read": true,
        "write": true,
        "states": {
          "0": "Static off",
          "1": "Automatic restart"
        },
        "def": 0
      },
      "native": {}
    },
    "RO": {
      "type": "state",
      "common": {
        "name": {
          "en": "Reset over current shutdown",
          "de": "Überstrom Abschaltung zurücksetzen"
        },
        "role": "state",
        "type": "number",
        "read": true,
        "write": true,
        "states": {
          "0": "Not active",
          "1": "Trigger signal"
        },
        "def": 0
      },
      "native": {}
    },
    "LC": {
      "type": "state",
      "common": {
        "name": {
          "en": "Local control",
          "de": "Lokale Steuerung"
        },
        "role": "state",
        "type": "number",
        "read": true,
        "write": true,
        "states": {
          "0": "Disable local control",
          "1": "Enable local control"
        },
        "def": 0
      },
      "native": {}
    },
    "dn": {
      "type": "state",
      "common": {
        "name": {
          "en": "User interface indication",
          "de": "Bedienoberfläche Anzeige"
        },
        "role": "state",
        "type": "number",
        "read": true,
        "write": true,
        "states": {
          "0": "Day operation",
          "1": "Night operation"
        },
        "def": 0
      },
      "native": {}
    },
    "DS": {
      "type": "state",
      "common": {
        "name": {
          "en": "Default state",
          "de": "Standard Zustand"
        },
        "role": "state",
        "type": "number",
        "read": true,
        "write": true,
        "states": {
          "0": "Off",
          "1": "On",
          "2": "Remember previous state"
        },
        "def": 0
      },
      "native": {}
    },
    "OV": {
      "type": "state",
      "common": {
        "name": {
          "en": "Output ON",
          "de": "Ausgang AN"
        },
        "role": "state",
        "type": "boolean",
        "read": true,
        "write": true,
        "def": false
      },
      "native": {}
    },
    "EL": {
      "type": "state",
      "common": {
        "name": {
          "en": "Error level",
          "de": "Fehlerniveau"
        },
        "role": "state",
        "type": "number",
        "read": true,
        "write": true,
        "states": {
          "0": "Hardware OK",
          "1": "Hardware warning",
          "2": "Hardware failure",
          "3": "Error level not supported"
        },
        "def": 0
      },
      "native": {}
    },
    "UN": {
      "type": "state",
      "common": {
        "name": {
          "en": "Unit",
          "de": "Einheit"
        },
        "role": "state",
        "type": "number",
        "read": true,
        "write": true,
        "states": {
          "1": "Wh",
          "2": "kWh",
          "3": "W",
          "4": "kW",
          "00": "WS"
        },
        "def": 0
      },
      "native": {}
    }
  },
  "case": [
    {
      "send": true,
      "condition": {
        "command": [
          {
            "value": 0
          }
        ]
      },
      "datafield": [
        {
          "data": "fixed parameter",
          "description": "command",
          "bitoffs": "4",
          "bitsize": "4",
          "value": 1
        },
        {
          "data": "fixed parameter",
          "description": "dummy byte",
          "bitoffs": "8",
          "bitsize": "3",
          "value": 0
        },
        {
          "data": "fixed parameter",
          "description": "dummy byte",
          "bitoffs": "11",
          "bitsize": "5",
          "value": 0
        },
        {
          "data": "fixed parameter",
          "description": "Output off",
          "bitoffs": "17",
          "bitsize": "7",
          "value": 0
        }
      ]
    },
    {
      "send": true,
      "condition": {
        "command": [
          {
            "value": 1
          }
        ]
      },
      "datafield": [
        {
          "data": "fixed parameter",
          "description": "command",
          "bitoffs": "4",
          "bitsize": "4",
          "value": 1
        },
        {
          "data": "fixed parameter",
          "description": "dummy byte",
          "bitoffs": "8",
          "bitsize": "3",
          "value": 0
        },
        {
          "data": "fixed parameter",
          "description": "dummy byte",
          "bitoffs": "11",
          "bitsize": "5",
          "value": 0
        },
        {
          "data": "fixed parameter",
          "description": "Output off",
          "bitoffs": "17",
          "bitsize": "7",
          "value": 1
        }
      ]
    },
    {
      "send": true,
      "condition": {
        "command": [
          {
            "value": 2
          }
        ]
      },
      "datafield": [
        {
          "data": "fixed parameter",
          "description": "command",
          "bitoffs": "4",
          "bitsize": "4",
          "value": 2
        },
        {
          "data": "Taught-in devices",
          "shortcut": "de",
          "bitoffs": "0",
          "bitsize": "1",
          "value": {
            "var": "value"
          }
        },
        {
          "data": "Over current shut down",
          "shortcut": "OC",
          "bitoffs": "8",
          "bitsize": "1",
          "value": {
            "var": "value"
          }
        },
        {
          "data": "Reset over current shutdown",
          "shortcut": "RO",
          "bitoffs": "9",
          "bitsize": "1",
          "value": {
            "var": "value"
          }
        },
        {
          "data": "Local control",
          "shortcut": "LC",
          "bitoffs": "10",
          "bitsize": "1",
          "value": {
            "var": "value"
          }
        },
        {
          "data": "fixed parameter",
          "description": "dummy byte",
          "bitoffs": "16",
          "bitsize": "8",
          "value": 0
        },
        {
          "data": "User interface indication",
          "shortcut": "dn",
          "bitoffs": "24",
          "bitsize": "1",
          "value": {
            "var": "value"
          }
        },
        {
          "data": "fixed parameter",
          "description": "dummy bit",
          "bitoffs": "25",
          "bitsize": "1",
          "value": 0
        },
        {
          "data": "Default state",
          "shortcut": "DS",
          "bitoffs": "26",
          "bitsize": "2",
          "value": {
            "var": "value"
          }
        },
        {
          "data": "fixed parameter",
          "description": "dummy bit",
          "bitoffs": "28",
          "bitsize": "4",
          "value": 0
        }
      ]
    },
    {
      "send": true,
      "condition": {
        "command": [
          {
            "value": 3
          }
        ]
      },
      "datafield": [
        {
          "data": "fixed parameter",
          "description": "command",
          "bitoffs": "4",
          "bitsize": "4",
          "value": 3
        },
        {
          "data": "fixed parameter",
          "description": "I/O channel",
          "bitoffs": "11",
          "bitsize": "5",
          "value": 0
        }
      ]
    },
    {
      "send": false,
      "condition": [
        {
          "bitoffs": "4",
          "bitsize": "4",
          "value": 4
        }
      ],
      "datafield": [
        {
          "data": "Output on",
          "shortcut": "OV",
          "bitoffs": "17",
          "bitsize": "7",
          "value": {
            "==": [
              {
                "var": "value"
              },
              100
            ]
          }
        },
        {
          "data": "Error level",
          "shortcut": "EL",
          "description": "Error level",
          "bitoffs": "9",
          "bitsize": "2",
          "value": {
            "var": "value"
          }
        },
        {
          "data": "Local control",
          "shortcut": "LC",
          "bitoffs": "16",
          "bitsize": "1",
          "value": {
            "var": "value"
          }
        }
      ]
    },
    {
      "send": true,
      "condition": {
        "command": [
          {
            "value": 4
          }
        ]
      },
      "datafield": [
        {
          "data": "fixed parameter",
          "description": "command",
          "bitoffs": "4",
          "bitsize": "4",
          "value": 5
        },
        {
          "data": "Report measurement",
          "shortcut": "RM",
          "bitoffs": "8",
          "bitsize": "1",
          "value": {
            "var": "value"
          }
        },
        {
          "data": "fixed parameter",
          "description": "Reset measurement",
          "bitoffs": "9",
          "bitsize": "1",
          "value": 0
        },
        {
          "data": "Measurement mode",
          "shortcut": "ep",
          "bitoffs": "10",
          "bitsize": "1",
          "value": {
            "var": "value"
          }
        },
        {
          "data": "fixed parameter",
          "description": "Measurement delta LSB",
          "bitoffs": "16",
          "bitsize": "4",
          "value": 15
        },
        {
          "data": "fixed parameter",
          "description": "Measurement delta",
          "bitoffs": "24",
          "bitsize": "8",
          "value": 255
        },
        {
          "data": "Unit",
          "shortcut": "UN",
          "bitoffs": "21",
          "bitsize": "3",
          "value": {
            "var": "value"
          }
        },
        {
          "data": "Maximum time between two subsequent actuator messages",
          "shortcut": "MAT",
          "bitoffs": "32",
          "bitsize": "8",
          "value_out": {
            "/": [
              {
                "+": [
                  {
                    "-": [
                      {
                        "var": "value"
                      },
                      0
                    ]
                  },
                  0
                ]
              },
              10
            ]
          }
        },
        {
          "data": "Minimum time between two subsequent actuator messages",
          "shortcut": "MIT",
          "description": "Measurement Response messages [s]",
          "bitoffs": "40",
          "bitsize": "8",
          "value": {
            "var": "value"
          }
        }
      ]
    },
    {
      "send": true,
      "condition": {
        "command": [
          {
            "value": 5
          }
        ]
      },
      "datafield": [
        {
          "data": "fixed parameter",
          "description": "command",
          "bitoffs": "4",
          "bitsize": "4",
          "value": 6
        },
        {
          "data": "Query",
          "shortcut": "qu",
          "bitoffs": "10",
          "bitsize": "1",
          "value": {
            "var": "value"
          }
        }
      ]
    },
    {
      "send": false,
      "condition": [
        {
          "bitoffs": "4",
          "bitsize": "4",
          "value": 7
        }
      ],
      "datafield": [
        {
          "data": "Energy counter",
          "shortcut": "EC",
          "bitoffs": "16",
          "bitsize": "32",
          "condition": {
            "or": [
              {
                "==": [
                  {
                    "var": "value2"
                  },
                  0
                ]
              },
              {
                "==": [
                  {
                    "var": "value2"
                  },
                  1
                ]
              },
              {
                "==": [
                  {
                    "var": "value2"
                  },
                  2
                ]
              }
            ]
          },
          "secondArgument": {
            "bitoffs": "8",
            "bitsize": "3"
          },
          "value": {
            "var": "value"
          },
          "unit": {
            "if": [
              {
                "==": [
                  {
                    "var": "value2"
                  },
                  0
                ]
              },
              "Ws",
              {
                "==": [
                  {
                    "var": "value2"
                  },
                  1
                ]
              },
              "Wh",
              {
                "==": [
                  {
                    "var": "value2"
                  },
                  2
                ]
              },
              "kWh"
            ]
          }
        },
        {
          "data": "Actual Power",
          "shortcut": "AC",
          "bitoffs": "16",
          "bitsize": "32",
          "condition": {
            "or": [
              {
                "==": [
                  {
                    "var": "value2"
                  },
                  3
                ]
              },
              {
                "==": [
                  {
                    "var": "value2"
                  },
                  4
                ]
              }
            ]
          },
          "secondArgument": {
            "bitoffs": "8",
            "bitsize": "3"
          },
          "value": {
            "var": "value"
          },
          "unit": {
            "if": [
              {
                "==": [
                  {
                    "var": "value2"
                  },
                  3
                ]
              },
              "W",
              {
                "==": [
                  {
                    "var": "value2"
                  },
                  4
                ]
              },
              "kW"
            ]
          }
        }
      ]
    },
    {
      "send": true,
      "condition": {
        "command": [
          {
            "value": 6
          }
        ]
      },
      "datafield": [
        {
          "data": "fixed parameter",
          "description": "command",
          "bitoffs": "4",
          "bitsize": "4",
          "value": 5
        },
        {
          "data": "Report measurement",
          "shortcut": "RM",
          "bitoffs": "8",
          "bitsize": "1",
          "value": {
            "var": "value"
          }
        },
        {
          "data": "fixed parameter",
          "description": "Reset measurement",
          "bitoffs": "9",
          "bitsize": "1",
          "value": 1
        },
        {
          "data": "Measurement mode",
          "shortcut": "ep",
          "bitoffs": "10",
          "bitsize": "1",
          "value": {
            "var": "value"
          }
        },
        {
          "data": "fixed parameter",
          "description": "Measurement delta LSB",
          "bitoffs": "16",
          "bitsize": "4",
          "value": 15
        },
        {
          "data": "fixed parameter",
          "description": "Measurement delta",
          "bitoffs": "24",
          "bitsize": "8",
          "value": 255
        },
        {
          "data": "Unit",
          "shortcut": "UN",
          "bitoffs": "21",
          "bitsize": "3",
          "value": {
            "var": "value"
          }
        },
        {
          "data": "Maximum time between two subsequent actuator messages",
          "shortcut": "MAT",
          "bitoffs": "32",
          "bitsize": "8",
          "value_out": {
            "/": [
              {
                "+": [
                  {
                    "-": [
                      {
                        "var": "value"
                      },
                      0
                    ]
                  },
                  0
                ]
              },
              10
            ]
          }
        },
        {
          "data": "Minimum time between two subsequent actuator messages",
          "shortcut": "MIT",
          "bitoffs": "40",
          "bitsize": "8",
          "value": {
            "var": "value"
          }
        }
      ]
    }
  ]
}