[DbLog/DbRep] wie finde ich den ersten Wert der Woche?

Begonnen von betateilchen, 09 Februar 2026, 11:48:15

Vorheriges Thema - Nächstes Thema

betateilchen

Moin,

wahrscheinlich sehe ich mal wieder den Wald vor lauter Bäumen nicht...
Wie bekomme ich aus DbLog den ersten Wert der Woche für eine bestimmte device/reading Kombination?

DbRep kennt current_week_begin, das kennt aber DbLog nicht.

Was ich weiß: der erste Wert wird innerhalb der ersten 11 Minuten der Woche aufgezeichnet. Theoretisch um 00:00:xx spätestens aber 10 Minuten später.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DS_Starter

Hallo betateilchen,

Ein passendes Statement für MariaDB wäre zum Beispiel:

SELECT `VALUE` FROM `history` WHERE `device` = 'SMA_Energymeter' AND `reading` = 'Bezug_WirkP_Kosten_Diff' AND YEARWEEK(`TIMESTAMP`, 1) = YEARWEEK(CURDATE(), 1) ORDER BY `TIMESTAMP` ASC LIMIT 1;

Das kannst du absetzen in:

set ... userCommand ...

Das Ergebnis liegt dann im Reading userCommandResult.

VG,
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

betateilchen

Moin Heiko,

danke, die Verwendung von userCommand wäre auch mein letzter Ausweg gewesen :)
Meine Hoffnung war, dass es irgendein Bordmittel gibt, mit dem man das vereinfacht handhaben könnte.

Da es das aber offenbar nicht gibt, werde ich auf userCommand ausweichen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DS_Starter

Moin betateilchen,

ach jetzt ist der Groschen gefallen.  ;)

Du meinst wahrscheinlich eine Variante wie die vorhandenen Getter, z.B.:

get <name> ReadingsVal[Timestamp] <Device> <Reading> <default>

Also z.B. so etwas?

get <name> ReadingsValBeginweek[20] <Device> <Reading> <default>

Da kann ich ja mal darüber nachdenken wenn es das ist was dir vorschwebt.
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: DS_Starter am 10 Februar 2026, 09:18:57Da kann ich ja mal darüber nachdenken wenn es das ist was dir vorschwebt.

Brauchst Du nicht extra wegen mir machen, offenbar ist mein Anliegen sehr speziell :)

ZitatThe execution of SQL commands in DbLog is deprecated. The DbRep evaluation module should be used for this purpose.

Solange die userCommands in DbLog nicht wirklich ausgebaut werden, ist das für mich durchaus ein gangbarer Weg.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DS_Starter

ZitatSolange die userCommands in DbLog nicht wirklich ausgebaut werden, ist das für mich durchaus ein gangbarer Weg.
Habe ich nicht vor.
Der User soll nur darauf hingewiesen werden, dass userCommands in seiner Funktionalität nicht weiterentwickelt wird und man mit weitergehenden Ansprüchen auf DbRep zurückgreifen sollte. 
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