NEWS
In Blockly erzeugte Datei in Grafana nicht sichtbar
-
Hallo Forum, ich erzeuge in Blockly eine Datei und möchte diese in Grafana einbinden. Sie ist aber nicht sichtbar. Ferner kann ich diese Datei in IOB in Dateien shen, nicht aber bei Objekten.
Danke für Eure Hilfe und Grüße -
@wibear Ein JSON-File ist kein Objekt, soweit ich weiß ...
Der übliche Weg, Datenpunkte aus Iobroker als Datenreihe für Grafana zugänglich zu machen, ist über die influxDB...
Ob man in irgendeiner Form JSON-Files in Grafana als Datenquelle für Datenreihen weiß ich nicht.
Soweit ich weiß, hat Grafana aber selber keine integrierte Datenbank, sondern Datenreihendarstellungen werden immer aus externen Datenquellen bei Bedarf generiert.
-
@martinp sagte in In Blockly erzeugte Datei in Grafana nicht sichtbar:
Der übliche Weg, Datenpunkte aus Iobroker als Datenreihe für Grafana zugänglich zu machen, ist über die influxDB...
Üblich, es geht aber auch ohne
Hier steht ein bisschen was dazu
https://forum.iobroker.net/post/1177974
Gab aber noch nen anderen Beitrag im Forum -
@wibear
Was steht denn in Deinem DPems: energy consumption
? -
@codierknecht sagte in In Blockly erzeugte Datei in Grafana nicht sichtbar:
Was steht denn in Deinem DP
es steht: [4,3.63,3.82,3.46,4.46,3.63,4.38,2.17,3.67,3.79,2.63,3.54,3.11,4.21,3.38,4.08,3.45,4.86,2.96,3.92,2.67,0,0,0,0,0,0,0,0,0]
-
@crunchip sagte in In Blockly erzeugte Datei in Grafana nicht sichtbar:
Üblich, es geht aber auch ohne
Danke für den Tipp.
Ich bekomme jetzt folgende Antwort auf http://192.168.178.10:8087/get/0_userdata.0.nLastChargedbzw.:
Wie kann ich bitte die mit Blockly erzeugte Datei (oben) genauso aufrufen bzw. im Browser öffnen?
Ich bekomme da eine Fehlermeldung
-
@wibear sagte in In Blockly erzeugte Datei in Grafana nicht sichtbar:
Wie kann ich bitte die mit Blockly erzeugte Datei (oben) genauso aufrufen bzw. im Browser öffnen?
Wieso willst Du da unbedingt den Umweg über eine Datei gehen?
Du kannst doch den Inhalt eines DP direkt über das API aufrufen:
http://192.168.178.9:8082/getPlainValue/0_userdata.0.Test.MeinJSON
Oder alternativ:
http://192.168.178.9:8082/getPlainValue/0_userdata.0.Test.MeinJSON?json
-
@codierknecht
Was ich eigentlich möchte: die Zahlen in den []Klammern sind tägliche Verbräuche. Ich möchte sie mit der JSON Datei in Grafana visualisieren. Dafür brauche ich noch die Zeitstempeln im Format dd.mm und dachte, dass diese JSON täglich zu aktualisieren. Du hast sicherlich eine Idee, wie ich das machen kann, oder? -
@wibear
Also ich mache das so:- Ich habe eigene DP für die täglichen Werte angelegt (Erzeugung, Verbrauch etc.).
- Diese DP werden per SQL-Adapter in eine MariaDB geloggt.
- Ein kleines Blockly schreibt um 23:59 Uhr die Tageswerte aus Modbus usw. in diese DP. Damit werden sie mit passendem Timestamp in die DB geschrieben .
-
@wibear kann es sein, dass Grafana dieses "json" nicht versteht?
-
@homoran sagte in In Blockly erzeugte Datei in Grafana nicht sichtbar:
kann es sein, dass Grafana dieses "json" nicht versteht?
Ja, ist mir klar. Ich muss diese Werte noch mit TimeStamp ergänzen.
@codierknecht sagte in In Blockly erzeugte Datei in Grafana nicht sichtbar:
Ich habe eigene DP für die täglichen Werte angelegt
Ich habe auch die DPs für Verbrauch und TimeStamp angelegt und sie werden da geschrieben.
Ich weiss nur nicht, wie ich daraus eine Liste oder JSON mache, um in Grafana z.B. mit Infinity zu visualisieren.<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="WD@DM*+{~7]Pgweah,=%">StringTag</variable> <variable id=":Ss+S+t]46%mA6RYdzOe">WertTag</variable> <variable id=")exQA3aPF!=uE^rtI_Dw">TimeStamp</variable> </variables> <block type="on" id="`n--I!yft.c)T;qsBs(@" x="-562" y="-1362"> <field name="OID">ems-esp.0.energy.actualDHWPower.Days</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="debug" id="1,Phdi|Vxe(W+4PzYvM%"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="jBi`!8jQq+j2om#/N+YZ"> <field name="TEXT">test</field> </shadow> <block type="on_source" id="(0%|Y(f1m21#j:)#Z=M2"> <field name="ATTR">state.val</field> </block> </value> <next> <block type="variables_set" id=",k4`CBty8XOG$ogsJkcg"> <field name="VAR" id="WD@DM*+{~7]Pgweah,=%">StringTag</field> <value name="VALUE"> <block type="convert_json2object" id="po%u$2O2T+n%9}Z`TO*f"> <value name="VALUE"> <block type="on_source" id=")9(479Qd*!hnnO8DxJeu"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <next> <block type="debug" id=".uBII6Q0#9zQ0KrWkFLM"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="jBi`!8jQq+j2om#/N+YZ"> <field name="TEXT">test</field> </shadow> <block type="lists_getIndex" id="na:U:=z=x=pV0D4~El?K"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="ik~4z:6I#Qf;rABt^})w"> <field name="VAR" id="WD@DM*+{~7]Pgweah,=%">StringTag</field> </block> </value> <value name="AT"> <block type="math_number" id="16YnwM{NzEEVhXqpLm5M"> <field name="NUM">1</field> </block> </value> </block> </value> <next> <block type="variables_set" id="n:f3BD}Jax%gTahIGtSb"> <field name="VAR" id=":Ss+S+t]46%mA6RYdzOe">WertTag</field> <value name="VALUE"> <block type="lists_getIndex" id="!mss-i]3T5,6%8?pzZ!q"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="gm$s=q-`u:L(Nc|Wvmq$"> <field name="VAR" id="WD@DM*+{~7]Pgweah,=%">StringTag</field> </block> </value> <value name="AT"> <block type="math_number" id="dZwLRZ0EbQAE04DXO8.b"> <field name="NUM">1</field> </block> </value> </block> </value> <next> <block type="update" id="C[oZB)Mr@q3|D%w~g2$c"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.sConsumWwTag</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="QP@`RO6jwJ,*5{t;{w~?"> <field name="VAR" id=":Ss+S+t]46%mA6RYdzOe">WertTag</field> </block> </value> <next> <block type="variables_set" id="RLM,SsoP|:D-bn4x%n31"> <field name="VAR" id=")exQA3aPF!=uE^rtI_Dw">TimeStamp</field> <value name="VALUE"> <block type="convert_from_date" id="2kiA#:]PbG5k.*WNUpOr"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">TT.MM</field> <value name="VALUE"> <block type="get_value" id="x5I?.EiUV-~zoA*Un1]E"> <field name="ATTR">ts</field> <field name="OID">ems-esp.0.energy.actualDHWPower.Days</field> </block> </value> </block> </value> <next> <block type="debug" id="=kGu{-@wZ$5A4E,K#A*o"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="Bkw?M51kA1d%PpG}Z.mC"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id=";kMMrp|,d`;ny=PKFMg{"> <field name="VAR" id=")exQA3aPF!=uE^rtI_Dw">TimeStamp</field> </block> </value> <next> <block type="update" id=":WW88$Qt?Og{:pY.e$oF"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.nDateWw</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="#qDk$K4ShM?I+D^NzKl;"> <field name="VAR" id=")exQA3aPF!=uE^rtI_Dw">TimeStamp</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="create_ex" id="#4IBM`DknQCR1G#Z}Ppr" disabled="true" x="-537" y="-837"> <field name="NAME">0_userdata.0.nDateWw</field> <field name="TYPE">number</field> <field name="READABLE">TRUE</field> <field name="WRITEABLE">TRUE</field> <next> <block type="create_ex" id="1NB9@6*=PJhvrJ{DPme%" disabled="true"> <field name="NAME">0_userdata.0.nDateHz</field> <field name="TYPE">number</field> <field name="READABLE">TRUE</field> <field name="WRITEABLE">TRUE</field> </block> </next> </block> <block type="create_ex" id="O)emTGRoK$5W}.:TY=az" disabled="true" x="-237" y="-837"> <field name="NAME">0_userdata.0.sConsumHzTag</field> <field name="TYPE">number</field> <field name="READABLE">TRUE</field> <field name="WRITEABLE">TRUE</field> <next> <block type="create_ex" id="W*S;SMQBQT7Z$W,CRzVn" disabled="true"> <field name="NAME">0_userdata.0.sConsumWwTag</field> <field name="TYPE">number</field> <field name="READABLE">TRUE</field> <field name="WRITEABLE">TRUE</field> </block> </next> </block> <block type="create_ex" id=")k6k!%{SS1L#1Kv`D?or" disabled="true" x="113" y="-837"> <field name="NAME">0_userdata.0.sConsumWwMonat</field> <field name="TYPE">number</field> <field name="READABLE">TRUE</field> <field name="WRITEABLE">TRUE</field> <next> <block type="create_ex" id="EGv2cv?=y2rq1hXeBX3W" disabled="true"> <field name="NAME">0_userdata.0.sConsumHzMonat</field> <field name="TYPE">number</field> <field name="READABLE">TRUE</field> <field name="WRITEABLE">TRUE</field> </block> </next> </block> </xml>
-
@wibear und warum dann nicht über den ganz normalen Weg mit einer Datenbak jnd logging des/der Datenpunkte?
sollte doch nicht umständlicher sein, als das momentan praktizierte. -
@wibear sagte in In Blockly erzeugte Datei in Grafana nicht sichtbar:
Ich weiss nur nicht, wie ich daraus eine Liste oder JSON mache, um in Grafana z.B. mit Infinity zu visualisieren.
Warum das?
Das geht doch per SQL viel einfacher: -
@homoran sagte in In Blockly erzeugte Datei in Grafana nicht sichtbar:
warum dann nicht über den ganz normalen Weg mit einer Datenbak jnd logging des/der Datenpunkte?
Wie kann ich in diesem Fall die Zeitachse (X) in Grafana auf einzelne Tage als Bezugspunkte darstellen, damit es so schön aussuieht wie mit MySql (Vorschlag von @Codierknecht) ?
-
@codierknecht sagte in In Blockly erzeugte Datei in Grafana nicht sichtbar:
Das geht doch per SQL viel einfacher
Sieht sehr gut aus. Nur ich habe schon InfluxDb und möchte keine weitere DB anlegen. Geht so was auch mit der InfluxDb? Danke.
-
@wibear sagte in In Blockly erzeugte Datei in Grafana nicht sichtbar:
Geht so was auch mit der InfluxDb?
Natürlich!
Da bin ich aber raus
Wie kann ich in diesem Fall die Zeitachse (X) in Grafana auf einzelne Tage als Bezugspunkte darstellen
Du hast ja 2 Werte mit nur wenigen Minuten Abstand. Ich vermute mal, zu Testzwecken.
Schreibt man per Script nur einen Wert am Ende des Tages, reicht ein Override um das wie gewünscht zu formatieren: -
@codierknecht
Danke!