Unit bei Datenbankeinträgen

Begonnen von manne44, 23 Juli 2025, 14:06:50

Vorheriges Thema - Nächstes Thema

manne44

Hallo,
ich habe mal eine dumme Frage: Meine Daten werden mit fhemdb in einer sqlite-DB geloggt. Ich habe keine Möglichkeit gefunden einem Reading eine Dimension zuzufügen, d.h. wenn ich mir die sqlite-Datenbank mit phpLiteAdmin ansehe, gibt es zwar eine Spalte "Unit", die aber leer ist.
Meine Frage: Gibt es eine Möglichkeit den Readings per Definition eine Dimension einzuprägen? Ein passendes Attribut habe ich nicht gefunden.
Es wäre nicht so tragisch wenn es nicht ginge, aber da erhebt sich die Frage warum dann diese Spalte? Ich würde diese Dimensionsangabe dazu verwenden, um sofort zu sehen, ob es sich bei einem Energiewert z.B. um kWh oder Wh usw handelt.
Vielen Dank.
RPI4-Buster mit SSD, RPI-Zero mit Bookworm

DS_Starter

ZitatGibt es eine Möglichkeit den Readings per Definition eine Dimension einzuprägen?
Abgesehen von z.B. userReadings o.ä. gibt es für dich als User keine Möglichkeit an Readingwerte eine Einheit anzuhängen.
Die Erstellung der Readings legt der Modulentwickler fest, auch ob ein Readingwert eine Einheit trägt oder nicht. Manche tun es, dann wird die Einheit abgesplittet und in die DB-Tabelle eingetragen.

Als DbLog-Nutzer kannst du aber eine Einheit hinzufügen. Du kannst dafür die Attr valueFn oder DbLogValueFn nutzen.
Es gibt in der Commandref sogar ein Anwendungsbeispiel dafür:

attr <device> valueFn {if ($DEVICE eq "Dum.Energy" && $READING eq "TotalConsumption"){$UNIT="W";}}
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

betateilchen

Zitat von: manne44 am 23 Juli 2025, 14:06:50Ich würde diese Dimensionsangabe dazu verwenden, um sofort zu sehen, ob es sich bei einem Energiewert z.B. um kWh oder Wh usw handelt.

Im Normalfall holt sich doch niemand einzelne Datensätze direkt aus der Datenbank...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!