@unclesam
var mysql = require('mysql');
const hostname = "Test1";
const username = "Test2";
const password = "Test3";
const database = "Test4";
const con = mysql.createConnection({
"host": hostname,
"user": username,
"password": password,
"database": database
});
console.log("running");
on({id: 'shelly.0.SHSW-1##1.Relay0.Switch', val: true, ack: true}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
if (compareTime("21:00", "null", "<") && compareTime("08:00", "null", ">=")) {
setState("shelly.0.SHSW-1##1.Relay0.Switch"/*Switch*/, false);
setState("shelly.0.SHSW-1##1.Relay0.Switch"/*Switch*/, false);
} else {
setStateDelayed("shelly.0.SHSW-1##1.Relay0.Switch"/*Switch*/, false, 120000, false);
setStateDelayed("shelly.0.SHSW-1##1.Relay0.Switch"/*Switch*/, false, 120000, false);
}
exec('/home/pi/raspberry-remote/./send 11111 2 1');
con.query("select k.name as keyword, a.housenumber, s.name as street, c.name as city from ffo_alarm a " +
"inner join ffo_street s on a.street = s.id " +
"inner join ffo_city c on s.cityID = c.id " +
"inner join ffo_code_alarm_keyword k on k.shortname=a.keyword " +
"where a.date = NOW() and a.time >= SUBTIME(NOW(), '3:00') " +
"order by id desc;", (err, rows) => {
if(err) {
console.log(err);
setState("sayit.0.tts.text", "" + ('Fehler' + ''));
}
if(rows && rows.length == 1)
setState("sayit.0.tts.text", "" + (`${rows[0].keyword} ${rows[0].street} ${rows[0].housenumber} in ${rows[0].city} `));
else
setState("sayit.0.tts.text", "" + ('Kein Eintrag' + ''));
});
var timeout = setTimeout(function () {
exec('/home/pi/raspberry-remote/./send 11111 2 0');
}, 15000);
});
Das ist mein Code. Bei z.b. dem Hostname steht bei mir schon der richtige drin. Für das Forum hier habe ich ihn geändert.
Ich verwende das Modul "mysql"
Mit dem SQL Adapter geht das nicht. Damit logge ich ja nur die einzelnen Zustände in der Datenbank aber kann ja keine konkreten Abfragen machen.
So sieht die Konfiguration im Adapter aus:
Der Fehlercode schaut so aus:
error javascript.0 (6151) script.js.Test compile failed: at script.js.Test:6
Ich hoffe das hilft.
Danke schonmal