DbLog: set <name> userCommand <validSqlStatement>

Begonnen von DerFrickler, 17 Januar 2017, 22:28:14

Vorheriges Thema - Nächstes Thema

DerFrickler

Hallo zusammen,

wie muss der Syntax bzw. das validSqlStatement aussehen, wenn ich ein

optimize table history;


über userCommand ausführen will?

Danke!

ghayne

Zitat von: DerFrickler am 17 Januar 2017, 22:28:14
Hallo zusammen,

wie muss der Syntax bzw. das validSqlStatement aussehen, wenn ich ein

optimize table history;


über userCommand ausführen will?

Danke!

Fuer MySQL https://dev.mysql.com/doc/refman/5.7/en/optimize-table.html

Regards, Garry

abc2006

Ich häng mich hier mal ran. Hat nämlich genau mit userCommand zu tun:

Wenn ich ein
SELECT * FROM `history` WHERE TYPE='VZ' AND READING='total_power' AND DEVICE='Stromzaehler' limit 10;
ausführen lasse (mit userCommand) landet im Reading folgendes:

userCommandResult 2016-07-21 21:46:25

Erwarten würde ich aber:


mysql> SELECT * FROM `history` WHERE TYPE='VZ' AND READING='total_power' AND DEVICE='Stromzaehler' limit 10;
+---------------------+--------------+------+-------------------------------+-------------+------------------+------+
| TIMESTAMP           | DEVICE       | TYPE | EVENT                         | READING     | VALUE            | UNIT |
+---------------------+--------------+------+-------------------------------+-------------+------------------+------+
| 2016-07-21 21:46:25 | Stromzaehler | VZ   | total_power: 2732.78136528805 | total_power | 2732.78136528805 |      |
| 2016-07-21 21:46:35 | Stromzaehler | VZ   | total_power: 2712.59849520076 | total_power | 2712.59849520076 |      |
| 2016-07-21 21:46:45 | Stromzaehler | VZ   | total_power: 2699.7405223211  | total_power | 2699.7405223211  |      |
| 2016-07-21 21:46:54 | Stromzaehler | VZ   | total_power: 2691.10386158168 | total_power | 2691.10386158168 |      |
| 2016-07-21 21:47:04 | Stromzaehler | VZ   | total_power: 2677.20788650311 | total_power | 2677.20788650311 |      |
| 2016-07-21 21:47:14 | Stromzaehler | VZ   | total_power: 2661.53384368469 | total_power | 2661.53384368469 |      |
| 2016-07-21 21:47:23 | Stromzaehler | VZ   | total_power: 2712.94373499445 | total_power | 2712.94373499445 |      |
| 2016-07-21 21:47:33 | Stromzaehler | VZ   | total_power: 2706.72891915772 | total_power | 2706.72891915772 |      |
| 2016-07-21 21:47:42 | Stromzaehler | VZ   | total_power: 2710.29045328687 | total_power | 2710.29045328687 |      |
| 2016-07-21 21:47:52 | Stromzaehler | VZ   | total_power: 2704.11320669593 | total_power | 2704.11320669593 |      |
+---------------------+--------------+------+-------------------------------+-------------+------------------+------+
10 rows in set (0,11 sec)

mysql>


Mein Fehler?

Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

betateilchen

Zitat von: abc2006 am 10 Februar 2017, 20:23:40
Erwarten würde ich aber:

...

Mein Fehler?

Falsche Erwartungshaltung an die Funktion.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

abc2006

Also nicht mein Fehler.

Die Erwartungshaltung wurde u.a. durch die commandref  ("Der Befehl und ein zurückgeliefertes Ergebnis werden in entsprechende Readings geschrieben.") erzeugt.

Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

betateilchen

Zitat von: abc2006 am 10 Februar 2017, 22:42:35
commandref  ("Der Befehl und ein zurückgeliefertes Ergebnis werden in entsprechende Readings geschrieben.") erzeugt.

... wenn es denn ein darstellbares Ergebnis gibt, was bei einem SELECT in diesem Zusammenhang nicht der Fall ist ;)

"set ... userCommand" ist ein quick&dirty-Tool, das ich vor langer Zeit einmal in DbLog eingebaut habe, weil ich es für Testzwecke gebraucht hatte. Es sollte nie ein vollwertiger Ersatz für "echte" SQL Abfragen auf die Datenbank sein.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

abc2006

Alles klar, danke für die Info!

Grüße
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX