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
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
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
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
Hallo Heiko!
Damit wird jetzt richtig nur °C ins UNIT Feld geschrieben.
Danke und lg,
Sabine
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...
ich denke aber, dass es Sinn macht, auch in der Datenbank UTF8 zu verwenden, wenn es sonst auch überall im Einsatz ist ;)