NEWS
Daten aus mysql auslesen und als Datenpunkt darstellen
-
Hallo,
ich zeichne meine Verbrauchswerte z.B. für Strom in einer mySql Tabelle auf.
Nun möchte ich eine Abfrage machen und den Verbrauch der letzten 24 Stunden als Datenpunkt weiter verarbeiten.
Wie oder wo kann ich bei iBroker eine Query auf die mySql Datenbank einstellen und das Ergebnis dann an einen Datenpunkt übergeben? -
das geht über custom queries im javascript-adapter
https://github.com/ioBroker/ioBroker.sql#custom-queries -
Falls du einer der wenigen bist, die NodeRed als Logikmaschine nutzen, dafür gibts auch eine Node.
-
@mickym Hm, weis jetzt nicht wie du das meinst.
NoteRed nutze ich noch nicht. Aber wenn du mir sagen kannst wie ich in ioBroker über eine mySql einen Wert abfragen kann der anschließend weiter verwendet wird, kannst du mir das vielleicht sagen? -
@oliverio Danke dir! Die Installation von iBroker.syl hat funktioniert und auf GitHub finde ich auch eine ganze Reihe von Querrys. Was ich aber immer noch nicht weis ist wo ich diese eintragen muss um daraus einen Wert zu erhalten?
-
@toby-2 wie gesagt - Du kannst natürlich auch den sql Adapter verwenden und puzzeln. Wenn Du nodeRed nutzt, dann gibt es einen Node.
Hier siehst Du wie du über die SQL Abfrage im topic
SELECT * FROM `iobroker`.`ts_number` WHERE `id`=1 AND `ack`= true
hier eine Array mit allen Werten zurück bekommst. (in diesem Fall ein Array mit 5676 Werten)
Über HeidiSQL kannst Du ja die Daten direkt sehen:
aber wie gesagt, wenn Du lieber puzzelst /Blockly oder JS nutzen willst, dann mach das - ich will hier niemand mehr von NodeRed mit iobroker überzeugen - zudem ich merke, das es immer weniger Leute gibt, die NodeRed nutzen.
-
@mickym
Danke dir!
Dein Kommentar hörte sich aber so an als ob ich da was nutzen möchte was längst out ist.
Jetzt bin ich halt noch recht neu und wollte mich da schon an aktuellem orientieren.
Gibt es da noch etwas anderes? Kann ich es z.B. auch mit Blockly machen? -
@toby-2 Du kannst auch mit SendTo und Puzzle Teilchen arbeiten.
sendTo('sql.0', 'query', 'SELECT id FROM datapoints WHERE name="system.adapter.admin.0.memRss"')
aber nachdem ich in diesem Blockly Tool wieder mal keine debug Ausgabe sehe - lasse ich das mal
Nodered hat eine viel größere Community als das Blockly - aber die meisten nutzen halt Blockly - deswegen habe ich einfach auch immer weniger Lust. Das wesentlich mächtigere Tool ist NodeRed.
-
@mickym Verstanden, Danke!
Hab mich da jetzt ein bisschen eingelesen und werde wohl wieder ein neuer User für Node-Red -
@toby-2 said in Daten aus mysql auslesen und als Datenpunkt darstellen:
Dein Kommentar hörte sich aber so an als ob ich da was nutzen möchte was längst out ist.
nein weder blockly noch node-red ist out.
blockly, node-red, javascript wird halt als logik-maschine verwendet,
um etwas komplexere abhängigkeiten oder berechnungen mit den Datenpunkten abzubilden.
Welche davon hängt von deinen Vorkenntnissen ab.
blockly wird von den leuten hier, welche keinerleit vorkenntnisse haben, gerne genommen, da es die logik des ablaufs grafisch darstellt und durch die puzzle logik etwas aufzeigt, wo man noch etwas anknüpfen muss bzw wo was fehlt.
theoretisch ist blockly genauso erweiterbar, wie node-red, allerdings gibt es da wesentlich weniger erweiterungskomponenten.node-red hat eher den flußdiagramm charakter.
für node-red gibt es um einiges mehr erweiterungskomponenten (erfinder von node-red war übrigens ibm, die das dann in den open source geben haben)mit javascript ist man relativ frei in der erstellung und es gibt ü+ber 2.5mio erweiterungspakete, welche bei npmjs.com angeschaut und runtergeladen werden können.
meine kritik an blockly ist, das du im rahmen der gegebenen möglichkeiten gefangen bist.
bei allen logikmaschinen/programmieren, musst du generell dein gesamtproblem in einzelprobleme unterteilen und das dann in anweisungen umsetzen (das ist der teil, der meines erachtens und erfahrung für die meisten am allerschwierigsten ist).
wenn ich das lerne, dann würde ich lieber gleich eine richtige programmiersprache lernen. wenn du mal eine kannst, ist es nicht mehr so weit zu jeder beliebigen anderen programmiersprache (ihre tücken haben allerdings alle irgendwo)
aber irgendwie sind den leuten die grafischen darstellungen lieber, als die textnotation einer programmiersprache.wenn jemand mit blockly auskommt, dann alles gut.
-
@toby-2 Na das ist schön - wenn Du Dich mit NodeRed beschäftigst - aber ist kein muss.
Um den SQL Adapter für Abfragen zu nutzen - geht das ganz einfach:
Hier zum Import:
Um die einzelnen Werte dann aus der Abfrage herauszuholen - hier mal ein Vorschlag:
Aber wie gesagt - damit hast Du nun die einzelnen Werte aus der Query - aber damit habe ich genug gepuzzelt. Aber damit kannst ja mal beginnen - mit der Query - und nebenbei kannst Dir ja NodeRed anschauen.
-
@oliverio sagte in Daten aus mysql auslesen und als Datenpunkt darstellen:
node-red hat eher den flußdiagramm charakter.
für node-red gibt es um einiges mehr erweiterungskomponenten (erfinder von node-red war übrigens ibm, die das dann in den open source geben haben)https://de.wikipedia.org/wiki/Node-RED
und blockly stammt von google - das vergessen viele, die immer meinen das sein das Tool sei vom iobroker.
https://de.wikipedia.org/wiki/Blockly
und in Node-Red gibts auch eine Node mit der man puzzeln kann.
https://github.com/bartbutenaers/node-red-contrib-blockly
Ich entschuldige mich ein bisschen. Ich bin einfach nur gefrustet - weil alle nur Blockly im iobroker nutzen, anstelle sich erst mal damit zu beschäftigen, welches Tool am Besten geeignet ist und ich persönlich merke halt - wie gerade neue User immer mehr zu diesem Puzzle-Tool gedrängt werden.
Wie @OliverIO gesagt hat, hat NodeRed als grafisches Tool im Flussdiagrammstil einen unschätzbaren Vorteil, um Deine Logik sichtbar zu machen und damit auch die Fehlersuche zu erleichtern.
Also grafisches Tool hat NodeRed wesentlich bessere Vorteile die Logik sichtbar zu machen. Ansonsten kann man Javascript lernen - das Blockly erzeugt in meinen Augen keinen wesentlichen Vorteil - da es Javascript auch nur in Puzzleteile aufteilt, aber keine wirklichen funktionalen Bausteine bietet.