-
Notifications
You must be signed in to change notification settings - Fork 5
/
helios_vars.schema.json
133 lines (133 loc) · 3.84 KB
/
helios_vars.schema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
{
"$schema": "http://json-schema.org/draft-04/schema#",
"definitions": {},
"id": "https://github.com/mreschka/helios2mqtt/raw/master/helios_vars.schema.json",
"properties": {
"variables": {
"items": {
"properties": {
"access": {
"description": "Access to variable via modbus (read an/or write)",
"enum": [
"RW",
"R",
"W"
],
"maxLength": 2,
"minLength": 1,
"type": "string"
},
"comment": {
"description": "Short for this variable",
"minLength": 1,
"type": "string"
},
"description": {
"description": "Description for this variable",
"minLength": 1,
"type": "string"
},
"enum_vals": {
"description": "If vartyp is enum, this shall be an array of enum entries.",
"items": {
"properties": {
"name": {
"description": "Name of enum entry",
"maxLength": 32,
"minLength": 2,
"type": "string"
},
"value": {
"description": "Value of enum entry",
"minimum": 0,
"type": "integer"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
},
"eunm_name": {
"description": "If vartyp is enum, this shall be a name of that enum.",
"maxLength": 255,
"minLength": 2,
"type": "string"
},
"max": {
"description": "Maximum value if variable is numeric",
"type": "number"
},
"min": {
"description": "Minimum value if variable is numeric",
"type": "number"
},
"name": {
"description": "Name of variable.",
"maxLength": 255,
"minLength": 2,
"pattern": "[a-z_]*",
"type": "string"
},
"datalen": {
"description": "Length of data when read from modbus.",
"minimum": 1,
"type": "integer"
},
"factor": {
"default": 1,
"description": "Factor is the factor to multiply raw value from modbus with, in order to get physical value (phy=raw*factor).",
"type": "number"
},
"unit": {
"description": "Unit of varibale for display.",
"minLength": 1,
"type": "string"
},
"updateinterval": {
"description": "Interval at which the variable shall be polled and updated in seconds (0=no update).",
"minimum": 0,
"type": "integer"
},
"variable": {
"description": "Name of variable in modbus access.",
"maxLength": 6,
"minLength": 6,
"pattern": "^v[0-9]{5}$",
"type": "string"
},
"vartype": {
"description": "Type of variable in modbus access.",
"type": "string",
"enum": [
"bitfield",
"bool",
"enum",
"float",
"int",
"string"
]
},
"modbuslen": {
"description": "Length of data when written to modbus.",
"minimum": 1,
"type": "integer"
}
},
"required": [
"name",
"datalen",
"updateinterval",
"variable",
"vartype",
"modbuslen"
],
"type": "object"
},
"type": "array"
}
}
}