NEWS
Wert in Variable schreiben
-
Hallo an Alle,
ich bekomme diese "Zeichenkette" von meinem Stromzähler via Mqtt.
"Time":"2022-03-15T18:05:07","MT681":{"Total_in":6658.000,"Power_cur":0,"Power_p1":0,"Power_p2":0,"Power_p3":0,"Total_out":0.000,"Meter_id":""}}
Wie bekomme ich den Zählerstand 6658.000 in eine Variable geschrieben damit ich damit weiter rechnen kann??
Viele Dank für Eure Hilfe
Gruß Thorsten
-
@hosifox sagte in Wert in Variable schreiben:
Wie bekomme ich den Zählerstand 6658.000 in eine Variable geschrieben damit ich damit weiter rechnen kann??
mit Blockly?
Aktualisiere Datenpunkt mit
Attribut von MT681.Total_in
aus der Variable -
@hosifox sagte: Total_in
Mit Javascript
const idJson = 'mqtt.0.xyz'; // Anpassen! const idEnergie = '0_userdata.0.Zaehler.Energie'; on(idJson, function(dp) { setState(idEnergie, JSON.parse(dp.state.val).MT681.Total_in, true); });
-
Vielen Dank für Eure Hilfe, irgendwie bekomme ich es nicht hin.
@homoran
Ist das so richtig?<xml xmlns="https://developers.google.com/blockly/xml">
<block type="on_ext" id="ksh#8{?A7DQ.eoX5tWl" x="413" y="-1112"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id=")byF]C-szGIpBerurIV
">
<field name="oid">hm-rpc.0.MEQ0000554.1.STATE</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="update" id="%vLu:j,qvCkDVm3Dov+j">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">javascript.0.Vis.Stromzaehler</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="get_attr" id="x!x}!n)$/th_dbS,2Hg"> <value name="PATH"> <shadow type="text" id="Fpjq(C[M3z!/qxL+7*p:"> <field name="TEXT">MT681.Total_in</field> </shadow> </value> <value name="OBJECT"> <block type="field_oid" id="oY
SqzBqe`!yzqq9qmf(">
<field name="oid">mqtt.0.Tasmotazaehler.SENSOR</field>
</block>
</value>
</block>
</value>
</block>
</statement>
</block>
</xml>Bekomme folgenden Fehler beim Triggern:
15:38:08.937 error javascript.0 (504) script.js.common.Zählerauslesen: Cannot parse "mqtt.0.Tasmotazaehler.SENSOR"SyntaxError: Unexpected token m in JSON at position 0
15:38:08.940 warn javascript.0 (504) at Object.<anonymous> (script.js.common.Zählerauslesen:4:3)
Was mache ich da falsch??
blöde Frage wo schreibt dein script die Daten rein??
-
@hosifox Nimm doch Blockly, da ist das super einfach, z.B.
Total_in wäre dann da einzusetzen wo bei mir SR04.Distance steht und tele/Zisterne/SENSOR wäre eben Deine MQTT Zeichenkette.
-
@JoergH
jetzt passt es, ich hatte hintenraus ein falschen Baustein drin, danke dir. -
@hosifox sagte: Ist das so richtig?
Der Datenpunkt "hm-rpc..." ist der falsche Trigger.
@hosifox sagte in Wert in Variable schreiben:
wo schreibt dein script die Daten rein??
In den Datenpunkt "0_userdata.0.Zaehler.Energie", wenn er manuell erstellt wurde.
-
Der Datenpunkt war nur ein Schalter zum ausprobieren.
Jetzt passte es, Dankeschön für deine Hilfe