Plot wird nur wenn Datenpunke vorhanden aktualisiert

Begonnen von Tubie1977, 22 Dezember 2024, 18:58:10

Vorheriges Thema - Nächstes Thema

Tubie1977

Hallo,
es ist mal wieder Weihnachten und ich habe ein klein wenig Zeit gefunden, wieder etwas mit FHEM zu arbeiten. ;)

Ich habe mich nun mal den Logs und den Plots zugewandt. Ich möchte die alten FHT80 und die Fritz301 Heizungsregler in ein Log und dann ein Plot daraus schreiben.

Funktioniert auch alles soweit ganz gut. Der der Log der "readings" wird in MariaDB geschrieben. Im Plot Editor kann ich dann die einzelnen Werte der DB zurück lesen. Nun werden die Linien nicht nach Zeit gezeichnet, sondern nach Datenpunkten. Wird die "Desired-Temperature" morgens geändert, habe ich erst wieder eine vollständige Linie, wenn diese abends geändert wird. Die Linien werden also erst gezeichnet, wenn ein neuer Datenpunkt vorhanden ist.

Frage: Gibt es eine Möglichkeit das umzustellen? Wenn es schon 21:00 Uhr ist, und seit 6:00 keine Änderung vorgenommen wurde, müsste doch irgendwie eine durchgehende Linie im Plot Möglich sein.

Schonmal vielen Dank für eure Antwort!

Viele Grüße,
Horst       

betateilchen

Viele Möglichkeiten.
Grundsätzlich musst Du dafür sorgen, dass es genügend Datenpunkte gibt.
Die beiden erfolgversprechendsten Änderungen dürften diese sein:

  • Entferne die event-on-irgendwas Attribute in Deinen Heizungsreglern
  • sorge mittels addlog dafür, dass mehr Datenpunkte in die Datenbank geschrieben werden

Und nächstes Mal bitte im richtigen Unterforum fragen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Tubie1977

Hallo,
schonmal vielen Dank für die Antwort mit dem "addlog". Ich habe jetzt im wiki den folgenden Ansatz gefunden:

define addLog notify addLog {addLog("ez_Aussensensor","state");;\
    addLog("ez_FHT","actuator");;\
    addLog("ez_FHT","measured-temp");;\
    addLog("MunichWeather","humidity");;\
    addLog("MunichWeather","pressure");;\
    addLog("MunichWeather","temperature");;\
    addLog("MunichWeather","wind_chill");;}
attr addLog room 99_System


und:
define a_midnight1 at *23:59 trigger addLog
attr a_midnight1 room 99_System

Vermute mal das hinter trigger das addLog auf das define addLog des ersten Programms bezogen ist. Wenn ich nun den Log alle 2 Stunden wollte, müsste das dann so aussehen???

define a_twohour at +*02:00 trigger addLog
attr a_twohour room 99_System


Warum ich das im Anfänger Forum geschrieben habe - Ich habe keinen, aber auch nicht den geringsten Plan, wo ich das eingeben bzw. in welche Datei das kommen soll???


Horst




DS_Starter

Hallo Horst,

ZitatIch habe jetzt im wiki den folgenden Ansatz gefunden:
...

Warum nicht einfach das in DbLog eingebaute "set <name> addLog ..." verwenden?
(siehe die DbLog Hilfe zu diesem Kommando)

Mit einem at-Device kann man mit diesem Befehl zu definierten Zeitpunkten Daten in die DB schreiben lassen.
Andere Trigger gehen natürlich ebenso.

LG

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

Tubie1977

Hallo Guten Morgen und vielen Dank für eure Antworten!

define test at +*00:01 set myLogDB addLog Wohnzimmer_FHT80:desired-temp

ist die Lösung des Problems. :)  Jetzt wird jede Minute ein Log geschrieben. Muss dann noch auf 2h und 23:59 und 00:01 ergänzt werden. Dafür werde ich einzelne at's anlegen. Die FHT80 Thermostate werden sicherlich irgendwann ersetzt und dann fällt das auch weg...

Ich habe mal gesagt, wenn die kaputt gehen werden die durch was modernes ersetzt. Mittlerweile ist schon ein Fritz DECT301 ausgefallen, die FHT80 leben komischerweise immer noch und sind schon um die 20 Jahre alt.

Viele Grüße und euch allen eine frohe Weihnachten! 

Horst


P.S. Bitte seht es mir nach. Ich bin mit der Syntax von FHEM/PERL noch immer auf Kriegsfuß.  :-\