-\ 4data\18\ 3 \ 1(\ 4",
-\rStringMessage\12\f
-\ 4name\18\ 1 \ 1( \12\r
-\ 5value\18\ 2 \ 1( "-
-\ eNumericMessage\12\f
-\ 4name\18\ 1 \ 1( \12\r
-\ 5value\18\ 2 \ 1(\ 1"-
-\ eBooleanMessage\12\f
-\ 4name\18\ 1 \ 1( \12\r
-\ 5value\18\ 2 \ 1(\b"B
-\14EventedStringMessage\12\f
-\ 4name\18\ 1 \ 1( \12\r
-\ 5value\18\ 2 \ 1( \12\r
-\ 5event\18\ 3 \ 1( "C
-\15EventedBooleanMessage\12\f
-\ 4name\18\ 1 \ 1( \12\r
-\ 5value\18\ 2 \ 1( \12\r
-\ 5event\18\ 3 \ 1(\b"C
-\15EventedNumericMessage\12\f
-\ 4name\18\ 1 \ 1( \12\r
-\ 5value\18\ 2 \ 1( \12\r
-\ 5event\18\ 3 \ 1(\ 1B\1c
+\ 4data\18\ 3 \ 1(\f"¦\ 1
+\ eControlCommand\12)
+\ 4type\18\ 1 \ 1(\ e2\e.openxc.ControlCommand.Type\125
+\12diagnostic_request\18\ 2 \ 1(\v2\19.openxc.DiagnosticRequest"2
+\ 4Type\12\v
+\aVERSION\10\ 1\12\r
+ DEVICE_ID\10\ 2\12\ e
+
+DIAGNOSTIC\10\ 3"ª\ 1
+\11DiagnosticRequest\12\v
+\ 3bus\18\ 1 \ 1(\ 5\12\12
+
+message_id\18\ 2 \ 1(\r\12\f
+\ 4mode\18\ 3 \ 1(\r\12\v
+\ 3pid\18\ 4 \ 1(\r\12\ f
+\apayload\18\ 5 \ 1(\f\12\15
+\rparse_payload\18\ 6 \ 1(\b\12\ e
+\ 6factor\18\a \ 1(\ 1\12\ e
+\ 6offset\18\b \ 1(\ 1\12\11
+ frequency\18 \ 1(\ 1"¡\ 1
+\12DiagnosticResponse\12\v
+\ 3bus\18\ 1 \ 1(\ 5\12\12
+
+message_id\18\ 2 \ 1(\r\12\f
+\ 4mode\18\ 3 \ 1(\r\12\v
+\ 3pid\18\ 4 \ 1(\r\12\ f
+\asuccess\18\ 5 \ 1(\b\12\1e
+\16negative_response_code\18\ 6 \ 1(\r\12\ f
+\apayload\18\a \ 1(\f\12\r
+\ 5value\18\b \ 1(\ 1"µ\ 2
+\11TranslatedMessage\12,
+\ 4type\18\ 1 \ 1(\ e2\1e.openxc.TranslatedMessage.Type\12\f
+\ 4name\18\ 2 \ 1( \12\14
+\fstring_value\18\ 3 \ 1( \12\15
+\rnumeric_value\18\ 4 \ 1(\ 1\12\15
+\rboolean_value\18\ 5 \ 1(\b\12\14
+\fstring_event\18\ 6 \ 1( \12\15
+\rnumeric_event\18\a \ 1(\ 1\12\15
+\rboolean_event\18\b \ 1(\b"\
+\ 4Type\12
+
+\ 6STRING\10\ 1\12\a
+\ 3NUM\10\ 2\12\b
+\ 4BOOL\10\ 3\12\12
+\ eEVENTED_STRING\10\ 4\12\ f
+\vEVENTED_NUM\10\ 5\12\10
+\fEVENTED_BOOL\10\ 6B\1c