NEWS
Werte aus SQL Datenbank anzeigen
-
- du brauchst den sql adapter
- du brauchst erstmal das "sql-query" selbst - die eigentliche sql abfrage- kannst du im phpadmin erstellen hast du das ?
-
@liv-in-sky
den SQL Adapter hab ich ja bereits installiert und funktioniert auch.
Aber wie kriege ich einen Datenpunkt erstellt der eine Tabelle ausliest? -
@femi kannst du die sql sprache - wie beschreibst du die tabelle ?
-
@liv-in-sky
die Daten sind in der Datenbank schon drin, da habe ich ein Script geschrieben, das alle 15 Minuten die Fühler abfragt und die Werte in die Datenbank schreibt. -
dann erstell das query , welches du brauchst - nimm das erste script von oben und gib das query mit der datenbank (tabelle) ein
unter setState gibst du einen datenpunkt (typ zeichenkette) ein, welchen du selbst angelegt hast,
-
@liv-in-sky
leider verstehe ich nur Bahnhof,
wo soll ich das Query erstellen? -
@femi schau mal in den chat
-
@femi
wie wäre es die Datenbank (ich gehe davon aus, das es mysql/maria ist), abzufragen
und direkt json werte daraus zu machen und in einen datenpunkt zu schreiben
die können dann im widget json table angezeigt werdenhttps://stackoverflow.com/questions/41758870/how-to-convert-result-table-to-json-array-in-mysql
-
@oliverio
Ja klar, das würde funktionieren, aber in dem verlinktem Post sehe ich keine Datenbankabfrage.
Leider kenne ich mich mit json scripten überhaupt nicht aus. -
im beispiel wird der sql-adapter verwendet.
mit dem sendTo-Befehl kann man mit dem sprechen und ein sql-statement übergeben
im adapter ist konfiguriert, wo die sql-datenbank zu erreichen ist.
bei erfolg gibt der sendto-befehl dann in result die Daten zurück. -
für später:
habe versucht, dass nachzustellen - bei mir gehts so:sendTo('sql.0', 'query', 'SELECT temeratur FROM testMyTimestapm.tbl_Fuehler1 ORDER BY timestamp DESC LIMIT 1', function (result) { if (result.error) { console.error(result.error); } else { setState("0_userdata.0.TemperaturFuehler.Fuehler1",Number(JSON.stringify(result.result[0].temeratur))); log(JSON.stringify(result.result[0].temeratur)) } });