@paul53
Perfekt!!
jetzt läufts.
Danke vielmals!
@paul53
Perfekt!!
jetzt läufts.
Danke vielmals!
@paul53
ich bekomme folgende Fehlermeldung:
error javascript.0 (6597) at Object.<anonymous> (script.js.test:11:41)
hier mein komplettes Script:
const Serial = 2110125088
const Source = 'mqtt.1.solar.inverter.' + Serial;
const Dest = '0_userdata.0.Inverter.' + Serial;
const A_Ms_Amp = Dest + '.A_Ms_Amp';
// Datenpunkte erzeugen
createState(A_Ms_Amp, 0, {type: 'number', unit: 'A'});
on(Source, function (obj) {
setState(A_Ms_Amp, obj.state.val.values['A.Ms.Amp'], true);
});
Hallo,
ich bekomme folgenden JSON String per mqtt und möchte ihn zerlegen und in einzelne Objekte speichern:
{
"sn": 2110125088,
"time": 1695387075,
"values": {
"A.Ms.Amp": 1.336000063456595,
"A.Ms.Vol": 577.3799870945513,
"A.Ms.Watt": 771,
"B.Ms.Amp": 1.3320000632666051,
"B.Ms.Vol": 602.2899865377694,
"B.Ms.Watt": 802,
"Pac": 1522,
"GridMs.Hz": 49.98999888263643,
"GridMs.PhV.phsA": 232.07999481260777,
"GridMs.PhV.phsB": 231.80999481864274,
"GridMs.PhV.phsC": 231.0199948363006,
"A1.Ms.Amp": 1.305000061984174,
"A2.Ms.Amp": 0.003000000142492354,
"A3.Ms.Amp": 0.014000000664964318,
"A4.Ms.Amp": 0.0020000000949949026,
"A5.Ms.Amp": 0.003000000142492354,
"B1.Ms.Amp": 1.3320000632666051,
"GridMs.TotPFPrc": 0.999000047449954,
"E-Total": 128826.8301189458,
"Mt.TotOpTmh": 50391.78116688694,
"Mt.TotTmh": 51677.7808933951,
"Op.TmsRmg": 0,
"Serial Number": 2110125088,
"Op.EvtCntUsr": 4686,
"Op.EvtNo": 0,
"Mode": "MPP",
"Error": "-------",
"Op.GriSwStt": "Cls",
"Inv.TmpLimStt": "NoneDrt",
"InvCtl.Stt": "On",
"PlntCtl.Stt": "On"
}
}
wie bekomme ich das mit den Punkten im Objektnamen hin?
so funktioniert es auf jeden Fall nicht:
on({id: [].concat([Source]), change: "ne"}, async function (obj) {
let value = obj.state.val;
let oldValue = obj.oldState.val;
setState(A_Ms_Amp, getAttr((obj.state ? obj.state.val : ""), 'values.A.Ms.Amp'), true);
});
Gruß,
Stefan
Ich versuch das gerade zu bewerkstelligen.
Der Datenpunkt wurde angelegt, aber der Wert wird nicht geschrieben.
Was ist da falsch?
Servus,
ich habe ein Problem mit den Werten, die mir per mqtt von VenusOS übermittelt werden.
Der Wert steht immer in geschweifter Klammer mit "value": davor.
Kann ich das irgendwie ändern?
Gruß,
Stefan