iobroker.go-e
Version:
go-e ist die Aufforderung, sich elektrisch zu bewegen. e-Mobilität ist unser Antrieb, wobei unsere Kernkompetenz die Ladetechnik für Elektroautos ist. Von der einzelnen Ladestation für e-Autos über Photovoltaik-Anbindung bis hin zum Lastmanagement von gan
119 lines • 4.03 kB
JavaScript
const joi = require('joi');
exports.schema = joi.object({
version: joi.string()
.min(1)
.max(1)
.required(),
tme: joi.string()
.pattern(new RegExp('^[0-9-]+$'))
.required(),
rbc: joi.number().required(),
rbt: joi.number().required(),
car: joi.number().required(),
amp: joi.number().required(),
err: joi.number().required(),
ast: joi.number().required(),
alw: joi.number().required(),
stp: joi.number().required(),
cbl: joi.number().required(),
pha: joi.number().required(),
tmp: joi.number(), // optional starting version 050
dws: joi.number().required(),
dwo: joi.number().required(),
adi: joi.number().required(),
uby: joi.number().required(),
eto: joi.number().required(),
wst: joi.number().required(),
txi: joi.number(), // optional starting version 050
nrg: joi.array().required(),
fwv: joi.number().required(),
sse: joi.number().required(),
wss: joi.string().required(),
wke: joi.string().required(),
wen: joi.number().required(),
cdi: joi.number().required(),
tof: joi.number().required(),
tds: joi.number().required(),
lbr: joi.number().required(),
aho: joi.number().required(),
afi: joi.number().required(),
azo: joi.number().required(),
ama: joi.number().required(),
al1: joi.number().required(),
al2: joi.number().required(),
al3: joi.number().required(),
al4: joi.number().required(),
al5: joi.number().required(),
cid: joi.number().required(),
cch: joi.number().required(),
cfi: joi.number().required(),
lse: joi.number().required(),
ust: joi.number().required(),
wak: joi.string().required(),
r1x: joi.number().required(),
dto: joi.number().required(),
nmo: joi.number().required(),
sch: joi.string().required(),
sdp: joi.number().required(),
eca: joi.number().required(),
ecr: joi.number().required(),
ecd: joi.number().required(),
ec4: joi.number().required(),
ec5: joi.number().required(),
ec6: joi.number().required(),
ec7: joi.number().required(),
ec8: joi.number().required(),
ec9: joi.number().required(),
ec1: joi.number().required(),
rca: joi.string().allow(null, ''),
rcr: joi.string().allow(null, ''),
rcd: joi.string().allow(null, ''),
rc4: joi.string().allow(null, ''),
rc5: joi.string().allow(null, ''),
rc6: joi.string().allow(null, ''),
rc7: joi.string().allow(null, ''),
rc8: joi.string().allow(null, ''),
rc9: joi.string().allow(null, ''),
rc1: joi.string().allow(null, ''),
rna: joi.string().allow(null, ''),
rnm: joi.string().allow(null, ''),
rne: joi.string().allow(null, ''),
rn4: joi.string().allow(null, ''),
rn5: joi.string().allow(null, ''),
rn6: joi.string().allow(null, ''),
rn7: joi.string().allow(null, ''),
rn8: joi.string().allow(null, ''),
rn9: joi.string().allow(null, ''),
rn1: joi.string().allow(null, ''),
loe: joi.number().required(),
lot: joi.number().required(),
lom: joi.number().required(),
lop: joi.number().required(),
log: joi.string().allow(null, ''),
lon: joi.number().allow(null, ''),
lof: joi.number().required(),
loa: joi.number().required(),
lch: joi.number().required(),
mce: joi.number(), // optional starting version 050
mcs: joi.string().allow(null, ''),
mcp: joi.number(), // optional starting version 050
mcu: joi.string().allow(null, ''),
mck: joi.string().allow(null, ''),
mcc: joi.number(), // optional starting version 050
tma: joi.array(),
amt: joi.number(),
// Starting version 050 of firmware
amx: joi.number(),
fsp: joi.number(),
//firmware 042
lod: joi.number(),
lts: joi.number(),
pco: joi.string().allow(null, ''),
cmf: joi.number(),
ath: joi.number(),
psp: joi.number(),
cco: joi.number(),
map: joi.number(),
frm: joi.number(),
los: joi.string().allow(null, '')
});