NEWS
Daten aus einer eigenen Datenbank-Tabelle abfragen, wie?
-
Hallo,
ich habe bereits eine vorhandene Datenbank und natürlich auch darin enthaltene Tabellen. Meine Frage ist nun, kann ich Daten aus einer dieser Tabellen auslesen und natürlich zu diesem Zweck auswerten??? Datenbankname mit Benutzername und Passwort eingegeben und auch den Test durchgeführt ==> alles i. O.. Wie sage ich nun dem System auf welche Tabelle ich zugreifen möchte?
Besten Dank im vorraus
-
Hi, der sql Adapter erlaubt die Aufzeichnung von Daten in einer von iobroker selbst angelegten tabellenstruktur.
Zugriff auf eigene Tabellen ist so direkt nicht vorgesehen. Es könnte gehen über die query Funktion und JavaScript. Schau mal bribers Beispielen auf der readme zum sql Adapter. Du musst ggf die Tabellennamen mit dem dB Namen der „nicht iobroker“ Datenbank auf dem gleichen Server Präfixen.
Gesendet vom Handy …
-
Hallo apollon77,
das hatte ich mir schon fast gedacht, dass es mit einer eigenen DB nicht oder nur unter Umständen zu realisieren ist. Mal sehen, ob mir Deine Hinweise weiter helfen. Besten Dank.
locke62
-
Ich lese zyklisch Temperatur, Pelletsverbrauch, Wasserverbrauch etc. aus. Die Daten liegen in einer SQL-DB auf meiner Synology-NAS. Gut - die Daten werden auch von ioBroker geschrieben - aber das ist meines Erachtes irrelevant.
Der Code zum auslesen des Verbrauchs der letzen Stunde und Berrechnung sieht z.B. so aus:````
sendTo('sql.0', 'query', 'SELECTid
, (from_unixtime((ts
/ 1000))) AS time,val
FROMioBroker
.ts_number
WHERE (ioBroker
.ts_number
.id
= 39) ORDER BY (from_unixtime((ts
/ 1000))) DESC LIMIT 2', function (result) {
if (result.error) {
console.error(result.error);
} else {
// console.log(result.result[0].val);
// console.log(result.result[1].val);
var Differenz = (result.result[0].val) - (result.result[1].val);
// console.log("Verbraucher letzte Stunde: " + Differenz +" l");
setState("javascript.0.WaterCount_Hourly_DELTA"/WaterCount_Hourly_DELTA/, Differenz);
}
});Im SQL-Adapter gibt man den Ort, Nutzer, Passwort usw. der Datenbank ein.