FHEM Forum

FHEM => Automatisierung => Thema gestartet von: SabineT am 12 Juni 2017, 19:55:34

Titel: Frage zu UNIT in DbLog
Beitrag von: SabineT am 12 Juni 2017, 19:55:34
Hallo!

Ich hab jetzt auf meinem FHEM-Server (OS ist ubuntu 17.04) mysql installiert und im FHEM ein DbLog angelegt. Dabei wird bei UNIT statt '°C' '°C' angezeigt:
MariaDB [fhem]> select * from current where reading='temperature';
+---------------------+-------------+-------------+--------------------+-------------+-------+-------+
| TIMESTAMP           | DEVICE      | TYPE        | EVENT              | READING     | VALUE | UNIT  |
+---------------------+-------------+-------------+--------------------+-------------+-------+-------+
| 2017-06-12 19:25:01 | BME280      | MQTT_DEVICE | temperature: 31.1  | temperature | 31.1  | °C   |
| 2017-06-12 19:28:13 | WH1080      | SD_WS09     | temperature: 29.35 | temperature | 29.35 | °C   |
| 2017-06-12 19:18:17 | Hideki_30_1 | HIDEKI      | temperature: 28    | temperature | 28    | °C   |
| 2017-06-12 19:17:33 | Hideki_30_2 | HIDEKI      | temperature: 23.5  | temperature | 23.5  | °C   |
+---------------------+-------------+-------------+--------------------+-------------+-------+-------+
4 rows in set (0.00 sec)


Hat jemand eine Idee, woher dieses  kommen könnte? Im 93_DbLog.pm wird immer "°C" verwendet, soweit ich das mal mittels grep überprüft habe.

Übrigens, man sollte bei der Datenbank im Passwort kein @ verwenden... ;)

lg, Sabine
Titel: Antw:Frage zu UNIT in DbLog
Beitrag von: DS_Starter am 14 Juni 2017, 19:21:49
Hallo Sabine,

das Thema ist schon alt, siehe -> https://forum.fhem.de/index.php?topic=39715.0

Momentan vermute ich, dass das Problem im DBD-Interface von MySQL (welches das DbLog-Modul benutzt) zu suchen/finden ist weil das UTF8-Feature in dem Interface per default nicht aktiviert ist und speichert die Daten dann wohl im ISO 8859-1 Format.
Bin auf dieser Seite darauf gestoßen: http://www.i18nqa.com/debug/utf8-debug.html.

Bei der Weiterentwicklung von DbLog hatte ich bisher nicht soviel Augenmerk darauf gelegt, es war nicht so wichtig weil es niemanden bisher gestört hat. Man wertet wahrscheinlich die UNIT-Spalte auch kaum aus.
Aber ich mache mal ein paar Versuche bei Gelegenheit und stelle eine Testversion in unserem DbLog-Diskussionsforum:

https://forum.fhem.de/index.php/topic,65860.0.html

zur Verfügung wenn ich etwas erreicht habe.

viele Grüße
Heiko
Titel: Antw:Frage zu UNIT in DbLog
Beitrag von: SabineT am 14 Juni 2017, 20:33:44
Zitat von: DS_Starter am 14 Juni 2017, 19:21:49
Bei der Weiterentwicklung von DbLog hatte ich bisher nicht soviel Augenmerk darauf gelegt, es war nicht so wichtig weil es niemanden bisher gestört hat. Man wertet wahrscheinlich die UNIT-Spalte auch kaum aus.
Aber ich mache mal ein paar Versuche bei Gelegenheit und stelle eine Testversion in unserem DbLog-Diskussionsforum:
Hallo Heiko!

Mir ist das nur aufgefallen, wie ich mal mit phpMyAdmin die Daten angeschaut hab, stört mich aber nicht wirklich, da ich ja ohnehin die Einheit der Temperatur kenne ;)
Mach dir also keinen Stress deswegen!

lg, Sabine
Titel: Antw:Frage zu UNIT in DbLog
Beitrag von: DS_Starter am 16 Juni 2017, 22:40:29
Hallo Sabine,

habe hier https://forum.fhem.de/index.php/topic,65860.msg648845.html#msg648845 die Testversion zu deiner Meldung zur Verfügung gestellt.
Teste sie bitte auch mal bei dir.

LG
Heiko
Titel: Antw:Frage zu UNIT in DbLog
Beitrag von: SabineT am 16 Juni 2017, 23:23:29
Hallo Heiko!

Damit wird jetzt richtig nur °C ins UNIT Feld geschrieben.

Danke und lg,
Sabine
Titel: Antw:Frage zu UNIT in DbLog
Beitrag von: JoeALLb am 19 Juni 2017, 17:16:34
Danke für die Neuerungen hier!

Nur zur Vervollständigung: Bisher wurde das auch schon auf DB-Seite per trigger oder neuerdings per "valueFn" innerhalb von DbLog korrigiert.
Der neue Ansatz ist natürlich der schönere, wenngleich auch rein für die Abspeicherung von "°C" eigentlich kein UTF8 notwendig sei sollte...
Titel: Antw:Frage zu UNIT in DbLog
Beitrag von: SabineT am 19 Juni 2017, 17:32:53
ich denke aber, dass es Sinn macht, auch in der Datenbank UTF8 zu verwenden, wenn es sonst auch überall im Einsatz ist  ;)