neues modul: 33_readingsHistory: fifo liste zur anzeige von events/readings

Begonnen von justme1968, 18 Mai 2014, 22:49:42

Vorheriges Thema - Nächstes Thema

justme1968

ab morgen gibt es das aus diesem thread http://forum.fhem.de/index.php/topic,23148.msg165046.html#msg165046 entstande modul readingsHistory.

damit lässt sich eine mit timestamps versehene liste von readings/events im fhemweb darstellen. neue zeilen werden am anfang eingefügt, alle zeilen größer als die konfigurierte anzahl fallen am ende weg.

es lassen sich entweder direkt die events ein oder mehrerer devices darstellen, das ganze kann ähnlich wie readingsGroup mit mapping und valueFormat aufbereitet werden oder es lassen sich mit 'set <device> add ...' eigene zeilen einfügen.

das update im web frontend erfolgt per longpoll. es werden hierbei jeweils nur die neu hinzugekommen zeilen übertragen und das auch nur wenn tatsächlich ein browser fenster mit dem history device offen ist.

die history wird bei 'save' automatisch mit gespeichert und beim neustart wieder geladen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

und wie kriege ich da eine Liste raus, deren Inhalt (die letzten Readings) ich selbst weiterverarbeiten kann?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

die eingecheckte version ist nur zum anzeigen.

eine schnittstelle für ein get baue ich gerade. eventuell auch ein mini api.

ich wollte aber erst das interne format dafür noch ändern damit man auf timestamp und wert zugreifen kann und nicht nur die zeile als string bekommt.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

danke, das heißt, im Moment kann ich auf meinen Datenverschieber noch nicht verzichten.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

erzähl doch  mal was der genau macht. vielleicht passt es ja zum modul.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

das steht in dem von Dir verlinkten Thema und war irgendwie mit der Auslöser für Deine Modulentwicklung...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

svenson08

Kann es sein das timestampFormat über die set add Möglichkeit nicht unterstützt wird?

justme1968

ja. das habe ich gestern auch bemerkt. das muss ich noch reparieren.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

svenson08

Klasse, entweder ich teste es heute Abend und nehm die Version aus dem SVN oder ich wart bis morgen

justme1968

in der aktuellen version gibt es ein 'get <device> history' damit lässt sich die history auflisten.

das format der zeilen ist zur zeit das hier:<timestamp>\t<device>\t<reading>\t<angezeigte zeile>

je nach verwendendungszweck ist ein get das nur eine bestimmte zeile zurück liefert bzw. ein direkter zugriff auf die interne liste aber besser wenn man das ganze weiter verarbeiten will. beides kommt noch.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen


  • Es heisst :noArg nicht :noArgs
  • Wieso steht eigentlich nirgends, dass das ganze Modul nicht nutzbar ist, wenn der Anwender mit configDB arbeitet? (Zumindest hat das Modul bei mir NULL Effekt)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

1. ist repariert

2. es gibt nichts im modul das verhindert das es mit configDB funktioniert. und config db sollte nichts am event handling ändern.

was versuchte du zu tun?

ps: das was tatsächlich noch nicht geht ist das save file in die configDB zu schreiben. das kommt demnächst für alle meine module wenn ich auf die generischen read/write funktionen umgestellt habe.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

Achtung: die generischen read/write Funktionen beziehen sich nicht auf fhem-Konfigurationsdaten, also nicht auf das, was in fhem.cfg und fhem.save steht. Und bei configDB gibt es kein $attr{global}{statefile} mehr.

Was ich versuche? Ich will die letzten acht Meldungen vom Türkontakt meiner Wohnungstür in einer Liste sehen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

ZitatUnd bei configDB gibt es kein $attr{global}{statefile} mehr
das ist erst mal schlecht. ich verwende $attr{global}{statefile} um rauszufinden wo ich mein eigenes file hin schreiben kann. das heisst so lange ich nicht umgestellt habe wird die history beim save nicht persistent gespeichert.

die events kommen ja doch an...

das format ist nicht unvernünftig. es ist sogar dokumentiert. aber es ist nicht unbedingt zum automatischen weiter verarbeiten gedacht.

mach einen vorschlag was dir passen würde.

ich vermute mal dir gefällt der html teil nicht? die links kannst du mit nolinks abschalten. die &nbsp in der nächsten version mit nohtml.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968