NEWS
Parser Wert auslesen aber wie?
-
@mickym
Sorry aber ich verstehe das einfach nicht, ich habe mir eben nochmal alles durchgelesen.
Wie soll ich das anstellen?
Ich muss irgendwie den Inhalt dieses Aufrufes analysieren können:da kommt dann das raus:
{"meterId":"1KFM0000028196","deviceId":"EBSD1425009486","msgType":"EMETER_OBIS_V2","measurements":[{"timestamp":"2023-04-02T08:40:28Z","values":{"1-0:96.90.2*1":"7E2005D2","1-0:0.2.0*0":"312E3033","1-0:14.7.0*255":49.900001525878906,"1-0:81.7.26*255":335,"1-0:81.7.15*255":299,"1-0:81.7.4*255":188,"1-0:81.7.2*255":238,"1-0:81.7.1*255":118,"1-0:71.7.0*255":0.43000000715255737,"1-0:51.7.0*255":0.37999999523162842,"1-0:31.7.0*255":1.9700000286102295,"1-0:72.7.0*255":235,"1-0:52.7.0*255":232.69999694824219,"1-0:32.7.0*255":234.19999694824219,"1-0:16.7.0*255":-333,"1-0:2.8.0*255":0.30339998006820679,"1-0:1.8.0*255":10473.0244140625,"1-0:96.1.0*255":"0A014B464D0000006E24","1-0:96.50.1*1":"4B464D"}}]}
mit was schreibe ich jetzt die benötigten Daten aus?
-
@g-hawk Nochmal was nutzt Du für eine Logikmaschine? Blockly, Javascript, NodeRed. Ansonsten schreib dieses Objekt einfach in einen Datenpunkt - dann kannst auch einen Alias verwenden.
-
@mickym
Ich benutze Blockly. -
@g-hawk sagte in Parser Wert auslesen aber wie?:
@mickym
Ich benutze Blockly.So - leider bekomme ich in diesen doofen Blockly das mit dem Attribut einfach nicht hin.
Normalerweise sollte es mit dem Attribut funktionieren - aber das klappt mit den Gänsefüsschen nicht - deshalb hab ich mal JSONATA genommen.
Hier mal zum Import:
Ich hasse dieses Tool - vielleicht kann Dir ja einer von den Blockly Fans helfen - wie man die Anführungszeichen mit dem Attribut setzt.
-
@mickym
Ok wenn ich die JSON habe dann werde ich das so probieren, aber mein Problem ist, dass ich die JSON ja erstmal in einen Datenpunkt schreiben muss und da weiß ich nicht wie ich das anstellen soll.
Ich schreibe mal ein Blockly mir dem Request Block -
@g-hawk Nein musst Du nicht erst in Datenpunkt schreiben - du kannst wenn Du willst das result direkt in meine Konvertierung JSON nach Objekt schreiben.
Ansonsten müsste doch wie du es machst - der gesamte JSON String in den Datenpunkt geschrieben werden.
-
@mickym
Das funktioniert leider schon nicht. Der Datenpunkt bleibt leer.
Ich brauche aus dieser JSON insgesamt 3 Werte. -
@g-hawk Wie bekommt man denn dieses blöde result Wert da rein. Ich bin wie gesagt kein Blockly user.
-
@mickym
Das ist eine Variable.
So geht es aber nicht, dann bekomme ich wieder diesen Fehler:javascript.0 (1183) script.js.Gerätesteuerung.Strom.Gesamtstrom.Daten_auslesen: {'bytesParsed':46,'code':'HPE_INVALID_HEADER_TOKEN','reason':'Invalid header value char','rawPacket':{'type':'Buffer','data':[72,84,84,80,47,49,46,49,32,50,48,48,32,79,75,10,67,111,110,116,101,110,116,45,116,121,112,101,58,32,97,112,112,108,105,99,97,116,105,111,110,47,106,115,111,110,10,67,97,99,104,101,45,67,111,110,116,114,111,108,58,32,110,111,45,115,116,111,114,101,44,32,110,111,45,99,97,99,104,101,44,32,109,117,115,116,45,114,101,118,97,108,105,100,97,116,101,44,32,109,97,120,45,97,103,101,61,48,10,80,114,97,103,109,97,58,32,110,111,45,99,97,99,104,101,10,10]}}
-
@g-hawk Mach halt mal das Blockly so, dass in der Variable der JSON steht und das ausgegeben wird.
-
@mickym
Er ruft das ganze ja nicht mal ab, also kann ich es auch nicht weiterverarbeiten.Wenn ich nicht Blockly verwenden würde welche Möglichkeiten würden denn bestehen die Daten der URL in eine Datenpunkt zu schreiben?
-
@g-hawk Na mit NodeRed ist es am einfachsten bei Javascript musst halt programmieren. Wenn Du NodeRed nutzen willst - dann helfe ich Dir gerne.
-
@mickym
OK am Besten wäre es wenn jemand einen Adapter für den EWE Elmo schreiben könnte.Aber leider gibt es den nicht.
Ich installiere mal Node Red.
-
So ist installiert was soll ich tun?
-
@g-hawk Nun schau mal in die Adaptereinstellungen - dass keine Konvertierung angehakt ist und Fremdobjekte erstellen aktiv ist:
-
@mickym
ok -
@g-hawk sagte in Parser Wert auslesen aber wie?:
@mickym
ok@g-hawk Nun schau mal in die Adaptereinstellungen - dass keine Konvertierung angehakt ist und Fremdobjekte erstellen aktiv ist:
Dann nimmst Du eine Inject Node und ziehst den in den Arbeitsbereich in der Mitte, ein HttpRequest Node und ein Debug Node
In die http Request Node gibst Du die URL ein, die Du abfragen möchtest.
Der Übersicht halber - lässt Du den JSON gleich interpretieren:
Triggern tust Du erst mal, indem Du das ganze über die Schaltfläche auf der Inject Node drückst:
-
Warnung: Node hat nicht übernommene (deploy) Änderungen
-
@g-hawk Ok da rechts oben den Knopf drücken. das musst Du nach jeder Änderung machen:
-