Anzeige der letzten Schaltevents in FHEMWEB

Begonnen von bads, 02 Mai 2014, 15:37:42

Vorheriges Thema - Nächstes Thema

justme1968

wenn ich mir das ganze so anschaue könnte man dem ganzen vielleicht ein get verpassen um an die history zu kommen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

der-Lolo

Hallo Andre,
ich habe das readingsHistory Modul gerade mal eingebaut - erstmal nur mit meinem Handy in der DEF
Wenn ich nun Bluetooth abschalte bekomme ich
Zitat09:49:05  z1compact absent

undefined
undefined
undefined
undefined
undefined
undefined

bei ersten versuch war es noch
Zitat09:49:05  z1compact absent

undefined
undefined

scheint so als ob die undefined Einträge hochzählen - was ist denn überhaupt mit undefined gemeint?

Ausserdem fällt mir auf das - wenn ich den Raum verlasse und wieder öffne die Liste leer ist...
Das erklärtest du ja bereits, wenn ich alles richtig verstanden habe.
So erfüllt readingsHistory allerdings nicht ganz das was ich mir vorstellte. Ich hätte ja gerne eine Anzeige von ausgewählten durchgeführten Events im "lesbarem" Text gehabt.
z1compact absent ist ja zwar schon eine aussage, wenn es aber wirklich nutzbar sein soll im sinne wie ich es mir vorstelle müsste man auf die Ausgabe Einfluss nehmen können.
z1compact absent = Michael ist gegangen
wäre eben auch für die Dame des Hauses lesbar - und somit ein Hinweis darauf was innerhalb der Automatisierung geschaltet wurde.

erklärst Du mir bitte ausserdem nochmal die definitions Möglichkeiten?
define Events readingsHistory z1compact:state have ich nun.
wäre dann [<device>:<readings> [...]] die Möglichkeit weitere Geräte hinzuzufügen? und am Ende dann soviele ]]]] wie zusätzliche Definitionen?

fhainz

#32
Hallo!

Zitat von: justme1968 am 03 Mai 2014, 22:53:45
die regexp gehen nur für device und reading namen. nicht für reading werte.

der code ist noch aus der readingsGroup. für die history könnte man das ändern. aber nur wenn du mir sehr gut erklärst warum du on haben willst und off nicht...
Ich wollte nur mal durchprobieren was alles geht, derzeit fällt mir dazu auch kein Anwendungsbereich ein.

Einen Fehler hab ich noch:
- Die History wird beim Seiten-aktualisieren gelöscht, wenn die Liste noch nicht vollständig ist.

Und noch 2 Ideen  ::)
- Ein Attribut um auch den Tag + Jahr einzublenden zB 04. Mai 2014 - 10:03:56
- Ein Attribut um nach x Sekunden automatisch zu speichern (Keine Ahnung wie performance intensiv das speichern ist) Idee dahinter: Wenn FHEM unter Tags irgendwann mal abstürzen sollte (Stromausfall), dann sind alle Logs seit dem letzten Save weg.

Grüße

fhainz

Zitat von: der-Lolo am 04 Mai 2014, 10:03:08
wäre dann [<device>:<readings> [...]] die Möglichkeit weitere Geräte hinzuzufügen? und am Ende dann soviele ]]]] wie zusätzliche Definitionen?
Ja.
Ich hab zB zum Testen wzDeckenfluter:state wzTV:state wzSonosS5:state Wohnzimmer:state
wz.*:state geht zB auch.

Grüße

justme1968

die undefined zeilen sind 'leere' history einträge. ich have vergessen die leer zu machen. die sollten sich aber nach und nach füllen.

wenn du einen raum verlässt und wieder öffnest sollte die liste nicht leer sein sondern die liste sollte im hintergrund weiter gefüllt werden und du siehst immer den aktuellen stand. das schaue ich mir an.

dazu musst du die devices und events mappen. das geht wie bei readingsGroup aber zur zeit nur für device namen. das einfachste ist deinem device einen alias zu geben. also z.b. 'Michael'. ansonsten schau dir mal mapping in der commendref von readingsGroup an. das mappen des kompletten events kommt noch.

du kannst einfach mehrere device:readings parameter aneinander hängen. beides können regex sein. device kann z.b. auch etwas wie 'TYPE=presence' sein. die eckigen klammern bedeuten optionale parameter. die werden in der definition nicht mit geschrieben.

das formatieren der zeit per attribut kommt noch.

automatisch speichern kannst du über ein einfaches at das save aufruft. dann hast du nicht nur die history sondern alles richtig gespeichert. jede stunde zum beispiel.

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

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

der-Lolo

#35
Zitat von: fhainz am 04 Mai 2014, 10:09:46

Einen Fehler hab ich noch:
- Die History wird beim Seiten-aktualisieren gelöscht, wenn die Liste noch nicht vollständig ist.


Ist wahrscheinlich das gleiche wie ich meine mit "raumwechsel"
bzgl. undefined - OK, klar - ich habe rows auf 8 gesetzt mein Fehler also..


EDIT: tatsächlich wenn die Liste einmal vollständig gefüllt war - also kein undefined mehr auftaucht wird sie auch gespeichert. Und ist nach einem raumwechsel noch mit all ihren eintragen vorhanden.

justme1968

ich hab das problem gefunden und die beiden files oben im post aktualisiert.

