NEWS
Datenpunkt aus xml
-
-
@australien hst du das modul in der Javascript-Instanz eingetragen?
-
@homoran
Ja -
@australien sagte in Datenpunkt aus xml:
@homoran
JaNein , nicht da!
@paul53 sagte in Datenpunkt aus xml:
@australien sagte in Datenpunkt aus xml:
xml2js gelesen, aber wo trag ich das ein
In der JS-Instanz-Konfiguration eintragen:
da!
-
@homoran
auch ja, soweit ich sehe. -
@australien
Siehe Zeile 6: Tauschedp.state.val
gegenresult
aus (hatte ich nach wenigen Sekunden korrigiert). -
@australien wieso steht bei dir dp in Zeile 13.
das ust nicht was Paul schriebedit: ok, hatte das "original " nicht gesehen
-
jetz kommt Leben ins Geschehen
20:19:52.202 info javascript.0 (6486) Stop script script.js.common.PV 20:38:16.280 info javascript.0 (6486) Stop script script.js.common.PV 20:38:17.819 info javascript.0 (6486) Start javascript script.js.common.PV 20:38:17.856 info javascript.0 (6486) script.js.common.PV: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions 20:39:07.644 info javascript.0 (6486) script.js.common.PV: {'root':{'Device':[{'$':{'Name':'SF-WR-5503','Type':'Inverter','Serial':'752794AB005565810009','BusAddress':'1','NetBiosName':'INV005565810009','IpAddress':'10.68.0.85','DateTime':'2022-11-14T20:38:18'},'Measurements':[{'Measurement':[{'$':{'Value':'233.046','Unit':'V','Type':'AC_Voltage1'}},{'$':{'Value':'235.306','Unit':'V','Type':'AC_Voltage2'}},{'$':{'Value':'234.911','Unit':'V','Type':'AC_Voltage3'}},{'$':{'Value':'50.002','Unit':'Hz','Type':'AC_Frequency1'}},{'$':{'Value':'50.006','Unit':'Hz','Type':'AC_Frequency2'}},{'$':{'Value':'50.003','Unit':'Hz','Type':'AC_Frequency3'}},{'$':{'Value':'0.000','Unit':'V','Type':'DC_Voltage'}},{'$':{'Value':'21.260','Unit':'°C','Type':'Temp'}}]}]}]}} 20:40:00.071 info javascript.0 (6486) script.js.common.PV: {'root':{'Device':[{'$':{'Name':'SF-WR-5503','Type':'Inverter','Serial':'752794AB005565810009','BusAddress':'1','NetBiosName':'INV005565810009','IpAddress':'10.68.0.85','DateTime':'2022-11-14T20:39:10'},'Measurements':[{'Measurement':[{'$':{'Value':'233.334','Unit':'V','Type':'AC_Voltage1'}},{'$':{'Value':'235.452','Unit':'V','Type':'AC_Voltage2'}},{'$':{'Value':'235.217','Unit':'V','Type':'AC_Voltage3'}},{'$':{'Value':'50.015','Unit':'Hz','Type':'AC_Frequency1'}},{'$':{'Value':'50.024','Unit':'Hz','Type':'AC_Frequency2'}},{'$':{'Value':'50.008','Unit':'Hz','Type':'AC_Frequency3'}},{'$':{'Value':'0.000','Unit':'V','Type':'DC_Voltage'}},{'$':{'Value':'21.250','Unit':'°C','Type':'Temp'}}]}]}]}}
nur wir teile ich die Daten nun Datenpunkten zu?
-
@australien sagte in Datenpunkt aus xml:
die Daten nun Datenpunkten zu?
Ersetze log(obj) durch
const messung = obj.root.Device[0].Measurements[0].Measurement; for(let obj of messung) { log(obj.$.Type + ': ' + parseFloat(obj.$.Value) + ' ' + obj.$.Unit); // setState('0_userdata.0.SolarFrontier.' + obj.$.Type, parseFloat(obj.$.Value), true); }
Erstelle vorher die 8 Datenpunkte vom Typ "number" unter "0_userdata.0".
Log:
20:59:41.099 info javascript.1 (2579) script.js.common.Neuer_Test: AC_Voltage1: 233.046 V 20:59:41.100 info javascript.1 (2579) script.js.common.Neuer_Test: AC_Voltage2: 235.306 V 20:59:41.100 info javascript.1 (2579) script.js.common.Neuer_Test: AC_Voltage3: 234.911 V 20:59:41.100 info javascript.1 (2579) script.js.common.Neuer_Test: AC_Frequency1: 50.002 Hz 20:59:41.100 info javascript.1 (2579) script.js.common.Neuer_Test: AC_Frequency2: 50.006 Hz 20:59:41.100 info javascript.1 (2579) script.js.common.Neuer_Test: AC_Frequency3: 50.003 Hz 20:59:41.100 info javascript.1 (2579) script.js.common.Neuer_Test: DC_Voltage: 0 V 20:59:41.100 info javascript.1 (2579) script.js.common.Neuer_Test: Temp: 21.26 °C
-
@paul53 wieso sind im obj nur 8 Werte?
die xml enthält 17 -
@homoran sagte: die xml enthält 17
Dann müssen die übrigen wohl in einem anderen Array-Element enthalten sein. Ich schau mal.
-
alle in <Measurements>
<root> <Device Name="SF-WR-5503" Type="Inverter" Serial="752794Axxxxxxx" BusAddress="1" NetBiosName="INV005565810009" IpAddress="10.68.0.85" DateTime="2022-11-14T14:34:49"> <Measurements> <Measurement Value="232.511" Unit="V" Type="AC_Voltage1"/> <Measurement Value="234.392" Unit="V" Type="AC_Voltage2"/> <Measurement Value="234.739" Unit="V" Type="AC_Voltage3"/> <Measurement Value="0.188" Unit="A" Type="AC_Current1"/> <Measurement Value="0.186" Unit="A" Type="AC_Current2"/> <Measurement Value="0.182" Unit="A" Type="AC_Current3"/> <Measurement Value="83.355" Unit="W" Type="AC_Power"/> <Measurement Value="30.510" Unit="W" Type="AC_Power1"/> <Measurement Value="28.707" Unit="W" Type="AC_Power2"/> <Measurement Value="27.966" Unit="W" Type="AC_Power3"/> <Measurement Value="49.997" Unit="Hz" Type="AC_Frequency1"/> <Measurement Value="50.005" Unit="Hz" Type="AC_Frequency2"/> <Measurement Value="50.001" Unit="Hz" Type="AC_Frequency3"/> <Measurement Value="435.600" Unit="V" Type="DC_Voltage"/> <Measurement Value="0.195" Unit="A" Type="DC_Current"/> <Measurement Value="84.942" Unit="W" Type="DC_Power"/> <Measurement Value="39.610" Unit="°C" Type="Temp"/> </Measurements> </Device> </root>
-
@homoran
Das Ergebnis (Log) von xml2js lieferte nur die 8 Werte. -
super, danke euch beiden!
-
@paul53 das ist ja das Problem
ich habe so etwas auch bei meinem Kostal, allerdings muss ich da in derAPI due gewünschten Parameter abfragen. das ist anscheinend auf eine maximale Anzahl je Abfrage limitiert.
Vielleicht ist die Zeichenanzahl begrenzt@australien wie bist du denn an das vollständige xml Dokument gekommen?
-
@australien
Kann es sein, dass nachts keine Stromstärke- und Leistungswerte geliefert werden? -
@paul53 guter Ansatz!
-
mit Nachts ist mir klar, ich werd mir das morgen unter Tags noch anschauen, falls kein Nebel ist
Danke Euch beiden nochmals!!
-
@paul53
@australien
was ist denn die DC Voltage, wenn nicht die Panel Spannung?und
@homoran sagte in Datenpunkt aus xml:
@australien wie bist du denn an das vollständige xml Dokument gekommen?
-
Guten Morgen,
Nebel, aber liefert etwas, somit sind wieder alle 17 Datenpunkte vorhanden.<Measurements> <Measurement Value="234.225" Unit="V" Type="AC_Voltage1"/> <Measurement Value="236.033" Unit="V" Type="AC_Voltage2"/> <Measurement Value="235.065" Unit="V" Type="AC_Voltage3"/> <Measurement Value="0.144" Unit="A" Type="AC_Current1"/> <Measurement Value="0.155" Unit="A" Type="AC_Current2"/> <Measurement Value="0.147" Unit="A" Type="AC_Current3"/> <Measurement Value="6.654" Unit="W" Type="AC_Power"/> <Measurement Value="6.163" Unit="W" Type="AC_Power1"/> <Measurement Value="2.353" Unit="W" Type="AC_Power2"/> <Measurement Value="2.135" Unit="W" Type="AC_Power3"/> <Measurement Value="49.951" Unit="Hz" Type="AC_Frequency1"/> <Measurement Value="49.957" Unit="Hz" Type="AC_Frequency2"/> <Measurement Value="49.958" Unit="Hz" Type="AC_Frequency3"/> <Measurement Value="382.300" Unit="V" Type="DC_Voltage"/> <Measurement Value="0.017" Unit="A" Type="DC_Current"/> <Measurement Value="6.499" Unit="W" Type="DC_Power"/> <Measurement Value="36.550" Unit="°C" Type="Temp"/> </Measurements>
@Homoran hatte ich vor 6 Jahren bei der Installation der Anlage erfragt. Es waren sogar 3 xml Seiten, nur die anderen beiden waren nicht brauchbar, weiß die auch nicht mehr.