Frage zu UNIT in DbLog

Begonnen von SabineT, 12 Juni 2017, 19:55:34

Vorheriges Thema - Nächstes Thema

SabineT

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

DS_Starter

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
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

SabineT

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

DS_Starter

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
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

SabineT

Hallo Heiko!

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

Danke und lg,
Sabine

JoeALLb

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...
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

SabineT

ich denke aber, dass es Sinn macht, auch in der Datenbank UTF8 zu verwenden, wenn es sonst auch überall im Einsatz ist  ;)