die liste sollte nicht mehr leer sein auch wenn sie nicht vollständig gefüllt war. beim neustart wird ein mal die reihenfolge der alten events falsch sein. das ist erledigt wenn die alten zeilen raus gescrollt sind.

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

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

fhainz

Funktioniert jetzt danke!

Ein seltsames verhalten hab ich da noch. Ich schalte eine IT-Steckdose mit einem notify das von einer FS20 TC8 getriggert wird. Die on/off Events kommen immer 2x aber nur an der ersten position der Liste.
Ich hab ein video gemacht, kann es schlecht beschreiben.

Grüße

fhainz

Zitat von: justme1968 am 03 Mai 2014, 22:53:45der code ist noch aus der readingsGroup. für die history könnte man das ändern. aber nur wenn du mir sehr gut erklärst warum du on haben willst und off nicht...
Zitat von: fhainz am 04 Mai 2014, 10:09:46
Ich wollte nur mal durchprobieren was alles geht, derzeit fällt mir dazu auch kein Anwendungsbereich ein.

Ich logge via hourcounter die Anzahl der Kaffee's pro Tag. Der trigger für hourcounter ist ein reading doKaffee das entweder 1 oder 0 ist. Wenn der Brühvorgang (> 1000 W) startet wird doKaffee auf 1 gesetzt und wenn die SD wieder 0W hat dann wird entsprechend eine 0 gesetzt. Ich weiß, notwenig oder wichtig ist das ganze überhaupt nicht, aber ich will meinen Kaffee Konsum ein wenig einschränken und so hab ich den überblick ;)

Wenn ich das nun in der History abbilden will (zB Kaffee Brühvorgang gestartet) dann brauch ich die 0 nicht. Kaffee Brühvorgang beendet muss/soll ja nicht unbedingt in die History.

Keine Ahnung wieviel Arbeit das sein würde das Modul auf value zu erweitern bzw. wieviel Arbeit du da überhaupt reinstecken willst. Meine Ideen sollen auf keinen Fall unverschämt klingen, bin mit dem derzeitigen Stand schon sehr glücklich und froh das du dir überhaupt die Mühe machst! :)

Grüße

der-Lolo

#39
lol

doKaffee! sehr geil...

Ich bin auch schon sehr begeistert, genau so etwas hatte ich mir vorgestellt...
Wie ich schon sagte - wenn nun noch ein Frauen lesbarer Text aus den Events wird ist die Begeisterung riesig.

justme1968

es gab noch einen kleinen fehler beim zählen der zeilen. die reparierte version hab ich wieder oben angehängt.

ich kann das mit den doppelten zeilen aber nicht reproduzieren. sehr seltsam. welcher browser ist das? was genau siehst du im event monitor? passiert es auch bei einem ganz neu angelegten device?

die neue version oben hat jetzt ein 'set <device> add ...' um eine zeile von hand hinzuzufügen und ein 'set <device> clear' um die history zu löschen. du musst beide files austauschen.

das mit dem kaffe würde ich anders lösen :) entweder würde ich ein (user) reading letzterKaffe verwenden das immer den richtigen timestamp hat (so wie motion beim bewegungsmelder) oder ich würde wenn tigger ein 'virtuelles' reading erzeugen und das in die history stecken.

aber ich schaue mal ob ich das valueFormat aus der readingsGroup übernehme. dann kann man zum einen den value frei formatieren und auch undef zurück geben wenn ein wert ignoriert werden soll.

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

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

fhainz

#41
Zitat von: justme1968 am 04 Mai 2014, 13:06:41
ich kann das mit den doppelten zeilen aber nicht reproduzieren. sehr seltsam. welcher browser ist das? was genau siehst du im event monitor? passiert es auch bei einem ganz neu angelegten device?
mit der neuen version funktioniert's!  ;D

Zitat von: justme1968 am 04 Mai 2014, 13:06:41
aber ich schaue mal ob ich das valueFormat aus der readingsGroup übernehme. dann kann man zum einen den value frei formatieren und auch undef zurück geben wenn ein wert ignoriert werden soll.
Das wär super! :)

Grüße

der-Lolo

set Events add its genau das was ich haben wollte...
Du bist ein Held Andre! 1000 Dank!

fhainz

Zitat von: justme1968 am 04 Mai 2014, 13:06:41ich kann das mit den doppelten zeilen aber nicht reproduzieren. sehr seltsam. welcher browser ist das? was genau siehst du im event monitor? passiert es auch bei einem ganz neu angelegten device?
Es funktioniert nur wenn die detail Übersicht offen ist. Wenn ich die Raumansicht offen hab klappts nicht.

Browser: Safari, FireFox OS X
Zitat von: EventMonitor2014-05-04 13:27:38.968 readingsHistory testHistory history: 13:27:38&nbsp;&nbsp;<a href="/fhem?detail=wzSonosS5">Sonos S5</a> on
2014-05-04 13:27:38.969 IT wzSonosS5 on
2014-05-04 13:27:38.969 FS20 wzT2T3 toggle
Hab das device neu angelegt, das selbe.

Mit dem mapping scheint auch noch etwas nicht zu passen. Ich bekomme in jeder history den Alias angezeigt obwohl kein mapping gesetzt ist. Hatte vorher mal ein mapping %ALIAS aber das hab ich wieder gelöscht.

Grüße

justme1968

Hmm. es sollte unabhängig von raum oder detail sein. ich habe auch safari. schaue nachher noch mal.

der alias ist der default. wie bei readingsGroup auch. wenn du das device môchtest musst du %DEVICE setzen.

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

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